• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Атака на авиапромышленную компанию. Как была обнаружена группировка ChamelGang

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Если помните, недавно мы рассказывали о том, как специалисты обнаружили новую, ранее неизвестную APT-группировку, получившую название ChamelGang. Это произошло, когда нашу команду по реагированию на инциденты ИБ пригласили расследовать множественные срабатывания антивирусных средств защиты с вердиктом Cobalt Strike Beacon в российской топливно-энергетической компании.

Уже после расследования первого инцидента, в рамках мониторинга угроз информационной безопасности (threat intelligence) и анализа только что выявленной группировки, специалисты PT ESC обнаружили еще одну ее успешную атаку, идентифицировали и оповестили новую жертву — предприятие авиапрома России — и помогли оперативно устранить угрозу. Как и в первом случае, преступники были нацелены на похищение информации, однако быстрое обнаружение APT-группы и противодействие ей позволили предотвратить кражу. Сегодня мы поделимся главными моментами этого расследования.

Новая атака — новый способ проникновения во внутреннюю сеть жертвы​

Исследуя активность ChamelGang, 16 августа 2021 года мы обнаружили свежие следы компрометации серверов в российской авиационно-промышленной компании, которая тоже стала жертвой этой группировки. Злоумышленники изменили исходный вектор атаки: для проникновения в инфраструктуру они воспользовались цепочкой связанных уязвимостей в Microsoft Exchange (CVE-2021-34473, CVE-2021-34523, CVE-2021-31207), получившей название ProxyShell. Напомним, что в первом кейсе группа ChamelGang использовала атаку типа trusted relationship: чтобы проникнуть в локальную сеть топливно-энергетической компании, преступники скомпрометировали дочернюю организацию, используя уязвимую версию веб-приложения на платформе JBoss Application Server. Подробнее об этой атаке мы рассказывали в одной из наших прошлых статей.

Что интересно, впервые об уязвимостях ProxyShell стало известно из доклада, представленного на конференции Black Hat 5 августа 2021 года. Кстати, на следующий день исследователь опубликовал подробную статью. После этого цепочку ProxyShell стали активно эксплуатировать различные APT-группы, а с 13 августа на GitHub начали появляться первые POC-скрипты. Давайте пошагово разберем, как действовали атакующие:

· CVE-2021-34473 — обход ACL. Уязвимость позволяет указать адрес почтового ящика через строку запроса в обработчике EwsAutodiscoverProxyRequestHandler. Это дает возможность получить доступ к произвольному URL с правами NT AUTHORITY\SYSTEM.

630dd0e009de0abe1c1afbb3a4d3500e.jpg

· CVE-2021-34523 — понижение привилегий. Для пользователя NT AUTHORITY\SYSTEM не существует почтового ящика, поэтому злоумышленники на этом этапе получают валидный доменный SID локального администратора. В дальнейшем SID используется для параметра X-Rps-CAT.

488d634bd0f165d05dc18f0f719f422a.jpg

· Затем атакующие создают письмо в черновике через веб-службу Exchange (EWS). В POST-запросе передается элемент SOAP с черновым письмом.

ee07f2abb66936b12ee60d306e1e2a5b.jpg


Черновики с полезной нагрузкой в почтовом ящике

Черновики с полезной нагрузкой в почтовом ящике

· CVE-2021-31207 — возможность записи в файл с последующим удаленным выполнением кода. Атакующие используют командлеты PowerShell: New-ManagementRoleAssignment, чтобы получить роль импорта и экспорта почтовых ящиков, и New-MailboxExportRequest — для экспорта почтового ящика в папку веб-сервера.

fe7d40c911cd3c403a32068f101ee966.jpg

· Далее в файловую систему выгружается почтовый PST-файл с сигнатурой (magic) !BDN (0x21, 0x42, 0x44, 0x4E) и расширением ASPX.

1bc2bd410555768e92b08ff2f2c9a7df.jpg

· В содержимом конечного файла после наложения перестановочной кодировки NDB_CRYPT_PERMUTE можно заметить однострочный веб-шелл.

69225ba2cb7b34ad13a1fae722ac4b88.jpg

· Затем отправляют GET-запрос на веб-шелл.

7b1d7d070d2691da701280d05696d277.jpg

После того, как группа ChamelGang успешно установила веб-шелл, она начала проводить разведку на скомпрометированном узле.

Рекомендация: обнаружить попытки эксплуатации цепочки ProxyShell в журналах IIS-сервера помогут YARA-сигнатуры. Они общедоступны. Много полезной информации об этих уязвимостях есть в этом материале. Берите на заметку!

Встречайте новую версию бэкдора DoorMe​

Бэкдор DoorMe наряду с ProxyT и BeaconLoader в арсенале группировки ChamelGang — это экземпляры нового, не встречавшегося ранее вредоносного ПО. По нашим данным, до этого ни одна APT-группа не применяла их в атаках. С результатами анализа образца DoorMe — самого интересного из вредоносов собственной разработки группы — мы уже знакомили вас в нашем прошлом посте. Расследуя инцидент в авиапромышленной компании, мы обнаружили расширенную версию этого бэкдора. Изменилась обфускация, появились новые команды, но название класса, содержащего переопределенные методы, которые реализуют набор функций бэкдора, осталось таким же — DoorMe.

Использование класса DoorMe

Использование класса DoorMe

В этот раз группа ChamelGang, чтобы усложнить анализ, решила применить обфускацию control flow с использованием диспатчера.

Обфускация control flow

Обфускация control flow

Часть чувствительных строк этого бэкдора теперь лежат в открытом виде. Другие же были подвержены следующей схеме обфускации:
9e83109ef472cb4485a3ca0c2022c9b7.jpg


Обфускация строк

Обфускация строк

Если внимательно посмотреть на значения x и y, то можно заметить, что они — инверсия друг друга. Таким образом, итоговую формулу для каждого байта можно упростить:

1f0a4a0d502db31d5a43722aa8cf2ff0.jpg

Примечательно, что эта формула сводится к двум XOR, а с учетом того, что в коде видно использование одинаковых пар x и z, можно сказать, что генератор этих строк работает еще проще, чем мог бы. В отличие от IDA Pro, Ghidra упрощает эти уравнения, хотя и не справляется со всеми:

Обфускация строк в декомпиляторе Ghidra

Обфускация строк в декомпиляторе Ghidra

Кроме того, APT-группа использует технику, которая «ломает» IDA Pro: она неправильно дробит функцию, из-за чего некоторые ноды графа исчезают из декомпилятора. Впрочем, с этой проблемой легко справляется скрипт IDAPython.

Количество команд, которое поддерживает DoorMe v2, увеличилось с 6 до 1, что дает злоумышленникам еще больше возможностей в захваченных системах. Теперь бэкдор умеет:
  • возвращать текущую рабочую папку приложения (двумя способами);
  • получать информацию о содержимом в выбранной папке и передавать тип файла, его размер, название и дату последнего изменения;
  • получать список процессов в виде таблицы PID PPID Arch Name User;
  • завершать и удалять процессы.

Раскручиваем цепочку атаки дальше
Продолжаем идти по цифровым следам и расследовать дальнейшее перемещение группировки ChamelGang по сети авиапромышленной компании. Итак, что же мы увидели? Атакующие контролировали зараженные узлы с помощью веб-шеллов ASPX.
После закрепления на зараженных узлах они установили на два почтовых сервера (Microsoft Exchange Server) модифицированный бэкдор DoorMe, о котором мы рассказывали выше. Особый интерес представляют выбранные преступной группой имена вредоносных библиотек — modrpflt.dll и protsdown.dll — и имена модулей IIS-сервера: modrpflt, protsdown. Это попытки замаскировать файлы под легитимные библиотеки. Для сокрытия вредоносных файлов злоумышленники также изменяли временные метки (Timestomp) и присваивали им значения легитимных файлов.

Конфигурационный файл applicationhost.config

Конфигурационный файл applicationhost.config


Timestomp вредоносной библиотеки

Timestomp вредоносной библиотеки


Мы предполагаем, что группировка ChamelGang модифицировала бэкдор DoorMe после того, как его образец был загружен на VirusTotal. В результате новой обфускации большинство антивирусных решений перестало детектировать это вредоносное ПО. Так и случилось в момент атаки: бэкдор не был определен средствами защиты компании-жертвы.
Детекты антивирусных движков для старого файла

Детекты антивирусных движков для старого файла

Детекты антивирусных движков для нового файла

Детекты антивирусных движков для нового файла

Ниже показан пример выполнения команды через бэкдор DoorMe в журналах IIS:

f610e627dbebe5683f382e284dffc0b8.jpg

Для продвижения внутри сети и заражения пользовательских узлов злоумышленники воспользовались BeaconLoader. Для его запуска хакерская группа использовала технику запуска через службу MSDTC.

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

Авторы: Александр Григорян, Денис Кувшинов, Даниил Колосков и Станислав Раковский при участии PT Expert Security Center
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх