[ << ALL_FEED ]

consumerWiper: архитектура и механизм работы. часть 1

Ещё в группе «Вредоносное ПО»

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Операция Chewbacca

    В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…

  • Ваш сервер Zimbra под угрозой

    Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…

consumerWiper: архитектура и механизм работы. Часть 1 ☹️

В ходе расследования одного из инцидентов командой реагирования PT ESC был обнаружен вайпер consumerWiper, распространяемый в виде установочного пакета MSI и состоящий из нескольких функциональных компонентов.

С помощью утилиты lessmsi можно посмотреть список файлов (скриншот 1), которые содержатся в пакете, и извлечь их для последующего изучения. В таблице CustomAction определена команда, выполняемая во время установки MSI-пакета:

cmd.exe /c schtasks /create /ru SYSTEM /tn task /sc minute /tr "\"C:\users\control32.exe\" YES 3407657776"Code language: plaintext (plaintext)


С ее помощью создается исполняемая каждую минуту задача с именем task, запускающая основной компонент ВПО от имени SYSTEM.

📂 Вайпер состоит из шести исполняемых файлов со следующими функциями:

• collect32.exe — рекурсивный обход файловой системы и составление листинга файлов

• consume32.exe — уничтожение файлов

• fullscreen32.exe — вывод окна с сообщением о системном сбое

• disconnect32.exe / disconnect64.exe — отключение всех сетевых адаптеров в системе

• control32.exe — запуск и координация остальных утилит

Разберем функционал и особенности реализации компонентов ВПО.

1️⃣ collect32.exe

При запуске с аргументом командной строки YES перечисляет файлы на каждом логическом диске и записывает результат в файл list_%d.dll (где %d — порядковый номер диска, каждая строка файла — один путь). При запуске без аргумента или с любым другим аргументом перечисляются файлы в каталоге trash (значения ключа, отличные от YES, не используются в процессе работы ВПО, так что предположительно использовались для тестирования утилиты). Утилита игнорирует файлы с расширением .dll и все файлы в каталогах C:\Program Files\, C:\Program Files (x86)\ и C:\Windows.

2️⃣ consume32.exe
Утилита выполняет основную работу по уничтожению файлов. При запуске в аргументах командной строки передаются:

• путь до листинга файлов, подлежащих затиранию (например, созданный list_%d.dll)

• количество строк, которые следует пропустить

• количество строк, которые следует обработать

• режим затирания (1MB/ALL)

Вместо удаления файлов используется алгоритм перезаписи данных блоками по 1 МБ, содержащими 0xFF. Утилита имеет два режима перезаписи данных: 1 МБ в начале каждого файла или полная перезапись файла. В обоих вариантах перезапись начинается с оффсета в 512 байт.

3️⃣ fullscreen32.exe

Выводит окно, показывающее ложное сообщение о сбое ОС и восстановлении файлов (скриншот 2). С помощью вызовов ShowCursor(0) и BlockInput(1) блокируется взаимодействие пользователя с системой. По достижении 100% утилита зависает в бесконечном цикле, отображая максимальный прогресс.

4️⃣, 5️⃣ disconnect32.exe / disconnect64.exe

При запуске перечисляют все сетевые адаптеры (GUID класса — 4D36E972-E325-11CE-BFC1-08002BE10318) и отключают их. Наличие 64-битной версии обусловлено тем, что 32-битные программы запускаются на 64-битных системах с помощью WOW64, поэтому работа с драйверами устройств может происходить не совсем корректно.

6️⃣ control32.exe

Центральный компонент вайпера, ответственный за оркестрацию всех прочих утилит. Запускается с двумя аргументами — YES / любое другое значение и метка времени. При запуске проверяется, что системное время в момент запуска больше, чем то, которое указано в аргументах командной строки, иначе происходит завершение работы ВПО без выполнения полезной нагрузки.

Именно эта утилита запускается с помощью созданной при установке задачи планировщика с аргументами:
• YES
• 3407657776

Утилиты запускаются в следующем порядке (скриншот 3):

1. collect32.exe (с передачей аргумента YES при наличии)

2. fullscreen32.exe

3. disconnect32.exe / disconnect64.exe (в зависимости от архитектуры машины)

4. consume32.exe

Отдельно стоит отметить, что при запуске consume32.exe для каждого диска запускается отдельный поток исполнения, в котором над пачками по 1000 файлов вызывается сначала частичное уничтожение (аргумент 1MB, скриншот 4), а затем — десятикратное полное уничтожение (аргумент ALL) (скриншот 5).


#dfir #ir #wiper #malware
@ptescalator

Ещё от oUth0R

Ещё от oUth0R

Ещё в группе «Вредоносное ПО»

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Операция Chewbacca

    В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…

  • Ваш сервер Zimbra под угрозой

    Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…