Desarrolla Shellcodes

Desarrolla Shellcodes

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

Código: ASM
  1. mov r2, #75;
  2. add r3, r2;
  3. sub r3, r2, #1;
  4. 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

Código: ASM
  1. mov r2, #75;
  2. add r3, r2;
  3. sub r3, r2, #0000;
  4. 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.