Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
shellen — :cherry_blossom: Entorno interactivo de shellcoding para crear shellcodes fácilmente | Kitploit
Herramientas/GitHubGitHub/konatabrk/shellen
ExplotaciónIngeniería InversaShellcodeCTFAnálisis de BinariosAprendizaje y EducaciónGeneración de ShellcodeDesarrollo de Payloads
GitHubkonatabrk/shellen

shellen

🌸 Entorno interactivo de shellcoding para crear shellcodes fácilmente

Ver Repositorio
90793hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Shellen

General

Shellen es un entorno interactivo para escribir shellcodes. Si buscas una herramienta práctica para escribir shellcodes, shellen puede ser tu amiga. Shellen también puede usarse como herramienta de ensamblado o desensamblado.

Los motores keystone y capstone se utilizan para todas las operaciones de shellen.

Shellen solo funciona con python3. El soporte para python2 puede aparecer en el futuro.

Instalación

Primero, debes instalar las dependencias de shellen:

root@kitploit:~
$ sudo apt-get install cmake python3-dev python3-setuptools

Puedes instalar la versión estable de shellen usando pip3:

root@kitploit:~
$ sudo pip3 install shellen

O si ya tienes todos los paquetes necesarios (consulta Requirements):

root@kitploit:~
$ python3 setup.py install

Si tienes problemas al instalar keystone-engine, deberías compilar keystone-engine (consulta el archivo COMPILE.md en el repositorio keystone)

Cómo Ejecutar Shellen

Después de instalar shellen y sus paquetes necesarios, puedes ejecutar shellen escribiendo lo siguiente en tu terminal:

root@kitploit:~
$ shellen

Puedes ejecutar el comando help de shellen para obtener información sobre el uso de shellen.

Características de Shellen

Shellen ensambla y desensambla instrucciones, por lo que hay dos modos de uso: asm y dsm, respectivamente. Hay otras características que incluyen la búsqueda en tablas de syscalls y la búsqueda de shellcodes comunes.

Prompt

Shellen tiene un prompt útil que muestra el modo actual, el SO (sistema operativo para syscalls) y la arquitectura elegida para el modo actual. El prompt de shellen se ve así:

root@kitploit:~
L:asm:x86_32 >

Puedes editar tu entrada como si estuvieras escribiendo en una terminal. Además, shellen registra tu historial de comandos (solo presiona la flecha hacia arriba para ver tus comandos anteriores).

L es el nombre abreviado de Linux en el prompt. A continuación se listan todos los demás nombres de SO:

  • L es Linux
  • W es Windows
  • M es MacOS

Si quieres cambiar de SO, escribe setos [linux/windows/macos] de la siguiente manera:

root@kitploit:~
L:asm:x86_32 > setos windows

[+] OS changed to windows.

Para cambiar el modo actual, ingresa asm o dsm en el prompt.

root@kitploit:~
L:dsm:arm32 > asm

[+] Changed to asm (assembly) mode

L:asm:x86_32 > dsm

[+] Changed to dsm (disassembly) mode

L:dsm:arm32 > 

Comandos Básicos

ComandoDescripción
clearLimpia la pantalla de la terminal. Como es habitual, cls en Windows o clear en sistemas *nix.

Ensamblado

Para ensamblar instrucciones, escríbelas y sepáralas con punto y coma como se muestra aquí:

root@kitploit:~
L:asm:x86_32 > mov edx, eax; xor eax, eax; inc edx; int 80;
   [+] Bytes count: 7
       Raw bytes:  "\x89\xc2\x31\xc0\x42\xcd\x50"
       Hex string: "89c231c042cd50"

Si los bytes ensamblados contienen un byte nulo, shellen te lo indicará.

Desensamblado

El desensamblado es similar al ensamblado. En su lugar, escribe tus bytes en el prompt y ¡observa el resultado!

root@kitploit:~
L:dsm:x86_32 > 89c231c042cd50
        0x00080000:     mov     edx, eax
        0x00080002:     xor     eax, eax
        0x00080004:     inc     edx
        0x00080005:     int     0x50

