Palo Alto Unit 42 - Обзор хакерских группировок Conti и GALLIUM.

27 июня 2022 г. 15:30
 657

Подробный отчет о хакерских группировках.

Conti.

Введение.

Хакерская группировка Conti выделяется как одна из самых безжалостных из десятков банд шифровальщиков, за которыми следит исследовательская команда Palo Alto Unit 42. Conti уже более года атакует организации, где перебои в работе ИТ могут иметь опасные для человеческих жизней последствия: больницы, диспетчерские экстренных служб, службы скорой медицинской помощи и правоохранительные органы. Ирландия еще не оправилась от их атаки в середине мая, которая привела к отключению всей информационно-технологической сети национальной системы здравоохранения, что вызвало отмену приемов, отключение рентгеновских систем и задержки в проведении тестирования COVID.

Conti также отличается ненадежностью: мы наблюдали, как эта группа обманывает жертв, которые платят выкуп, ожидая, что им удастся восстановить их данные.

ФБР связало Conti с более чем 400 кибератаками на организации по всему миру, три четверти из которых базируются в США, с требованиями до 25 миллионов долларов. Это делает Conti одной из самых жадных хакерских групп в мире.

Обзор тактик.

Мы следили за Conti более года, помогая организациям реагировать на атаки вымогателей. Похоже, что это одна из многих частных киберпреступных групп, которые организовали свои операции, используя процветающую экосистему ransomware-as-a-service (RaaS). Такие банды закрепляются в сетях своих жертв, покупая доступ у других злоумышленников. Они также могут приобретать инфраструктуру, вредоносное ПО, средства связи и отмывания денег у других поставщиков RaaS. Большинство этих субъектов используют те же методы получения первичного доступа, что и во многих атаках шифровальщиков - например, фишинговые письма и использование незащищенных интернет-приложений, отсутствие многофакторной аутентификации, а также типичные способы сохранения и расширения доступа после его получения, например, с помощью Cobalt Strike или PowerShell.

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

Однако тактика Conti имеет нетипичные элементы. Обычно наиболее успешные операторы шифровальщиков прилагают много усилий для создания и поддержания некоего подобия «честной игры», чтобы облегчить получение выкупа: они стремятся создать себе безупречную репутацию в сфере «обслуживания клиентов» и выполнения обещаний расшифровать ваши данные и не публиковать их, если вы заплатите выкуп. Однако, по нашему опыту оказания помощи клиентам в устранении последствий атак, группа Conti не продемонстрировала никаких признаков заботиты о своей репутации среди потенциальных жертв.

В одном из недавних случаев злоумышленники расшифровали файлы клиента, заплатившего выкуп. Этот клиент получил лишь малую часть обещанного восстановления, прежде чем представители Conti снова исчезли в темной паутине. В другом инциденте нашему клиенту потребовалась опись всех файлов, к которым был получен доступ, чтобы уведомить стороны, чьи данные были затронуты. В Conti согласились предоставить эту информацию, если будет произведена оплата, но затем передумали, заявив: «Мы больше не владеем этими данными. Они были удалены, и нет никакой возможности их восстановить». Как и многие банды вымогателей, Conti постоянно приспосабливается к изменениям, включая недавнее усиление внимания со стороны правоохранительных органов и политиков после громких разрушительных атак на Colonial pipeline и медицинские организации. Когда система здравоохранения Ирландии отказалась платить выкуп, Conti предоставила агентству бесплатный ключ для дешифровки. Но в этом была своя изюминка: группа утверждала, что все равно опубликует украденные данные на своем сайте утечек.

Заключение.

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

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

Palo Alto Networks обнаруживает и предотвращает атаки шифровальщиков следующими способами:

  • Все известные образцы идентифицируются как вредоносное ПО.
  • Cortex XDR:
    • Индикаторы для Conti.
    • Модуль Anti-Ransomware для обнаружения поведения шифровальщиков.
    • Обнаружение локального анализа для двоичных файлов.
  • Брандмауэры нового поколения: Сигнатуры DNS обнаруживают известные командно-контрольные домены, которые также классифицируются как вредоносные программы в расширенной фильтрации URL.
  • Отслеживание связанной активности с помощью релевантных вредоносному ПО тегов.
  • Консалтинг по безопасности от Unit 42: Оценка готовности к атакам шифровальщиков выявляет любые скрытые угрозы, проверяет готовность и предоставляет рекомендации по устранению последствий.

