APT1: схема устойчивых вторжений

от автора

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

Природа атаки

APT1 имеет четко определенную методологию атаки, отточенную годами и ориентированную на кражу огромных объемов информации. Атака начинается с агрессивного фишинга, с помощью которого на компьютер жертвы доставляется вредоносный код, а заканчивается кражей данных, которые сжимаются и отправляются на серверы APT1. Этот цикл может быть повторен несколько раз. Семейства вредоносного кода, которые учавствовали в этих атаках, постоянно обновлялись и дорабатывались. APT1 использовали схему адаптации или таргетированности этих атак под конкретное окружение, что делало их довольно эффективными. Кроме того, непосредственно перед началом атаки производится так называемая первоначальная разведка, т. е. сбор сведений о потенциальной компании-жертве и ее сотрудниках. Это позволяет достичь определенного уровня таргетированности.

«Вам письмо»

Начальная компрометация представляет из себя метод, с помощью которого злоумышленники осуществляют первоначальное проникновение в сеть организации. Как и в большинстве других групп, APT1 использует фишинг как основной метод начальной компрометации. Отсылаемые письма содержат вредоносный файл во вложении, либо к нему ведет ссылка из текста сообщения. Тема письма, как и его текст обычно посылаются конкретному получателю. Почтовые аккаунты, с которых рассылались эти сообщения, были зарегистрированы на имена людей, которые были знакомы получателю, например: коллега, руководитель компании, сотрудник IT-отдела. В качестве реального примера, ниже приводится одно из таких писем, адресованного сотруднику Mandiant.


Рис. Фишинговое письмо, отправленное APT1 (Kevin Mandia — CEO Mandiant).

Очевидный подвох здесь заключается в том, что [at]rocketmail[dot]com не является внутрикорпоративным аккаунтом Кевина в Mandiant и вместо этого используется бесплатный сервис rocketmail[dot]com. Слово «here» содержит гиперссылку, пройдя по которой можно скачать архив Internal_Discussion_Press_Release_In_Next_Week8.zip. Этот архив содержит вредоносный исполняемый файл, который устанавливает бэкдор на компьютер (в данном случае WEBC2-TABLE). [Mandiant использует свои схемы именования семейств вредоносного ПО]. Еще несколько имен таких архивов представлены ниже:

2012ChinaUSAviationSymposium.zip
Employee-Benefit-and-Overhead-Adjustment-Keys.zip
MARKET-COMMENT-Europe-Ends-Sharply-Lower-On-Data-Yields-Jump.zip
Negative_Reports_Of_Turkey.zip

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

Получение доступа

Этап получения доступа включает в себя действия, которые предпринимаются APT1, чтобы обеспечить себе доступ к сети организации извне. APT1 получает доступ к компьютеру жертвы как только бэкдор будет установлен в системе. Соответственно, предназначение бэкдора заключается в открытии доступа на скомпрометированный им компьютер злоумышленникам. Вредоносный код также получает и принимает команды от удаленного C&C сервера. Как только он установлен в систему, происходит подключение к C&C и ожидание от него команд. В таком случае, при открытии исходящих соединений, есть возможность остаться незамеченным для брандмауэра, установленного на компьютере.

Мы зафиксировали, что в некоторых случаях, APT1 использовали общедоступные бэкдоры, такие как Poison Ivy или Gh0st RAT. В большинстве же случаев они использовали, по всей видимости, свои собственные разработки и мы задокументировали 42 семейства таких бэкдоров. Эти семейства мы разбили на две категории: загрузчики [в оригинальном варианте: “beachhead”, но одна из основных их функций — загрузка других файлов] и обычные (полнофункциональные).

Загрузчики содержат минимум возможностей. Они используются для выполнения таких простых задач как получение файлов, сбор основной информации о системе, загрузка и исполнение обычных (полнофункциональных) бэкдоров. Такие бэкдоры загрузчики мы также называем WEBC2 и это семейство является, вероятно, наиболее известным видом APT1 бэкдоров. WEBC2 предназначен для скачивания веб-страницы с C&C сервера. Он ожидает, что эта веб-страница содержит специальные html-теги, ищет их и пытается интерпретировать команды между. Старые версии WEBC2 пытались найти команды между HTML комментариями, более новые используют для этого другие типы тегов. В соответствии с нашими наблюдениями мы можем подтвердить, что APT1 использовал WEBC2 бэкдоры уже в Июле 2006 г. Однако мы наблюдали один из семплов — WEBC2-KT3 с датой компиляции от 2004-01-03, т. е. бэкдоры такого типа, предположительно, были в разработке с 2004 г. Мы собрали более 400 семплов WEBC2 и предполагаем, что APT1 имели прямой доступ к разработчикам этого вредоносного ПО, т. к. очевиден постоянный выпуск его новых версий, которые учавствовали в этих атаках на протяжении 6 лет. Ниже представлены строки, извлеченные из исполняемых файлов угроз, которые косвенно указывают на продолжавшийся процесс разработки.