Ejecutar shellcode

También puedes ejecutar tu shellcode en un subproceso. ¡Ten en cuenta que esto puede dañar tu sistema!. Salta al último shellcode en un subproceso. ¿Qué podría salir mal? Ten en cuenta que no controlas la dirección base en la que se carga tu código, y esto asume que las instrucciones tendrán sentido para tu CPU. Consulta help dentro de shellen para ver cómo usarlo.

Estoy planeando ejecutar el subproceso en algún entorno virtual para que sea más seguro ejecutar shellcodes potencialmente peligrosos.

Arquitecturas

Los modos asm y dsm funcionan para diferentes arquitecturas. Para ver una lista de las arquitecturas disponibles para el modo actual de shellen, escribe esto:

root@kitploit:~
L:dsm:x86_32 > archs
┌────────┬────────┬─────────┬─────────┬────────┐
│        │        │         │         │        │
│ arm32  │ mips32 │ sparc32 │ systemz │ x86_16 │
│ arm64  │ mips64 │ sparc64 │         │ x86_32 │
│ arm_tb │        │         │         │ x86_64 │
└────────┴────────┴─────────┴─────────┴────────┘

Si quieres cambiar la arquitectura actual, ingresa lo siguiente:

root@kitploit:~
L:dsm:x86_32 > setarch arm32

[+] Architecture of dsm changed to arm32

Syscalls

Cuando creas un shellcode, necesitarás syscalls. Para buscar syscalls con shellen, escribe sys y el nombre de la syscall deseada. Shellen mostrará una lista de syscalls que puede contener la syscall que buscabas.

root@kitploit:~
L:asm:x86_32 > sys open

┌────────┬───────┬──────────────────────┬──────────────────────┬──────────────┬──────────────┐
│ name   │ eax   │ ebx                  │ ecx                  │ edx          │ esi          │
├────────┼───────┼──────────────────────┼──────────────────────┼──────────────┼──────────────┤
│ open   │ 0x05  │ const char *filename │ int flags            │ umode_t mode │ -            │
│ openat │ 0x127 │ int dfd              │ const char *filename │ int flags    │ umode_t mode │
└────────┴───────┴──────────────────────┴──────────────────────┴──────────────┴──────────────┘

sys muestra una lista de posibles variantes para la syscall proporcionada. La tabla de syscalls que shellen busca depende de la arquitectura y del sistema operativo (SO) elegidos. En este caso, la arquitectura es x86_32 y el SO es Linux.

Shellcodes Comunes

Shellen puede mostrarte una lista de shellcodes comunes según tu palabra clave. La búsqueda por palabra clave de shellen utiliza la API de shell-storm.org (¡gracias al autor!) y se puede usar así:

root@kitploit:~
L:asm:x86_32 > shell <keyword> <count>

Ten en cuenta que el parámetro count no es obligatorio. Hay una imagen de la salida de shell <keyword> <count> en la sección Pictures.

Sistemas Operativos Compatibles

Actualmente, shellen solo es compatible con Linux. Si quieres añadir funcionalidad para Windows o MacOS, escribe un issue y añadiré el soporte.

Cómo Reportar Problemas o Solicitar Nuevas Funciones

Si encuentras un problema/error o algo similar, escribe un issue sobre ese problema. Además, si crees que una función sería una buena incorporación a shellen, haz lo mismo: escribe un issue e intentaré añadir la función solicitada.

Requirements

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

TODO

  • Ensamblado
  • Desensamblado
  • Listas de syscalls
  • Base de datos de shellcodes comunes
  • Añadir constructor de ROP
  • Añadir edición de código ensamblador en múltiples líneas
  • Historiales diferentes para los modos asm y dsm
  • Entorno virtual para ejecutar shellcodes

Pictures

Solo un pequeño grupo de imágenes. (Están desactualizadas debido a la incorporación de diferentes funciones)





Descargar herramienta
help
Muestra el mensaje de ayuda.
quit,q,exitFinaliza la sesión actual y sale