En esta ocasión vengo a presentar una herramienta que me ha parecido bastante interesante.
Se trata de Shellten (https://github.com/merrychap/shellen)
Tal como indica su descripción es un entorno para facilitar el desarrollo de shellcode.
Actualmente cuenta con las siguientes caracteristicas:
Assembling
Disassembling
Syscalls lists
Database of common shellcodes
Tras instalarlo siguiendo las instrucciones del repo de github, nos encontramos con una aplicacion de consola.
El prompt que nos devuelve por defecto es L:asm:x86_32
L – Linux
asm – Modo de ensamblado
x86_32 – Arquitectura
Podemos ver que arquitecturas soporta la herramienta con el comando archs
Otra opcion interesante, es que permite usar la API de shell storm para buscar shellcodes, por ejemplo
Ahora probaremos a construir un shellcode de ejemplo (inventado) en arm_x32
-
mov r2, #75;
-
add r3, r2;
-
sub r3, r2, #1;
-
mov r4, r3;
Primero cambiamos el modo de shellten a linux:asm:arm32
Introducimos las instrucciones para que nos lo codifique:
Si ahora cambiamos el modo de asm a dsm con el comando dsm y la arquitectura de nuevo a arm32
e introducimos lo que nos ha devuelto antes, nos lo pasa a instrucciones correctamente
Si ahora probamos a generar shellcode con las instrucciones
-
mov r2, #75;
-
add r3, r2;
-
sub r3, r2, #0000;
-
mov r4, r3;
Nos avisa que nuestra shellcode contiene bytes nulos y nos los remarca
Otro gran punto a favor de shellten es que nos da la informacion de uso de las llamadas al sistema con el comando sys +palabra_clave, por ejemplo
Ahora tienen mucho para divertirse, Happy Hacking.