Кроме того, индикаторы компрометации, связанные с атаками шифровальщиков, доступны на GitHub и опубликованы в ленте TAXII Unit 42.

Меры противодействия.

 

GALLIUM

 

Введение.

Команда Unit 42 недавно обнаружила новый, трудно обнаруживаемый троян удаленного доступа под названием PingPull, используемый хакерской группировкой GALLIUM.

Unit 42 активно следит за инфраструктурой, связанной с несколькими APT-группами. Одна из групп - GALLIUM (также известная как Softcell) - завоевала свою репутацию благодаря атакам на телекоммуникационные компании, работающие в Юго-Восточной Азии, Европе и Африке. Географическая направленность, ориентация на конкретные отрасли и техническое мастерство группы в сочетании с использованием известных китайских вредоносных программ и тактики, методов и процедур привели к выводам, что, по оценкам специалистов, GALLIUM предположительно является группировкой, спонсируемой китайским государством.

За последний год эта группа не ограничилась только телекоммуникационными компаниями, но и стала атаковать финансовые учреждения и государственные структуры. За этот период мы выявили несколько связей между инфраструктурой GALLIUM и целевыми организациями в Афганистане, Австралии, Бельгии, Камбодже, Малайзии, Мозамбике, Филиппинах, России и Вьетнаме. Самое главное, мы также выявили использование группой нового трояна удаленного доступа под названием PingPull.

PingPull способен использовать три протокола (ICMP, HTTP(S) и необработанный TCP) для передачи команд управления (CnC). Хотя использование ICMP-туннелирования не является новой техникой, PingPull использует ICMP, чтобы усложнить обнаружение своих CnC-коммуникаций, поскольку немногие организации применяют проверку ICMP-трафика в своих сетях. В этой части статьи приводится подробное описание нового инструмента, а также актуальной инфраструктуры группы GALLIUM.

Клиенты Palo Alto Networks получают защиту от перечисленных в статье угроз благодаря Threat Prevention, Advanced URL Filtering, DNS Security, Cortex XDR и анализу вредоносного ПО WildFire. Полная визуализация наблюдаемых методов, соответствующих действий и индикаторов компрометации доступна в Unit 42 ATOM viewer.

Вредоносное ПО «PingPull».

PingPull написан на Visual C++ и предоставляет злоумышленникам возможность запускать команды и получать доступ к обратному командному интерпретатору на скомпрометированном узле. Существует три варианта PingPull, которые функционально одинаковы, но используют различные протоколы для связи со своей CnC-инфраструктурой: ICMP, HTTP(S) и необработанный TCP. В каждом из вариантов PingPull создает пользовательскую строку со следующей структурой, которую он будет отправлять на CnC во всех взаимодействиях, и которую, как мы полагаем, сервер CnC будет использовать для уникальной идентификации взломанной системы:

PROJECT_[uppercase executable name]_[uppercase computer name]_[uppercase hexadecimal IP address]

Независимо от варианта, PingPull способен установить себя в качестве службы со следующим описанием:

Обеспечивает туннельное соединение с использованием технологий перехода на IPv6 (6to4, ISATAP, Port Proxy и Teredo), а также IP-HTTPS. Если эта служба остановлена, компьютер не будет иметь расширенных преимуществ подключения, которые обеспечивают эти технологии.

Описание полностью совпадает с описанием легитимной службы iphlpsvc, которую PingPull намеренно пытается имитировать, используя Iph1psvc для имени службы и IP He1per вместо IP Helper для отображения имени. Мы также видели образец PingPull, использующий такое же описание, но с именем Onedrive.

Три варианта PingPull имеют одинаковые команды, доступные в обработчиках. Команды, приведенные в таблице 1, показывают, что PingPull способен выполнять различные действия в файловой системе, а также запускать cmd.exe, который действует как обратная оболочка для агента.

Команды, доступные в обработчике команд PingPull.

 

Чтобы выполнить команду из Таблицы 1, агент должен заставить CnC-сервер ответить на маячок PingPull командой и аргументами, которые он шифрует с помощью AES в режиме cipher block chaining (CBC) и кодирует в base64. Мы видели два уникальных ключа AES между известными образцами PingPull, а именно P29456789A1234sS и dC@133321Ikd!D^i.

PingPull расшифровывал полученные данные и разбирал чистый текст для команды и дополнительных аргументов в следующей структуре:

&[AES Key]=[command]&z0=[unknown]&z1=[argument 1]&z2=[argument 2]

