Отчеты о целевых атаках (APT)

Ловля на живца

В ходе расследования деятельности группы Winnti нам удалось обнаружить достаточно много самплов Winnti, нацеленных на различные игровые компании. Используя эту сложную вредоносную программу, злоумышленники получали удаленный доступ к зараженным машинам, после чего действовали уже вручную.

Нам, конечно же, было важно узнать, каким образом вредоносная библиотека распространялась по локальной сети. Для этого мы последили за тем, что делают злоумышленники на зараженном компьютере.

Первая попытка: виртуальная машина 1

На раннем этапе исследования мы запускали вредоносные программы на виртуальной машине, и они нормально работали. Мы даже зафиксировали кое-какую активность со стороны злоумышленников. Но они быстро поняли, что это не тот компьютер, который они хотели бы поймать в свои сети, поэтому серверы злоумышленников перестали отвечать на запросы ботов с виртуальной машины.

Вот, что нам удалось узнать на этом этапе мониторинга.

Сначала, злоумышленники посмотрели, что происходит на рабочем столе жертвы. Потом, используя командную строку, атакующие вышли в корневой каталог текущего диска, просмотрели содержимое, поискали файл winmm.dll, уточнили версию операционной системы. После этого включился в работу плагин ListFileManager.dll, с помощью которого удобно просматривать содержимое каталогов, и анализу подверглись папки C:Windows и C:Work. Далее злоумышленники хотели перезагрузить компьютер (он должен был бы перезагрузиться через 1 секунду), но ошиблись в параметрах команды shutdown, введя ‘shutdown /t /r 1’. Через некоторое время они уже в правильном формате вообще выключили компьютер командой ‘shutdown /s /t 1’.

Порядок действий злоумышленников:

(обозначения:
— модуль командной строки CmdPlus.dll,

207764564 — работа с файловой системой ListFileManager.dll, TransPlus.dll)

207764565

После ‘поднятия’ виртуальной машины, злоумышленники загрузили вспомогательную программу, которая называлась ff._exe_, в каталог Config.Msi.

(ff._exe_, MD5: 0xd2d6115a337cf4f40402d15cb9ece2ea, вердикт: Trojan.Win32.KillWin.sp)

Эта программа ищет на жестком диске документы распространенных форматов:

  • документы HTML (.htm, .html)
  • таблицы MS Excel (.xls, .xlsx)
  • презентации PowerPoint (.ppt)
  • текстовые файлы (.txt)
  • документы MS Word (.doc, .docx)
  • файлы контекстной справки HTMLHelp (.chm)
  • документы MS Works (.wps)
  • документы Adobe (.pdf)

Помимо этого, в ff._exe_ заложен деструктивный функционал: если программе не удается определить файловую систему как FAT или NTFS, то она ‘забивает’ жесткий диск нулями. Несмотря на то, что на виртуальной машине, на которой проводилось наблюдение, была файловая система NTFS, программа ff._exe_ не распознала ее и сразу инициализировала зачистку жесткого диска. Судя по всему, злоумышленники знали, что программа может так ошибаться, и захотели предотвратить крах системы преждевременным завершением программы, но не успели. В результате жесткий диск виртуальной машины был все-таки настолько забит нулями, что система ‘умерла’.

Порядок действий злоумышленников:

207764566

После этого ‘откатывать’ виртуальную машину к сохраненному состоянию и вновь ее заражать было опасно — это вызвало бы серьезные подозрения у злоумышленников. Они бы удивились, что через 10 минут после очистки жесткого диска бот опять заработал в системе с такой же конфигурацией. Пришлось использовать другую систему и, на всякий случай, другой вариант бота.

Вторая попытка: виртуальная машина 2

Через какое-то время после запуска бота злоумышленники ‘зашли’ на зараженный ‘компьютер’. Они загрузили 3 файла — wm.bat, ctime.exe и wm3280.dll — и запустили wm.bat.

