Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
shellen — :cherry_blossom: Environnement interactif de shellcoding pour créer facilement des shellcodes | Kitploit
Outils/GitHubGitHub/konatabrk/shellen
ExploitationRétro-ingénierieShellcodeCTFAnalyse de BinairesApprentissage et ÉducationGénération de ShellcodeDéveloppement de Charges Utiles
GitHubkonatabrk/shellen

shellen

🌸 Environnement interactif de shellcoding pour créer facilement des shellcodes

Voir le dépôt
90793il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Shellen

Général

Shellen est un environnement interactif de shellcoding. Si vous voulez un outil pratique pour écrire des shellcodes, alors shellen peut être votre ami. Shellen peut également être utilisé comme outil d'assemblage ou de désassemblage.

Les moteurs keystone et capstone sont utilisés pour toutes les opérations de shellen.

Shellen fonctionne uniquement avec python3. Le support de python2 pourrait apparaître à l'avenir.

Installation

Tout d'abord, vous devriez installer les dépendances de shellen :

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

Vous pouvez installer la version stable de shellen en utilisant pip3 :

root@kitploit:~
$ sudo pip3 install shellen

Ou si vous disposez déjà de tous les paquets requis (voir Prérequis) :

root@kitploit:~
$ python3 setup.py install

Si vous rencontrez des problèmes avec l'installation de keystone-engine, vous devriez compiler keystone-engine (voir le fichier COMPILE.md dans le dépôt keystone)

Comment lancer Shellen

Après avoir installé shellen et ses paquets requis, vous pouvez lancer shellen en tapant ce qui suit dans votre terminal :

root@kitploit:~
$ shellen

Vous pouvez exécuter la commande help de shellen pour obtenir des informations sur l'utilisation de shellen.

Fonctionnalités de Shellen

Shellen assemble et désassemble des instructions, il existe donc deux modes d'utilisation : asm et dsm respectivement. Il existe également d'autres fonctionnalités, notamment la recherche dans les tables de syscalls et la recherche de shellcodes courants.

Invite

Shellen possède une invite utile qui affiche le mode actuel, l'OS (système d'exploitation pour les syscalls) et l'architecture choisie pour le mode actuel. L'invite de shellen ressemble à ceci :

root@kitploit:~
L:asm:x86_32 >

Vous pouvez modifier votre saisie comme si vous tapiez dans un terminal. De plus, shellen enregistre l'historique de vos commandes (appuyez simplement sur la flèche vers le haut pour voir vos commandes précédentes).

L est le nom abrégé de Linux dans l'invite. Voici la liste de tous les autres noms d'OS :

  • L est Linux
  • W est Windows
  • M est MacOS

Si vous voulez changer d'OS, tapez setos [linux/windows/macos] comme suit :

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

[+] OS changed to windows.

Pour changer de mode actuel, entrez asm ou dsm dans l'invite.

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

[+] Changed to asm (assembly) mode

L:asm:x86_32 > dsm

[+] Changed to dsm (disassembly) mode

L:dsm:arm32 > 

Commandes de base

CommandeDescription
clearEfface l'écran du terminal. Comme d'habitude, cls sur Windows ou clear sur les systèmes *nix.

Assemblage

Pour assembler des instructions, tapez-les et séparez-les par des points-virgules comme indiqué ici :

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 vos octets assemblés contiennent un octet nul, shellen vous en informera.

Désassemblage

Le désassemblage est similaire à l'assemblage. À la place, tapez vos octets dans l'invite et voyez le résultat !

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

Exécuter un shellcode

De plus, vous pouvez exécuter votre shellcode dans un sous-processus. Sachez que cela peut nuire à votre système !. Lancez le dernier shellcode dans un sous-processus. Qu'est-ce qui pourrait mal tourner ?' Notez que vous ne contrôlez pas l'adresse de base à laquelle votre code est chargé, et cela suppose que les instructions ont du sens pour votre CPU. Voir help à l'intérieur de shellen pour savoir comment l'utiliser.

Je prévois d'exécuter le sous-processus dans un environnement virtuel afin de rendre plus sûre l'exécution de shellcodes potentiellement dangereux.

Architectures

Les modes asm et dsm fonctionnent pour différentes architectures. Pour voir la liste des architectures disponibles pour le mode actuel de shellen, tapez ceci :

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

Si vous voulez changer l'architecture actuelle, entrez ce qui suit :

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

[+] Architecture of dsm changed to arm32

Syscalls

Lorsque vous créez un shellcode, vous aurez besoin de syscalls. Pour rechercher des syscalls avec shellen, tapez sys et le nom du syscall souhaité. Shellen produira une liste de syscalls qui peut contenir le syscall que vous cherchez.

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 affiche une liste de variantes possibles pour le syscall fourni. La table de syscalls que shellen parcourt dépend de l'architecture choisie et du système d'exploitation (OS). Dans ce cas, l'architecture est x86_32 et l'OS est Linux.

Shellcodes courants

Shellen peut vous montrer une liste de shellcodes courants en fonction de votre mot-clé. La recherche par mot-clé de shellen utilise l'API de shell-storm.org (merci à l'auteur !) et peut être utilisée comme ceci :

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

Notez que le paramètre count n'est pas requis. Il y a une image de la sortie de shell <keyword> <count> dans la section Images.

Systèmes d'exploitation pris en charge

Actuellement, shellen n'est pris en charge que sur Linux. Si vous voulez ajouter des fonctionnalités pour Windows ou MacOS, ouvrez une issue et j'ajouterai le support.

Comment signaler des problèmes ou demander de nouvelles fonctionnalités

Si vous trouvez un problème/bug, ouvrez une issue à propos de ce problème. De plus, si vous pensez qu'une fonctionnalité serait un bon ajout à shellen, faites de même -- ouvrez une issue et j'essaierai d'ajouter la fonctionnalité demandée.

Prérequis

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

TODO

  • Assemblage
  • Désassemblage
  • Listes de syscalls
  • Base de données de shellcodes courants
  • Ajouter un constructeur de ROP
  • Ajouter l'édition d'un code assembleur sur plusieurs lignes
  • Historiques différents pour les modes asm et dsm
  • Environnement virtuel pour exécuter des shellcodes

Images

Juste une petite collection d'images. (Elles sont obsolètes en raison de l'ajout de différentes fonctionnalités)





Télécharger l’outil
help
Affiche le message d'aide.
quit,q,exitTermine la session en cours et quitte