sample a
MD5: d7aa32b7465f55c368230bb52d52d885
Compile date: 2012-02-23
\work\code\2008-7-8muma\mywork\winInet_winApplication2009-8-7\mywork\aaaaaaa2012-2-23\Release\aaaaaaa.pdb

sample B
MD5: c1393e77773a48b1eea117a302138554
Compile date: 2009-08-07
D:\work\code\2008-7-8muma\mywork\winInet_winApplication2009-8-7\mywork\aaaaaaa\Release\aaaaaaa.pdb

Некоторый список семейств WEBC2 [классификация Mandiant]:

WEBC2-AUSOV
WEBC2-ADSPACE
WEBC2-BOLID
WEBC2-CLOVER
WEBC2-CSON
WEBC2-DIV
WEBC2-GREENCAT
WEBC2-HEAD
WEBC2-KT3
WEBC2-QBP
WEBC2-RAVE
WEBC2-TABLE
WEBC2-TOCK
WEBC2-UGX
WEBC2-YAHOO
WEBC2-Y21K

image
В целом, WEBC2 бэкдоры предоставляют APT1 следующие возможности:

  • Запуск процесса интерпретатора командной строки (cmd.exe).
  • Загрузка исполняемых файлов и запуск их на исполнение.
  • Имеют режим «сна», оставаясь в неактивном состоянии некоторое время.

Обычный, не WEBC2 бэкдор, взаимодействует с командным C&C сервером через HTTP протокол, либо используя собственный протокол, который авторы кода написали для этой цели. Бэкдоры такого типа предоставляют злоумышленникам следующие возможности на скомпрометированном компьютере:

  • Различные операции с файлами и директориями.
  • Передача файлов, в обе стороны.
  • Управление процессами.
  • Модификация системного реестра.
  • Снятие скриншотов рабочего стола пользователя.
  • Кейлоггер.
  • Отслеживание перемещений курсора.
  • Запуск командной строки.
  • Удаленный доступ через remote desktop.
  • Сбор паролей.
  • Получение списка пользователей.
  • Получение списка видимых компьютеров в сети.
  • Режим сна (вредоносный код будет неактивен).
  • Выполнение операции смены пользователя (log off).
  • Выключение компьютера.

Рис. Список семейств и хронология дат компиляции.

Бэкдор BISCUIT является наглядным примером, с точки зрения поддерживаемого им набора команд, которые APT1 встраивает в «обычные» бэкдоры. APT1 использовали и постоянно дорабатывали BISCUIT, начиная с 2007 г. Он используется в атаках и по сей день.


Некоторые бэкдоры, для маскировки, пытаются имитировать легитимный трафик. Mandiant идентифицировал некоторые из таких протоколов и семейства, в которых они используются: MSN Messenger (MACROMAIL), Jabber/XMPP (GLOOXMAIL), Gmail Calendar (CALENDAR). Эта маскировка предоставляла некий режим легитимности для передаваемого на C&C трафика. В дополнении к этому, многие бэкдоры APT1 использовали SSL шифрование для соединений с C&C. В приложении F мы приводим список публичных SSL-сертификатов, которые использовались для этих целей.

Повышение привилегий

[Не совсем понятно, почему этот этап атаки назван именно так. Видимо потому, что для APT под повышением привилегий понимается именно такая тактика.] Поднятие привилегий включает в себя получение имен пользователей и паролей от различных аккаунтов. С их помощью можно получить доступ к другим ресурсам в скомпрометированном окружении и учетным записям администратора. Кроме имени пользователя и пароля, APT1 может получить доступ к сертификатам PKI, VPN, компьютерам с повышенным уровнем доступа или другим ресурсам. Для получения логинов и паролей учетных данных администратора используется «дампинг» хэшей паролей с PC, сервера или контроллера домена. APT1 использует для этого публично доступные инструменты. Список используемых дамперов:

  • cachedump
  • fgdump
  • gsecdump
  • lslsass
  • mimikatz
  • pass-the-hash toolkit
  • pwdump7
  • pwdumpx

Сбор сведений

На этом этапе APT1 собирают информацию об окружении скомпрометированного компьютера. Как и большинство APT (и не APT), APT1 используют встроенные команды ОС для исследования скомпрометированной системы и ее сетевого окружения. Когда у них есть доступ к интерпретатору командной строки, они выполняют эти команды в нем, иногда также используются пакетные файлы для ускорения сбора сведений. Следующий код из пакетного файла был использован, по крайней мере в четырех случаях вторжений.

Скрипт выполняет следующие действия и сохраняет результаты в текстовый файл:

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

Поддержание присутствия

На этом этапе APT1 принимает меры по получению постоянного, долговременного контроля за ключевыми системами в скомпрометированной сети. Это выполняется тремя способами:

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

Передача похищенных данных на серверы APT1

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

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

В отличие от других групп APT, которые мы отслеживали, APT1 использовали два специальных, уникальных инструмента для передачи украденных данных на электронную почту APT1 — GETMAIL и MAPIGET.

APT1 в СМИ

Активность APT1 фиксировалась в различных изданиях, заметках и статьях. В то же время, довольно сложно скомпилировать эти источники вместе, поскольку, зачастую, используются различные имена при отсылке к APT1. Кроме того, многие аналитики писали об инструментах, которые использовались в других китайских APT. Ниже в таблице дается сопоставление псевдонимов групп, которые упоминались другими компаниями, с APT1.

  • Самый ранний известный публичный отчет об инфраструктуре APT1 принадлежит японскому подразделению корпорации Symantec. В отчете содержится упоминание sb.hugesoft.org, который был зарегистрирован на человека, известного как «Ugly Gorilla».
  • В Сентябре 2012 г., известный журналист Брайан Кребс в своем блоге сообщил о компрометации Telvent Canada Ltd (сейчас Schneider Electric). Мы относим этот инцидент к проискам APT1, на основе используемых ими инструментов и инфраструктуры, для получения доступа к их сети.
  • Компания SCADA опубликовала отчет о зафиксированной операции вторжения с использованием фишинга в Июне 2012. AlienVault произвели анализ соответствующего вредоносного кода. По показателям компрометации, которые были внесены в доклад, мы отнесли это к APT1.
  • В ноябре 2012 журналист Bloomberg Chloe Whiteaker писал о группе «Comment Group», при этом описывались инструменты и домены, используемые в APT1.

Пример бэкдора, используемого APT1

Приложение F (The Malware Arsenal) содержит список семейств угроз, которые были использованы APT1 для различных целей. Этот список действительно впечатляющий. Мы рассмотрим одну из таких угроз — AURIGA.

Основные возможности AURIGA:

  • Содержит кейлоггер и функционал по отслеживанию перемещений курсора.
  • Создание/завершение процессов.
  • Передача файлов на сервер и загрузка их оттуда.
  • Сбор информации о системе.
  • Получение логинов и паролей.
  • Скрывает свои сетевые подключения.
  • Скрывает свои процессы (DKOM).
  • Внедряет код в процессы.
  • Предоставляет доступ remote desktop.
  • Может завершать работу системы.
  • Снимает скриншоты.

Вся собранная информация шифруется с использованием DES. Взаимодействие с C&C осуществляется через порт 443, но при этом не используется SSL или TLS. Кейлоггер хранит информацию в файле %WINDIR%\System32\config\sam.sav. Может предоставлять интерактивную сессию к командному интерпретатору cmd.exe, при этом данные сессии будут зашифрованы с использованием DES. Бэкдор копирует файл командного интерпретатора %SYSTEMROOT%\system32\cmd.exe в %SYSTEMROOT%\system32\ati.exe. Далее в новом файле ati.exe он замещает строки типа «microsoft corp.» на «superhard corp.». Файл ati.exe удаляется после завершения сессии.

Сбор логинов и паролей осуществляется с использованием ветки реестра HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts и значений:

  • POP3 User Name
  • HTTPMail User Name
  • HTTPMail Password2
  • Hotmail
  • POP3 Server
  • POP3 Password2

Драйвер riodrv32.sys может осуществлять внедрение вредоносной dll в указанные ему процессы. Он отмечает свое присутствие в системе устройством \Device\rio32drv и ссылкой на него \DosDevices\rio32drv. Также он может скрыть IP адрес из списка сетевых подключений. Драйвер взаимодействует с пользовательским режимом через IOCTL, вот некоторые из них:

  • 0x2A7B8008. Запомнить IP адрес для скрытия.
  • 0x2A7B800C. Внедрить dll в процесс.
  • 0x2A7B8018. Скрыть процесс по ID.

Из драйвера: d:\drizt\projects\auriga\branches\stone_~1\server\exe\i386\riodrv32.pdb

ссылка на оригинал статьи http://habrahabr.ru/company/eset/blog/170553/


Комментарии

Добавить комментарий

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