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

Ещё в группе «Вредоносное ПО»
- Этот ваш Siemens…
Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…
- Анти-антивирус
Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…
- .exe .docm .xlsm
.exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Ваш сервер Zimbra под угрозой
Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…
В ходе расследования одного из инцидентов командой реагирования 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.exe3.
disconnect32.exe / disconnect64.exe (в зависимости от архитектуры машины)4.
consume32.exeОтдельно стоит отметить, что при запуске
consume32.exe для каждого диска запускается отдельный поток исполнения, в котором над пачками по 1000 файлов вызывается сначала частичное уничтожение (аргумент 1MB, скриншот 4), а затем — десятикратное полное уничтожение (аргумент ALL) (скриншот 5).




#dfir #ir #wiper #malware
@ptescalator
Ещё в группе «Вредоносное ПО»
- Этот ваш Siemens…
Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…
- Анти-антивирус
Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…
- .exe .docm .xlsm
.exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Ваш сервер Zimbra под угрозой
Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…