Пакетный файл wm.bat:

  • копировал обновленную версию вредоносной библиотеки wm3280.dll в каталог c:windows под именем winmm.dll;
  • с помощью программы ctime.exe устанавливал временные атрибуты только что скопированного файла (время создания, модификации, доступа) — такие же, как и у системной библиотеки c:windowstwain.dll;
  • устанавливал файлу вредоносной библиотеки атрибуты ‘скрытый’, ‘системный’, ‘только чтение’.

Далее была подгружена и запущена вспомогательная программа ec.exe.

(ec.exe, MD5: 0x14c112794ca492b7a82fa11f94b5b8b3, вердикт: Trojan-PSW.Win32.Certif.a)

Эта программа ищет в системе установленные сертификаты, содержащие приватный ключ, и, если таковые найдены, то сохраняет эти сертификаты файлами на диск. После запуска этой программы злоумышленники посмотрели командой dir, не появились ли сертификаты. Поскольку в зараженной виртуальной операционной системе таких установленных сертификатов не было, они их и не нашли, после чего удалили программу ec.exe.

Вручную пробежались по каталогам диска C:, наткнулись на созданный мной каталог Sign, куда я подложил сертификат, которым была подписана некая программа. Злоумышленников, конечно же, заинтересовало название каталога (Sign — ‘Подпись’) и файл с расширением ‘.cer’. Этот файл атакующие скопировали себе.

После кражи сертификата атакующие посмотрели командой net view, какие компьютеры присутствуют в сетевом окружении, и вывели листинг всех установленных сетевых соединений командой netstat -an.

207764567
207764568

На этом интерес злоумышленников к моей виртуальной машине был исчерпан. Вероятно, проанализировав полученные данные, они поняли, что это ‘подставная’ система, потому что сервер управления перестал принимать от нее сетевые соединения.

Порядок действий злоумышленников:

207764569

wm.bat:

207764570

Дальше испытывать судьбу с виртуальными машинами было опасно — это могло бы спугнуть атакующих. Поэтому было решено проводить наблюдение в условиях, приближенных к реальным.

Третья попытка: ловушка ‘Марта’

Я организовал локальную сеть якобы департамента некой игровой компании. По легенде в этой сети компьютер некой Марты, которая работала в отделе, занимающемся компиляцией ресурсов компьютерных игр, заразился ботом Winnti.

Чтобы все выглядело правдоподобно, в почтовом ящике Марты должна была существовать корпоративная переписка. Корреспондентами Марты стали руководитель, администратор, менеджеры-инженеры. Однако, чтобы придумать деловые письма, необходимо время, и сымитировать в разумные сроки достаточно длительную переписку не представлялось возможным. Именно поэтому Марту пришлось сделать новым сотрудником компании: она якобы работала в компании всего неделю.

Как я уже говорил, злоумышленники исследовали зараженные компьютеры вручную. Нам пришлось подождать несколько дней, прежде чем по сетевому трафику мы заметили, что кто-то орудует на зараженной машине. Нашей основной задачей было выяснить, каким же образом злоумышленники попытаются заразить компьютеры других сотрудников компании. Мы предполагали, что атакующие от имени сотрудника отошлют с зараженного компьютера электронные письма с вредоносной ‘начинкой’. Однако злоумышленники пытались использовать другие методы проникновения — пробовали получить доступ к файловой системе удаленных компьютеров от имени зараженного пользователя.

Дважды злоумышленники активно исследовали зараженный компьютер и его окружение. После этого, если они и ‘заходили’ на зараженный компьютер, то ничего значимого не происходило.

Заход первый

В первый раз злоумышленники только прощупывали почву. Понаблюдали, что происходит на рабочем столе зараженного компьютера:

