Киберпреступная группа Sednit, которая также известна как Sofacy, APT28 или «Fancy Bear» специализируется в проведении атак на различные организации в течение многих лет. Недавно мы обнаружили, что эта группа начала специализироваться на атаках защищенных, изолированных от Интернет сетей типа air-gapped. Для этого используется специальная вредоносная программа, с помощью которой осуществляется похищение конфиденциальных данных компьютеров в скомпрометированной сети.
Ранее мы писали про преступную активность этой группы, которая использовала собственный набор эксплойтов для компрометации легитимных веб-сайтов и последующего заражения пользователей вредоносными программами. Об активности этой группы также сообщали FireEye в своем отчете, посвященном группе APT28, а также Trend Micro в отчете Operation Pawn Storm. В этом материале мы остановимся на новой области атак этой группы, которая использует вредоносную программу Win32/USBStealer для похищения конфиденциальных данных компьютеров сетей, изолированных от Интернет.
Данные наших исследований показывают, что группа Sednit использует вредоносное ПО Win32/USBStealer как минимум с 2005 года. Целями таких атак становятся различные правительственные организации в Восточной Европе. Несколько версий этой вредоносной программы были использованы в атаках различной степени сложности.
Одной из мер безопасности, которая может использоваться службой безопасности предприятия, чтобы исключить утечку конфиденциальных данных компьютеров, подключенных к корпоративной сети, является ее изоляция техническими средствами от сети Интернет. Однако, использование съемных носителей, может оказаться отправной точкой для утечки таких данных. При этом предполагается, что какой-то сотрудник предприятия может переносить корпоративные данные на USB-накопителе, причем они будут копироваться на компьютер, который имеет доступ во всемирную сеть.
Этот сценарий и используется группой Sednit при эксплуатации Win32/USBStealer. При этом схема получения конфиденциальных данных с помощью вредоносной программы будет многоступенчатой и состоит из пяти этапов.
Этап 1
На первом этапе злоумышленники компрометируют компьютер, который имеет доступ в Интернет (например, домашний компьютер работника). Назовем его «Компьютер А». В процессе компрометации Компьютер А заражается дроппером вредоносной программы, которая обнаруживается нами как Win32/USBStealer.D. Исполняемый файл этого дроппера называется USBSRService.exe, а его поддельная секция ресурсов указывает на то, что этот файл является установщиком легитимной российской программы USB Disk Security.
Рис. Метаданные дроппера Win32/USBStealer.
Основная логика работы дроппера заключается в следующем:
- Отслеживает подключение к системе съемного накопителя через создание окна с функцией обратного вызова (callback), которая будет вызвана в случае возникновения такого события.
- Как только съемный накопитель будет вставлен в систему, дроппер расшифрует несколько элементов своей секции ресурсов исполняемого файла. Один из них представляет из себя другой исполняемый файл Win32/USBStealer, который копируется на съемный накопитель под именем USBGuard.exe. Второй элемент секции ресурсов представляет из себя файл AUTORUN.INF, содержимое которого представлено ниже.
- Файлы копируются в корень съемного накопителя и в случае разрешенной функции автозапуска будут исполнены как только накопитель будет вставлен в компьютер с разрешенным автозапуском, либо при двойном щелчке на значок накопителя (см. формат AUTORUN.INF ниже). Настройка «Автозагрузки» Windows была ликвидирована еще в 2009 г. обновлением KB971029. Однако, наши данные показывают, что злоумышленники начали использовать Win32/USBStealer четырьмя годами ранее, т. е. в 2005 г. Кроме этого, для компьютеров, которые функционируют в сетях типа air-gapped, достаточно распространенным явлением считается отсутствие необходимых там обновлений.
- На последнем шаге вредоносная программа копирует в корень диска пустой файл под названием destktop.in. Это служит сигналом для вредоносной программы, что этот накопитель уже был подключен к компьютеру, у которого есть доступ в Интернет.
Рис. Содержимое файла AUTORUN.
При записи файлов на съемный накопитель, дроппер модифицирует метаданные файлов, а именно, их временные метки «Последнего доступа» и «Последней записи» на те значения, которые соответствуют их аналогам у системных файлов Windows. Им присваиваются атрибуты системных и скрытых файлов. Таким образом, создается иллюзия некой «системности» вредоносных файлов. Также стоит отметить, что расшифрованные в памяти элементы секции ресурсов, обратно зашифровываются после выполнения операций записи файлов, что исключает их снятие из памяти какими-либо инструментами криминалистического анализа.
Этап 2
Когда зараженный USB-накопитель вставляется в компьютер изолированной от Интернет сети предприятия, Win32/USBStealer автоматически установит себя в систему. Это произойдет при включенной функции автозапуска на этом компьютере. Назовем этот компьютер, который работает в изолированной air-gapped сети, Компьютером B. Как только Win32/USBStealer получает управление, он перечисляет все диски, подключенные к системе на текущий момент, и, в зависимости, от типа диска использует различную схему своего поведения.
- Если обнаруженный диск является съемным и имеет маркировку в виде файла desktop.in, расположенного в корне диска (т. е. этот обнаруженный накопитель уже присутствовал в системе с возможностью подключения к Интернет), то вредоносная программа создает в корне этого диска директорию, где в качестве имени используется имя компьютера. Такая операция позволяет операторам различать компьютеры, в которые вставлялся зараженный накопитель. В последствии эти данные будут использованы при отправке данных на сервер злоумышленников, когда накопитель вернется на подключенный к Интернет Компьютер А.
- Если диск не является съемным, Win32/USBStealer выполняет специальную подготовку к процедуре последующей эксфильтрации (кражи) данных.
Смыслом этого последнего шага является группировка интересующих вредоносный код файлов в одну локальную директорию. Этот шаг можно назвать подготовительным к настоящей эксфильтрации данных. Она произойдет, как только тот же съемный накопитель будет еще раз вставлен в USB-порт Компьютера B. Ниже перечислены типы файлов, которые интересуют вредоносную программу.
- Файлы с расширениями «.skr», «.pkr» или «.key». Первые два относятся к файлам криптографического приложения PGP Desktop. Они хранят открытые и закрытые ключи шифрования. Третье расширение часто используется другими криптографическими инструментами для хранения аналогичных ключей.
- Файлы, чьи имена соответствуют списку приведенному ниже. Мы обнаружили два списка таких файлов, они указаны таблице ниже.
Начальный период использования рассчитан на основе даты компиляции исполняемых файлов, из которых были извлечены эти списки. Мы нашли очень мало ссылок на большинство из этих имен файлов в открытых источниках. Возможно потому, что они принадлежат программному обеспечению узкой специализации. Также интересно, что название Talgar (talgar.exe) совпадает с названием города Алматинской области на юго-востоке Казахстана.
Вредоносная программа ищет эти вышеперечисленные файлы повсюду на жестких дисках, кроме директорий, названия которых совпадают с названиями следующих антивирусных продуктов: Symantec, Norton, McAfee, ESET Smart Security, AVG9, Kaspersky Lab, Doctor Web.
Этап 3
Этот этап предполагает тот факт, что пользователь вставит зараженный USB-накопитель обратно в Компьютер А, после того как он уже побывал на изолированном Компьютере Б на втором этапе. На этом шаге компонент вредоносной программы на компьютере А отдает набор команд Win32/USBStealer, которые он должен выполнить на этапе 4. Для этого необходимые команды записываются в зашифрованный файл с именем COMPUTER_NAME.in в корне накопителя.
Этап 4
Предполагается, что на четвертом этапе тот же зараженный носитель опять попадет на Компьютер B. При этом там уже хранятся инструкции боту вредоносной программы, которые он должен выполнить. На этом этапе выбранные злоумышленниками файлы должны быть скопированы из директории, которая была сформирована на Компьютере Б на втором этапе (группировка файлов). После чего на финальном этапе они будут отправлены на удаленный сервер злоумышленников.
На этом этапе Win32/USBStealer расшифровывает командный файл (COMPUTER_NAME.in), который был сброшен в корень диска USB-накопителя на предыдущем этапе. В этом файле располагаются команды, которые бот должен выполнить последовательно. Команда идентифицируется двухбайтовым идентификатором, за которым следует аргумент команды.
Команды 0x0003 и 0x0005 оперируют специальным файлом, который вредоносная программа создает на локальном диске Компьютера B. Он содержит шаблоны информации о файлах в формате «Root = Path = Day». Каждый раз при загрузке Windows, Win32/USBStealer исполняет команду 0x0002 для файлов из этого списка.
Команда 0x0008 используется для обнаружения тех файлов, которые, возможно, будут интересны злоумышленникам. Мы можем предположить, что злоумышленники начинают атаку именно с этой команды, а затем используют команды 0x0002 и 0x0003 для сбора данных.
Для команд, которые выполняют операции копирования файлов на съемный носитель предусмотрен специальный резервный способ. В случае, если вредоносная программа не может скопировать файлы на носитель, например, он защищен от записи, файлы будут скопированы в специальную директорию на локальном диске. В дальнейшем, вредоносный код попытается их скопировать оттуда при подключении другого зараженного носителя.
Этап 5
На этом этапе зараженный USB-накопитель опять попадает на Компьютер A. При этом вредоносная программа передает скопированные с Компьютера Б файлы на удаленный сервер.
Заключение
Вредоносная программа Win32/USBStealer показывает конкретную нацеленность злоумышленников группы Sednit на корпоративных пользователей air-gapped сетей. Мы обратили внимание также на следующие интересные особенности:
- Операция осуществляется уже на протяжении почти 10 лет. Нами был обнаружен файл вредоносной программой с датой компиляции май 2005 г, как показано на скриншоте ниже. Дата компиляции файла также соотносится с версией компилятора, который использовался для компиляции файла в то время. Другие файлы вредоносной программы, которые были обнаружены, также имеют реалистичные даты компиляции, что позволяет нам говорить о том, что эти данные не являются поддельными.
- Очевидная направленность атаки. Как мы уже упоминали, имена и расширения файлов, которые используются для кражи, позволяют говорить об очевидной направленности этой атаки.
Рис. Дата компиляции вредоносного файла (Timestamp).
Некоторые вопросы до сих пор остаются открытыми. Например, каким конкретно способом, происходило первоначальное заражение вредоносной программой Компьютера А. Мы можем предположить, что для этого использовались фишинговые сообщения. Можно отметить, что упоминаемый нами в начале материала отчет FireEye об этой группе содержит информацию о кампании по рассылке фишинговых сообщений. При этом в сообщениях указывался следующий текст: «USB Disk Security is the best software to block threats that can damage your PC or compromise your personal information via USB storage.».
Автор: esetnod32