Мы не уверены в назначении параметра z0 в командной строке, поскольку мы наблюдали, как PingPull разбирает этот параметр, но не видим, что он используется. Чтобы подтвердить структуру командной строки, мы использовали следующую строку при выдаче команд в нашей аналитической среде, которая давала команду PingPull прочитать содержимое файла по адресу C:\test.txt:

&P29456789A1234sS=C&z0=2&z1=c:\\test.txt&z2=none

Во время нашего анализа PingPull отвечал на приведенную выше командную строку командой ya1JF03nUKLg9TkhDgwvx5MSFIoMPllw1zLMC0h4IwM=, которая расшифровывала и расшифровывала (AES ключ P29456789A1234sS) в некоторый текст в тестовом файле \x07\x07\x07\x07\x07\x07\x07\x07, который является содержимым (PKCS5_PADDING-padded) файла C:\test.txt в нашей системе анализа.

Вариант ICMP.

Образцы PingPull, использующие ICMP для связи с CnC, отправляют пакеты ICMP Echo Request (ping) на CnC-сервер. Сервер отвечает на эти Echo-запросы пакетом Echo Reply для передачи команд системе. Пакеты Echo Request и Echo Reply, используемые PingPull и его CnC-сервером, имеют следующую структуру:

[8-байтовое значение]R[порядковый номер][строка уникального идентификатора, начинающаяся с "PROJECT"]\r\ntotal=[длина всего сообщения]\r\ncurrent=[длина текущего сообщения]\r\n[данные в кодировке base64 и зашифрованные AES].

При выдаче маячка своему CnC, PingPull отправит пакет Echo Request на сервер с total и current, установленными на 0, и не будет содержать кодированных и зашифрованных данных, как показано на рисунке 1.

 

Рис. 1: Пример ICMP-маяка PingPull с жестко закодированным 8-байтовым значением.

 

Раздел данных в ICMP-пакете на Рисунке 1 начинается с 8-байтового значения 0x702437047E404103 (\x03\x41\x40\x7E\x04\x37\x24\x70), которое PingPull жестко закодировал в своем коде, за которым сразу следует жестко закодированная R. Однако другой образец PingPull, который использовал ICMP для связи с CnC, опустил это 8-байтовое значение, как показано на Рисунке 2.

 

Рис. 2: Пример ICMP-маяка PingPull без жестко закодированного 8-байтового значения.

 

После R идет порядковый номер, который увеличивается при отправке или получении данных, превышающих максимальный размер секции данных ICMP. За порядковым номером сразу следует точка ".", а затем строка уникального идентификатора, сгенерированного PingPull, которая начинается с PROJECT. Секция данных ICMP затем включает total=[целое число] и current=[целое число], которые используются как PingPull, так и CnC для определения общей длины переданных данных и длины фрагмента данных, переданных в текущем пакете. Данные, передаваемые в каждом ICMP-пакете, поступают в виде строки шифротекста в кодировке base64, созданной с использованием AES и ключа, специфичного для данного образца. Эти закодированные и зашифрованные данные идут после новой строки, которая непосредственно следует за "текущим" значением. Например, отвечая на нашу тестовую команду, PingPull отправил пакет ICMP Echo Request, показанный на рисунке 3, на CnC-сервер, который содержит ожидаемую base64-кодированную строку ya1JF03nUKLg9TkhDgwvx5MSFIoMPllw1zLMC0h4IwM= для результатов команды.

Пакет ICMP Echo Request, отправленный PingPull в ответ на нашу тестовую команду:

 

Рис. 3: PingPull отвечает на команду по протоколу ICMP.

 

Вариант HTTPS.

Другой вариант PingPull использует HTTPS-запросы для связи со своим CnC-сервером вместо ICMP. Первоначальный маяк использует POST-запрос по этому HTTPS-каналу, используя в качестве URL уникальную строку идентификатора, созданную PingPull. Рисунок 4 - пример POST-запроса, отправленного PingPull в качестве маяка, где samp.exe - имя файла, DESKTOP-U9SM1U2 - имя хоста системы анализа, 172.16.189[.]130 (0xAC10BD82) - IP-адрес системы.

Это пример POST-запроса, отправленного PingPull в качестве маяка, где samp.exe - имя файла, DESKTOP-U9SM1U2 - имя хоста системы анализа, 172.16.189[.]130 - IP-адрес системы.

 