[youtube https://www.youtube.com/watch?v=I_4aUfEI0_4?rel=0&w=600&h=450]

После этого осторожно начали получать полезные данные с компьютера. Просмотрели некоторые каталоги (заблаговременно созданные, чтобы имитировать рабочую деятельность нашей воображаемой героини):

D:WorkFasmatgui
C:UsersMarta FrDesktop
F:!Far
D:Exchange-MartaFor Magnus
D:WorkFasmatmenu
D:WorkFasmattex

Командой net use посмотрели, к каким сетевым ресурсам подключен компьютер. Увидели, что имеется один подключенный сетевой диск:

207764571

Попытались получить доступ к диску C: удаленного компьютера командой dir, на что получили отказ:

207764572

Командой net view увидели другие компьютеры в сети:

207764573

Попробовали получить доступ к файловой системе одного из компьютеров — не удалось:

207764574

Командой net user посмотрели, какие пользователи зарегистрированы на зараженном компьютере:

207764575

Здесь, видимо, злоумышленники решили обдумать, как им действовать дальше, потому что они прекратили исследование и продолжили его только через несколько часов.

Порядок действий злоумышленников:

207764576

Заход второй

‘Зайдя’ на зараженную машину второй раз, атакующие сразу же проверили командой net use, не появилось ли за время их отсутствия новых подключений к сетевым ресурсам. Ничего нового они не увидели.

Злоумышленники поискали свою вредоносную библиотеку:

207764577

Изучили содержание каталога документов текущего пользователя:

207764578

Заинтересовались файлом Default.rdp:

207764579

Зачем-то сняли атрибуты ‘скрытый’, ‘системный’, ‘только чтение’ у своей вредоносной библиотеки (напомню, что когда злоумышленники заходили на виртуальную машину, в файле wm.bat эти же атрибуты они, наоборот, устанавливали):

207764580

Загрузили на зараженную машину программу ‘Network Password Recovery’ от разработчика Нира Софера (Nir Sofer). Эта программа находит в системе сохраненные пароли от:

  • учетных записей удаленных компьютеров в локальной сети.
  • учетных записей электронной почты (сохраняемые программой Outlook 2003)
  • учетных записей сервисов MSN Messenger / Windows Messenger
  • учетных записей, сохраняемых браузером Internet Explorer версий 7.x и 8.x
  • учетных записей службы Remote Desktop 6 (удаленный рабочий стол).

В трафике проявился путь, по которому программа netpass.exe хранилась в системе злоумышленников: Z:dllpassnetpass.exe.

Запустили эту программу с ключом ‘/stext a.txt’, что означает — сохранять найденные пароли в файл с именем a.txt.

После запуска программы в каталоге появился файл a.txt, который и просмотрели злоумышленники:

207764581

Якобы для обмена файлами у пользователей в локальной сети были открыты папки для Марты. К компьютерам пользователей Jonas-448 и KARL-SCH Марта уже подсоединялась и, естественно, сохранила логины и пароли для доступа к открытым для нее каталогам. Теперь эти данные узнали и злоумышленники, чем они тут же воспользовались. Попробовали под учетной записью Марты получить доступ к диску C: компьютера Карла — не получилось:

207764582

Проверили, в сети ли Карл — Карл на месте:

207764583

Попробовали изменить входные данные для команды net use — все равно получили отказ:

207764584

После этого, злоумышленники, вероятно, отчаялись, удалили все файлы, которые создавались в результате их манипуляций, и больше не предпринимали каких-либо серьезных исследований.

Результаты наблюдений

По результатам наблюдений за действиями злоумышленников мы можем предположить, что члены группы Winnti стараются не утруждать себя тяжелой работой, а предпочитают по возможности легкие мишени. Это же было замечено, когда группа Winnti пыталась повторно проникнуть в корпоративную сеть одной игровой компании. Нельзя сказать, что методы атаки были сложными, но атакующие могли бы добиться успеха, если бы компания не была готова к повторной атаке. Однако мы ее ждали, и атака провалилась. Как только это стало понятно, злоумышленники просто на время прекратили атаковать эту компанию и, вероятно, переключились на другую, более легкую цель.

Судя по всему, группа Winnti не считает рациональным тратить время на заражение и исследование непростых целей, когда в мире достаточно компаний, проникновение в сети которых принесет выгоду при затрате меньших усилий. Учитывая количество игровых компаний, уже зараженных Winnti, можно предположить, что такая тактика пока себя оправдывает.

Ловля на живца

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике