WTF is APT? Продвинутые атаки, хитрости и методы защиты. Ч.2. Заключительная.
Канал ShadowRun не раз рассказывал о масштабных сетевых атаках, от которых пострадали банки, крупные предприятия, госучреждения и даже военные объекты. Кто их проводит? Почему они оказываются столь разрушительными? Можно ли от них защититься? На эти вопросы мы продолжаем отвечать во второй части данной статьи (начало - на канале ранее).
Поехали:
APT-группы
Калифорнийская компания FireEye, известная как один из пионеров защиты от 0day-уязвимостей, не один год наблюдала за деятельностью хакерских группировок, проводящих мощные целенаправленные атаки. Схожий «почерк» и общие инструменты позволили FireEye выделить следующие ключевые группы.
APT37
Предположительно команда правительственных хакеров из Северной Кореи. Другие возможные названия: Group123, ScarCruft, RedEyes. Действует как минимум с 2012 года и в 2017–2018 годах стала особенно активной. Принадлежность к Северной Корее выдают IP-адреса, временные метки (UTC +8:30) и выбор зарубежных целей, явно отражающий изменения во внешней политике КНДР.
Основные цели: государственные и военные учреждения Южной Кореи, Японии, Китая и Вьетнама. Реже атакуют Индию. Вероятно, пару раз зацепили Кувейт, Россию и другие страны, но это похоже на случайность.
Хакеры APT37 часто атакуют системы SCADA на объектах химического производства, взламывают сети компаний из аэрокосмической отрасли, собирают персональные данные из баз данных медицинских учреждений. Пытаются украсть документацию о текущих хай-тек-разработках из сети профильных компаний и связанных с ними университетов.
За последние годы атаки APT37 стали более изощренными. Если раньше они использовали в основном методы социального инжиниринга, то сейчас в их арсенале появилось специализированное ПО (преимущественно бэкдоры) и наборы свежих эксплоитов, включая 0day.
Используемые инструменты:
- JS-профайлер RICECURRY, определяющий версию браузера, его плагины и настройки для выбора способа доставки пейлоада;
- утилита CORALDECK для скрытой доставки боевой нагрузки в виде зашифрованных архивов и образов;
- бэкдор DOGCALL. Умеет перехватывать клавиатурные нажатия, записывать скриншоты и использовать API облачных хранилищ для подключения к своим управляющим серверам (C&C);
- бэкдор KARAE. Действует на первом этапе атаки. Собирает системную информацию, после чего может отправлять и скачивать файлы. Также использует API облачных сервисов для связи с C&C. Распространялся через файлообменные сети под видом приложения для скачивания роликов с YouTube;
- бэкдор SLOWDRIFT также использует облачные API для получения команд от своего управляющего сервера. Он проникал на компьютеры жертв через таргетированные фишинговые письма и использовал эксплоит для текстового процессора Hangul Word Processor, популярного в академических кругах Южной Кореи. Это еще один маркер целенаправленной атаки, поскольку в других странах формат документов HWPX, мягко говоря, непопулярен;
- бэкдор POORAIM. Основной канал распространения — таргетированный через взломанные сайты — watering hole. Использует AOL-мессенджер для связи с C&C, что выделяет его среди прочих зловредов;
- бэкдор WINERACK собирает информацию об ОС, софте и пользователе, после чего запускает на атакуемом хосте обратный шелл (Wine cmd.exe) для обхода NAT и файрвола;
- сравнительно новый бэкдор SHUTTERSPEED, использовавший зиродей в Microsoft Office CVE-2017-0199. Собирает данные о системе, делает скриншоты, по команде загружает и запускает на исполнение очередной зловред;
- троян-даунлоадер HAPPYWORK. Использовался в 2016 году для атаки на финансовые учреждения. По команде загружает боевую нагрузку, а до этого собирает системную информацию и данные пользователя. Также отслеживает состояние функции IsDebuggerPresent, позволяющей назначить в Windows вызов произвольной программы вместо используемой по умолчанию (включая системные компоненты, вроде проводника и диспетчера процессов);
- вспомогательные утилиты: SOUNDWAVE для скрытой записи с микрофона, RUHAPPY для заметания следов.
Основные техники APT37:
- spear Phising, или таргетированный фишинг. Отличается от наспех сляпанных мошеннических писем для массовой рассылки убедительным персонализированным текстом, на который с высокой вероятностью «клюнет» определенная категория пользователей. Например, деканам южнокорейских университетов отправлялись письма о текущих грантах и научных публикациях с призывом к немедленным действиям (быстрее подтвердить участие, отправить заявку, уточнить реквизиты и подобное), чтобы они запустили вложение;
- drive-by-загрузки. По ссылке из документа во вложении или с зараженного сайта происходит редирект на веб-страницу со скриптом, использующим эксплоит для скрытой загрузки зловредов;
- запуск скачанной боевой нагрузки путем подмены ассоциаций файловых расширений или через уязвимости механизма Microsoft Dynamic Data Exchange;
- использование AOL IM или API Dropbox и pCloud для связи с управляющими серверами ботнета;
- скачивание боевой нагрузки по команде управляющего сервера и ее запуск через уязвимость в DDE или подмену файловых ассоциаций;
- использование уязвимостей в специфических продуктах (например, в Hangul — южнокорейском аналоге MS Word);
- использование уязвимостей нулевого дня в массовых продуктах (браузерный плагин Adobe Flash).
APT34
Предположительно иранская группировка, с 2014 года атакующая широкий спектр целей на Среднем Востоке. Преимущественно занимается хищением средств со счетов зарубежных банков и промышленным шпионажем в химической и энергетической отрасли.
Самая масштабная атака с участием APT34 зафиксирована специалистами FireEye в мае 2016 года. Все началось с волны фишинговых писем, содержащих вредоносные приложения, которые были отправлены сразу в несколько банков. Это были документы MS Excel с макросами, но их все равно открыли из-за правдоподобно выглядящего сопроводительного текста. Письма содержали темы сообщений, связанные с ИТ-инфраструктурой (например, журнал отчета о статусе сервера или список компонентов Cisco Iron Port Appliance). В одном случае письмо даже продолжало реальный разговор по электронной почте между несколькими сотрудниками и содержало их валидные контактные данные.
Макрос вызывал функцию Init()
, которая извлекала содержимое в кодировке Base64 из ячеек листа с заголовком Incompatible (имитация несовместимой версии документа). Затем он проверял наличие скрипта по адресу %PUBLIC%\Libraries\update.vbs
. Если скрипта не было, то он начинал его создавать через PowerShell, формируя командлет %PUBLIC%\Libraries\dns.ps1
. Затем макрос создавал запланированную задачу с именем GoogleUpdateTaskMachineUI с вызовом каждые три минуты. Из-за жестко заданной переменной %PUBLIC%
макрос успешно выполнялся только в Windows Vista и более ранних версиях, но именно они зачастую и были установлены на целевых компьютерах. Дополнительно после успешного запуска макрос отображал контент ранее скрытых ячеек в присланном документе (через функцию ShowHideSheets()
), просто чтобы успокоить пользователя и усыпить его бдительность.
На следующем этапе скрипт update.vbs
использовал PowerShell для загрузки пейлоада. Он скачивал по обфусцированной ссылке hxxp://go0gIe[.]com/sysupdate.aspx?req=xxx\dwn&m=d
и сохранял в каталог %PUBLIC%\Libraries\dn
вредоносные компоненты, главным из которых была модифицированная утилита Mimikatz для извлечения из оперативной памяти паролей залогиненных пользователей.
Затем он скачивал по ссылке hxxp://go0gIe[.]com/sysupdate.aspx?req=xxx\bat&m=d
другой командный файл (.bat), запускал его и сохранял результаты работы в соседнем каталоге %PUBLIC%\Libraries\up
. Батник представлял собой простейший скрипт для сбора информации о пользователе и системе. Это был набор стандартных команд вроде whoami
, hostname
, ipconfig /all
, net user
.
На заключительном этапе создавался командлет dns.ps1
, используемый для скрытой отправки файлов, а все собранные данные отправлялись на сервер hxxp://go0gIe[.]com/sysupdate.aspx?req=xxx\upl&m=u
методом HTTP POST.
В этой атаке интересен метод скрытой связи с управляющим сервером через DNS-запросы. Протокол DNS вряд ли будет заблокирован файрволом, а его использование обычно не вызывает срабатывания поведенческих анализаторов. В начале работы командлет dns.ps1
запрашивает через протокол DNS идентификатор с сервера go0gIe.Com
. Затем этот идентификатор сохраняется в сценарии PowerShell, а на командный сервер отправляется следующий запрос для получения дополнительных инструкций. Если дальнейшие действия не требуются, то командлет завершается и будет активирован скриптом update.vbs
снова через три минуты. Если от C&C-сервера пришла серия команд, то командлет начинает создавать батник по адресу %PUBLIC%\Libraries\tp\chr(xx)chr(yy).bat
. Конкретные значения переменных, содержимое BAT-файла и управляющие команды кодируются как октеты IP-адресов. Например, ответ dns.ps1 управляющему серверу отправляется как IP-адрес с шаблоном 33.33.xx.yy, а получение им IP-адреса 35.35.35.35 означает конец действий.
Такие нетривиальные подходы всегда вызывают интерес специалистов по безопасности, а группа APT34 получила дополнительную известность еще и благодаря выполнению «бесфайловой» атаки. Недавно она использовала уязвимость CVE-2017-11882 в Microsoft Office (2007 SP3 — 2016), позволявшую обойти антивирусы и прочие файловые анализаторы. При помощи эксплоита выполнялась инъекция кода в процесс Microsoft Word Equation Editor. Таким образом скрытно внедряли пейлоад размером до 17 Кбайт, не оставляя заметных следов в файловой системе.
APT33
Предположительно еще одна иранская группа, созданная на базе Nasr Institute и действующая с 2013 года. В своих атаках APT33 использует имеющиеся в открытом доступе хакерские инструменты, проявляя особый интерес к предприятиям авиационного сектора и энергетической отрасли. Последняя крупная атака ведется APT33 с мая 2017 года. Она преимущественно нацелена на объекты военной авиации в Саудовской Аравии и южнокорейские нефтехимические компании.
Начало атаки было вполне классическим: рассылка фишинговых писем с тщательно подобранными темами и продуманным оформлением. Для их составления использовался инструмент ALFA TEaM Shell, позволяющий рассылать сотни таргетированных писем на основе полуавтоматических шаблонов. Об одном из подобных инструментов мы уже писали. Использование ALFA TEaM Shell стало очевидно при анализе первой волны спам-рассылки: некоторые поля в ней содержали дефолтные значения, включая адрес [email protected]. Однако ошибку быстро исправили, и уже следующая рассылка выглядела аккуратно. В тексте ссылались на реальные вакансии и высокую зарплату и даже включали заявление о найме на работу от имени фиктивной компании Equal Opportunity. Для большей убедительности APT33 зарегистрировала несколько доменов, которые выглядят как принадлежащие Boeing, Northrop Grumman, Saudia Aerospace Engineering и другим известным компаниям.
APT33 отправила сотрудникам ряда компаний зараженные письма с предложением работы и со ссылками на вредоносное HTML-приложение (.hta). Файлы .hta часто используются на сайтах службы занятости для обработки запросов о доступных вакансиях. Сюрприз заключался во встроенном скрипте (см. фрагмент ниже).
<script> a=new ActiveXObject("WScript.Shell"); a.run('%windir%\\System32\\cmd.exe /c powershell -window hidden -enc <redoctedencoded command>', 0); </script>
Скрипт загружал бэкдор TURNEDUP, созданный для скрытой отправки скриншотов и собранных сведений о зараженном компьютере, а также загрузки дополнительных инструментов по команде управляющего сервера. Для обхода антивирусов бэкдор загружался не напрямую, а через троян-дроппер DROPSHOT. В нем использовались продвинутые методы защиты от эвристического анализа. Часть кода была вынесена во внешние скрипты, а его установка и дальнейшая работа защищалась собственными драйверами. Предположительно это модификация дроппера, разработанного другой иранской APT-группой (SHAMOON, aka Disttrack). Подобный вариант ранее использовался ими для доставки бэкдора SHAPESHIFT и вайпера StoneDrill. Последний просто стирал все данные с зараженного компьютера, то есть это уже был не шпионаж, а саботаж.
Среди других инструментов APT33 были замечены еще две сторонние разработки: продающаяся в даркнете программа удаленного доступа (RAT) NANOCORE с поддержкой плагинов и бэкдор NETWIRE, ориентированный на хищение данных.
APT32 (OceanLotus)
Xакерская группа, атакующая преимущественно иностранные компании, инвестирующие в развитие производства на территории Вьетнама. Основные отрасли — ретейл, консалтинг и гостиничный сектор. Такой выбор целей неясен, как и мотивы. По мнению специалистов FireEye, APT32 действует в интересах правительства Вьетнама. Атаки могли выполняться для сбора информации правоохранительными органами. Также это могло быть обычное хищение интеллектуальной собственности или даже своеобразные меры по борьбе с коррупцией и теневым бизнесом. Так или иначе, деятельность APT32 в конечном итоге подрывала конкурентное преимущество выбранных ими организаций.
Сами атаки не отличаются технической сложностью. Это все та же попытка заставить пользователя выполнить вредоносный макрос методами социального инжиниринга. Одним показывается сообщение о мнимой необходимости разрешить макросы для отображения отсутствующего шрифта, а другим — произвольные коды ошибок в Hex-формате и куча алертов «Включите макросы!». Как ни странно, столь грубый метод оказался довольно действенным.
В зависимости от сценария атаки макрос запускает одну или несколько вредоносных программ:
- BEACON — выполняет инжект произвольного кода в запущенные процессы. Собирает сведения об учетных данных пользователей. Импортирует сеансовые мандаты Kerberos. Может использовать Metasploit framework;
- KOMPROGO — полнофункциональный бэкдор, скрыто выполняющий действия с реестром и файловой системой. Может запускать обратный шелл. Также собирает и отправляет информацию о зараженной системе;
- PHOREAL — бэкдор, создающий обратный шелл и поддерживающий связь с командным сервером через ICMP;
- SOUNDBITE — бэкдор, устанавливающий связь с управляющим сервером с помощью закодированных DNS-запросов. Умеет собирать данные о системе и пользователях, создавать и отправлять файлы, а также вносить изменения в реестр;
- WINDSHIELD — бэкдор, использующий методы противодействия отладке. Устанавливает связь с C&C через TCP raw sockets. Рандомно выбирает один из управляющих четырех серверов и шести портов. Собирает максимально подробную информацию о системе и протоколирует любые изменения в реестре или файловой системе. Может выгружать из памяти другие процессы, включая некоторые антивирусы.
Дополнительно в атаках APT32 использовалась уязвимость организации запуска драйверов режима ядра CVE-2016-7255. Она актуальна для большинства версий Windows (от Vista SP2 до 10.1607) и позволяет запускать вредоносный код с повышенными привилегиями.
APT19 (C0d0so0 Team)
Предположительно китайская хакерская группировка, состоящая из фрилансеров, действующих в интересах правительства КНР. В 2010 году взломала сайт Комитета Нобелевской премии мира в Норвегии, чтобы распространять через него бэкдоры методом watering hole, а в 2014 году повторила эту же методику с сайтом Forbes.com. При посещении скомпрометированных сайтов браузер подгружал вредоносный скрипт с другого, и выполнялась drive-by-загрузка малвари.
В 2017 году APT19 атаковала австралийские юридические фирмы, чтобы получить бизнес-информацию об их международных клиентах, дающую китайским компаниям конкурентное преимущество. Тогда она использовала три разные наживки для spear-phishing. В начале мая фишинговыми приманками служили документы в формате RTF, которые загружали пейлоад через уязвимость нулевого дня в Microsoft Office — CVE 2017-0199. К концу мая APT19 переключилась на использование электронных таблиц Excel (XLSM) с поддержкой макросов. Позже APT19 добавила непрямой вызов зараженных документов XLSM, и по крайней мере одна из новых приманок доставляла модификацию бэкдора BEACON под названием Cobalt Strike.
Параллельно бэкдоры семейства Derusbi доставлялись в систему под видом кейгена для платной версии антивируса AVG. При запуске они создавали два файла: %LOCALAPPDATA%\dbgeng.dll
(троянский компонент) и %LOCALAPPDATA%\fakerx86.exe
(символический отладчик Windows). Далее он проверяет, что запущен не в контексте rundll32.exe (то есть не в песочнице и не в отладчике). Если проверка выполнена успешно, то в реестре создается ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows Debug Tools – %LOCALAPPDATA%\fakerx86.exe
и устанавливается связь с командным сервером.
На C&C методом HTTP POST отправляется лог с информацией о системе (IP- и MAC-адреса, имя пользователя и компьютера, сведения об аппаратной части) в кодировке Base64. В ответ сервер присылает дальнейшие команды, закодированные в параметре background-color
фейковой веб-страницы. Для их выполнения он также может передать дополнительные компоненты.
Защита
Антивирусные компании уже много лет наперебой предлагают свою защиту от APT. У большинства она мало чем отличается от набора традиционных средств для анализа трафика, файловой системы и запущенных процессов. Просто под вывеской Anti-APT их стало легче продавать.
Насколько нам известно, эффективных методов противодействия APT пока не существует. Снизить ущерб от них поможет разумная осторожность, о чём мы уже не раз писали и следующие технические решения от крупных вендоров.
Kaspersky Threat Management and Defense
Включает в себя систему защиты от целевых атак Kaspersky Anti Targeted Attack (находит аномалии в сетевом трафике, изолирует подозрительные процессы и прослеживает связи между событиями) и решение Kaspersky Endpoint Detection and Response (отвечает за сбор и визуальное представление собранных данных).
Symantec Advanced Threat Protection
Использует концепцию контрольных точек, отслеживая изменения по основным векторам APT-атак. Ищет аномалии в почтовом трафике и сетевой активности приложений. Широко использует песочницы для изоляции процессов и проверки файлов, загружаемых по сети. Применяет репутационный анализ и технологии облачной проверки. Может быть интегрирована со сторонними SIEM-системами.
IBM QRadar Security Intelligence Platform
Продвинутая SIEM-система, использующая ИИ IBM Watson для раннего обнаружения APT-атак и вычисления их источника.
RSA NetWitness
Еще одна продвинутая SIEM с технологиями машинного обучения. Интегрированное решение для анализа сетевого трафика, поведенческого анализа, контроля поведения конечных точек и поиска взаимосвязи между выявленными отклонениями.
FireEye iSIGHT Intelligence Subscriptions
Подписка на аналитические отчеты о текущих атаках с их детальным описанием и рекомендациями по противодействию выявленным APT. Ее ведением занимается более 150 специалистов, а визуализация данных выполняется через веб-интерфейс и собственные API FireEye.
На этом всё, киберсталкеры. Надеюсь, вам понравилось. Оставайтесь с нами - дальше ещё интереснее.