Рис. 4: Пример маячка PingPull HTTPS.

 

Начальный маяк представляет собой POST-запрос, не содержащий никаких данных, в результате чего в HTTP-заголовках Content-Length равен 0. При ответе с результатами на команды PingPull выдает второй POST-запрос, используя ту же структуру URL, с результатами в секции данных в base64-кодированной и зашифрованной форме с использованием ключа AES. На рисунке 5 показан ответ PingPull на нашу тестовую команду прочитать содержимое C:\test.txt с ya1JF03nUKLg9TkhDgwvx5MSFIoMPllw1zLMC0h4IwM= в секции данных POST-запроса, который расшифровывается и декодируется до некоторого текста в тестовом файле.\x07\x07\x07\x07\x07\x07\x07\x07\x07.

Здесь показан ответ PingPull на нашу тестовую команду прочитать содержимое C:\test.txt с ya1JF03nUKLg9TkhDgwvx5MSFIoMPllw1zLMC0h4IwM= в секции данных POST-запроса, который декодирует и расшифровывает текст в тестовом файле.\x07\x07\x07\x07\x07\x07\x07\x07.

 

Рис. 5: PingPull отвечает результатами команды через HTTPS.

 

Вариант TCP.

Этот вариант PingPull не использует ICMP или HTTPS для CnC-коммуникации, а использует необработанный TCP. Как и другие каналы CnC, данные, отправляемые в этом маяке, включают уникальную строку идентификатора, сгенерированную PingPull, которая начинается с PROJECT. Однако канал TCP начинается с 4-байтового значения длины следующих данных, как показано в следующей структуре маяка:

[DWORD длина следующих данных]PROJECT_[прописное имя исполняемого файла]_[прописное имя компьютера]_[прописной шестнадцатеричный IP-адрес].

На рисунке 6 показан пример всего канала связи TCP:

 

  • Маяк, посланный PingPull в первом красном тексте.
  • C2 выдает команду в синем тексте.
  • PingPull отвечает на команду вторым красным текстом в нижней части изображения.

 

Пример всего канала связи TCP: Маяк, отправленный PingPull в первом наборе текста (выделен красным цветом), CnC, выдающий команду во втором наборе текста (выделен синим цветом) и Pingpull, отвечающий на команду в третьем наборе текста (выделен красным цветом).

 

Рис. 6: TCP-маячок PingPull, CnC выдает команду и PingPull отправляет результат.

 

Маяк, показанный на рисунке 6, начинается с данных длиной 44 байта (0x2c), со строкой уникального идентификатора, где samp_f86ebe.exe - имя файла, DESKTOP-U9SM1U2 - имя хоста системы анализа, а 172.16.189[.]130 (0xAC10BD82) - IP-адрес системы. Ответ CnC на маячок начинается с данных длиной 64 байта (0x40), за которыми следует закодированная в base64 строка, представляющая собой шифротекст команды. PingPull выполнил команду, предоставленную CnC, и отправил результаты в пакете, который начинается с длины данных 44 байта (0x2c), за которым следует ожидаемая base64-кодированная строка ya1JF03nUKLg9TkhDgwvx5MSFIoMPllw1zLMC0h4IwM= для результатов команды.

Инфраструктура.

9 сентября 2021 года образец PingPull под названием ServerMannger.exe (SHA256: de14f22c88e552b61c62ab28d27a617fb8c0737350ca7c631de5680850282761) был предоставлен сообществу кибербезопасности организацией из Вьетнама. Анализ этого образца показал, что он был настроен на вызов домашнего адреса t1.hinitial[.]com. Опираясь на CnC, мы выявили несколько поддоменов, размещенных в домене hinitial[.]com, которые имели схожую схему именования:

  • t1.hinitial[.]com
  • v2.hinitial[.]com
  • v3.hinitial[.]com
  • v4.hinitial[.]com
  • v5.hinitial[.]com

Углубляясь в эти домены, мы начали выявлять пересечения в использовании сертификатов между различными IP-инфраструктурами, связанными с каждым из поддоменов. Особенно выделялся один сертификат странной конфигурации с SHA1 76efd8ef3f64059820d937fa87acf9369775ecd5. Этот сертификат был создан с 10-летним сроком действия, общим именем bbb и без каких-либо других подробностей, что сразу же вызвало вопрос о его легитимности.

Как видно, представленный сертификат содержит несколько сомнительных характеристик: Он был создан с 10-летним сроком действия, общим именем bbb и без каких-либо других подробностей.

 

