Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
shellen — :cherry_blossom: Ambiente interattivo di shellcoding per creare facilmente shellcode | Kitploit
Strumenti/GitHubGitHub/konatabrk/shellen
ExploitReverse EngineeringShellcodeCTFAnalisi di BinariApprendimento e FormazioneGenerazione di ShellcodeSviluppo Payload
GitHubkonatabrk/shellen

shellen

🌸 Ambiente interattivo di shellcoding per creare facilmente shellcode

Vedi Repository
907935 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Shellen

General

Shellen è un ambiente interattivo per lo shellcoding. Se vuoi uno strumento pratico per scrivere shellcode, allora shellen potrebbe fare al caso tuo. Shellen può essere usato anche come strumento di assembly o disassembly.

I motori keystone e capstone sono usati per tutte le operazioni di shellen.

Shellen funziona solo con python3. Il supporto a python2 potrebbe arrivare in futuro.

Installing

Per prima cosa, dovresti installare le dipendenze di shellen:

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

Puoi installare la versione stabile di shellen usando pip3:

root@kitploit:~
$ sudo pip3 install shellen

Oppure, se hai già tutti i pacchetti richiesti (vedi Requisiti):

root@kitploit:~
$ python3 setup.py install

Se hai problemi con l'installazione di keystone-engine, dovresti compilare keystone-engine (vedi il file COMPILE.md nel repository keystone)

How to Run Shellen

Dopo aver installato shellen e i suoi pacchetti richiesti, puoi eseguire shellen digitando quanto segue nel terminale:

root@kitploit:~
$ shellen

Puoi eseguire il comando help di shellen per ottenere informazioni sull'uso di shellen.

Funzionalità di Shellen

Shellen assembla e disassembla istruzioni, quindi ci sono due modalità d'uso: rispettivamente asm e dsm. Ci sono altre funzionalità, tra cui la ricerca nelle tabelle delle syscall e la ricerca di shellcode comuni.

Prompt

Shellen ha un prompt utile che mostra la modalità corrente, il sistema operativo (OS per le syscall) e l'architettura scelta per la modalità corrente. Il prompt di shellen si presenta così:

root@kitploit:~
L:asm:x86_32 >

Puoi modificare l'input come se stessi digitando in un terminale. Inoltre, shellen registra la cronologia dei tuoi comandi (basta premere la freccia su per vedere i comandi precedenti).

L è il nome abbreviato di Linux nel prompt. Di seguito sono elencati tutti gli altri nomi di sistemi operativi:

  • L è Linux
  • W è Windows
  • M è MacOS

Se vuoi cambiare sistema operativo, digita setos [linux/windows/macos] come segue:

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

[+] OS changed to windows.

Per cambiare modalità corrente, inserisci asm o dsm nel 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 > 

Comandi di base

ComandoDescrizione
clearPulisce lo schermo del terminale. Come al solito cls su Windows o clear sui sistemi *nix.

Assemblaggio

Per assemblare istruzioni, digitale e separale con punti e virgola come mostrato qui:

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"

Se i byte assemblati contengono un byte nullo, shellen te lo farà notare.

Disassemblaggio

Il disassemblaggio è simile all'assemblaggio. Invece, digita i tuoi byte nel prompt e guarda il risultato!

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

Esecuzione di shellcode

Inoltre, puoi eseguire il tuo shellcode in un sottoprocesso. Tieni presente che questo può danneggiare il tuo sistema!. Salta all'ultimo shellcode in un sottoprocesso. Cosa potrebbe mai andare storto?' Nota che non puoi controllare l'indirizzo di base a cui il tuo codice viene caricato, e questo presuppone che le istruzioni abbiano senso per la tua CPU. Consulta help all'interno di shellen per vedere come usarlo.

Ho intenzione di eseguire il sottoprocesso in un qualche ambiente virtuale per rendere più sicura l'esecuzione di shellcode potenzialmente pericolosi.

Architetture

Le modalità asm e dsm funzionano per diverse architetture. Per vedere un elenco delle architetture disponibili per la modalità corrente di shellen, digita questo:

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

Se vuoi cambiare l'architettura corrente, inserisci quanto segue:

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

[+] Architecture of dsm changed to arm32

Syscall

Quando crei uno shellcode, avrai bisogno delle syscall. Per cercare le syscall con shellen, digita sys e il nome della syscall desiderata. Shellen produrrà un elenco di syscall che potrebbe contenere la syscall che stavi cercando.

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 stampa un elenco delle possibili varianti per la syscall fornita. La tabella delle syscall che shellen esamina dipende dall'architettura e dal sistema operativo (OS) scelti. In questo caso, l'architettura è x86_32 e il sistema operativo è Linux.

Shellcode comuni

Shellen può mostrarti un elenco di shellcode comuni in base alla tua parola chiave. La ricerca per parola chiave di shellen utilizza l'API di shell-storm.org (grazie all'autore!) e può essere usata così:

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

Nota: il parametro count non è obbligatorio. C'è un'immagine dell'output di shell <keyword> <count> nella sezione Immagini.

Sistemi operativi supportati

Attualmente, shellen è supportato solo su Linux. Se vuoi aggiungere funzionalità per Windows o MacOS, apri una issue e aggiungerò il supporto.

Come segnalare problemi o richiedere nuove funzionalità

Se trovi un problema/bug o qualcosa del genere, apri una issue su questo problema. Inoltre, se pensi che una funzionalità sarebbe una bella aggiunta a shellen, fai lo stesso -- apri una issue e cercherò di aggiungere la funzionalità che hai richiesto.

Requisiti

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

TODO

  • Assemblaggio
  • Disassemblaggio
  • Elenchi delle syscall
  • Database di shellcode comuni
  • Aggiungere un ROP builder
  • Aggiungere la modifica di un codice assembly su più righe
  • Cronologie diverse per le modalità asm e dsm
  • Ambiente virtuale per eseguire shellcode

Immagini

Giusto un piccolo gruppo di immagini. (Sono datate a causa dell'aggiunta di diverse funzionalità)





Scarica lo strumento
help
Mostra il messaggio di aiuto.
quit,q,exitTermina la sessione corrente ed esce.