Рис. 7: Сертификат X.509, связанный с инфраструктурой hinitial[.]com.

 

Впервые этот сертификат был замечен в сентябре 2020 года, он был связан с шестью различными IP-адресами, на которых располагались варианты субдоменов hinitial[.]com, а также с дополнительным переходом на динамический DNS-хост (goodjob36.publicvm[.]com). Продолжение этого метода переключения на все образцы PingPull и связанные с ними CnC-домены привело к идентификации более 170 IP-адресов, связанных с этой группой, начиная с конца 2020 года. Самая последняя IP-инфраструктура представлена ниже в целях защиты.

Меры противодействия.

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

Для клиентов Palo Alto Networks наши продукты и сервисы обеспечивают следующие меры защиты, связанные с активностью группировки GALLIUM:

  • CortexXDR обнаруживает и защищает конечные точки от PingPull.
  • Облачная служба анализа угроз WildFire точно идентифицирует вредоносное ПО PingPull.
  • Сервис Threat Prevention обеспечивает защиту от PingPull. Сигнатура «Pingpull Command and Control Traffic Detection» (идентификаторы угроз 86625, 86626 и 86627) обеспечивает защиту от CnC-трафика ICMP, HTTP(S) и необработанного трафика TCP.
  • Расширенная фильтрация URL и DNS Security определяют домены, связанные с GALLIUM, как вредоносные.

 

Пользователи сервиса контекстного анализа угроз AutoFocus могут просматривать данные по вредоносным программам, связанным с описанными атаками, используя тег PingPull. Если вы считаете, что могли пострадать или у вас есть срочный вопрос, свяжитесь с группой реагирования на инциденты Unit 42.

 Заключение.

GALLIUM остается активной угрозой для телекоммуникационных, финансовых и правительственных организаций в Юго-Восточной Азии, Европе и Африке. За последний год мы выявили целевые атаки, направленные на девять стран. Эта группа развернула новый инструмент под названием PingPull для поддержки своей шпионской деятельности, и мы призываем все организации использовать наши результаты для принятия мер защиты от этой группы угроз.

Особая благодарность Центру сотрудничества в области кибербезопасности АНБ, Австралийскому центру кибербезопасности и другим правительственным партнерам за сотрудничество и предоставленную информацию в поддержку данного исследования.

Компания Palo Alto Networks поделилась полученными результатами, включая образцы файлов и индикаторы компрометации, с нашими коллегами из Cyber Threat Alliance. Члены CTA используют эти данные для быстрого развертывания средств защиты своих клиентов и для систематического пресечения деятельности злоумышленников. Узнайте больше о Cyber Threat Alliance.

Дополнительные ресурсы.

Mitre - GALLIUM group
Microsoft - GALLIUM: Targeting Global Telecom
CyberReason - Operation Soft Cell: A Worldwide Campaign Against Telecommunications Providers

Индикаторы компрометации.

Сэмплы.

de14f22c88e552b61c62ab28d27a617fb8c0737350ca7c631de5680850282761
b4aabfb8f0327370ce80970c357b84782eaf0aabfc70f5e7340746f25252d541
fc2147ddd8613f08dd833b6966891de9e5309587a61e4b35408d56f43e72697e
c55ab8fdd060fb532c599ee6647d1d7b52a013e4d8d3223b361db86c1f43e845
f86ebeb6b3c7f12ae98fe278df707d9ebdc17b19be0c773309f9af599243d0a3
8b664300fff1238d6c741ac17294d714098c5653c3ef992907fc498655ff7c20
​​1ce1eb64679689860a1eacb76def7c3e193504be53ebb0588cddcbde9d2b9fe6

CnC-инфраструктура PingPull.

df.micfkbeljacob[.]com
t1.hinitial[.]com
5.181.25[.]55
92.38.135[.]62
5.8.71[.]97

Домены.

micfkbeljacob[.]com
df.micfkbeljacob[.]com
jack.micfkbeljacob[.]com
hinitial[.]com
t1.hinitial[.]com
v2.hinitial[.]com
v3.hinitial[.]com
v4.hinitial[.]com
v5.hinitial[.]com
goodjob36.publicvm[.]com
goodluck23.jp[.]us
helpinfo.publicvm[.]com
Mailedc.publicvm[.]com

IP-адреса.

Источники:

https://conti-ransomware-gang

https://pingpull-gallium

Системы Информационной Безопасности