
nightcrawler — Updated!
Lokaler KI-gestützter Red-Teamer auf einem Telefon
Nightcrawler
Ein autonomer Penetrationstest-Agent, der vollständig auf einem Smartphone läuft. Legen Sie das Telefon in ein Netzwerk, gehen Sie weg, und es entdeckt Hosts, kartiert Dienste, findet Schwachstellen und erstellt einen Pentest-Bericht – ganz ohne Cloud-Anbindung.
░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0
AUTONOMOUS MOBILE PENTEST AGENT
OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU
Was ist das?
Penetrationstests (Pentesting) sind die Praxis, die Sicherheit eines Computernetzwerks zu testen, indem ein Angriff simuliert wird – mit ausdrücklicher Genehmigung des Netzwerkbesitzers. Professionelle Pentester werden beauftragt, Schwachstellen zu finden, bevor echte Angreifer es tun.
Nightcrawler automatisiert diesen Prozess auf einem Telefon. Es verwendet ein kleines KI-Modell (LFM2.5-1.2B-Instruct-Heretic, 1,2 Milliarden Parameter), das lokal auf der GPU des Telefons läuft, um zu entscheiden, was als Nächstes zu tun ist – welcher Host untersucht wird, welches Tool verwendet wird, wonach gesucht werden soll. Keine Internetverbindung oder Cloud-API erforderlich.
Demo
▶️ Sehen Sie Nightcrawler in Aktion auf Instagram
So funktioniert es
- WiFi-Breach (optional) – Wenn ohne WiFi bereitgestellt, kann es autonom WPA2-Netzwerke mit einem externen USB-WiFi-Adapter knacken
- Aufklärung – Entdeckt Geräte im Netzwerk mithilfe von Stealth-Scans
- Enumeration – Untersucht entdeckte Dienste (Webserver, Dateifreigaben, SSH, DNS usw.)
- Exploitation – Testet auf bekannte Schwachstellen und Standard-Anmeldedaten
- Berichterstellung – Erstellt einen strukturierten Pentest-Bericht mit Erkenntnissen und Behebungsempfehlungen
Der Agent arbeitet wie ein geduldiger menschlicher Pentester – er rotiert zwischen Hosts, führt eine kleine Aktion pro Zug aus und baut über Stunden hinweg schrittweise Wissen auf. Dadurch ist er viel schwerer zu erkennen als herkömmliche Schwachstellenscanner, die jeden Host auf einmal attackieren.
Kernkonzepte
| Begriff | Bedeutung |
|---|---|
| Drop Box | Ein Gerät, das in einem Zielnetzwerk zurückgelassen wird, um autonom Tests durchzuführen |
| Scope | Die Gruppe von Netzwerken/Hosts, die Sie testen dürfen |
| Rules of Engagement (ROE) | Ein rechtliches Dokument, das festlegt, was Sie tun dürfen |
| Stealth | Techniken zur Vermeidung der Erkennung durch Netzwerküberwachung (IDS/IPS) |
| MCP | Model Context Protocol – eine Standardschnittstelle für die KI-Werkzeugnutzung |
| C2 | Command and Control – das Web-Dashboard zur Überwachung und Steuerung des Agents |
Architektur
┌──────────────────────────────────────────────────────────┐
│ PHONE (OnePlus 8) │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ LFM2.5 │ │ Agent Loop │ │
│ │ 1.2B model │◄───►│ (main.py) │ │
│ │ on GPU │ │ Decides what │ │
│ │ (:8080) │ │ to do next │ │
│ └─────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Scope Proxy │ ← Safety layer │
│ │ Validates every │ Blocks out- │
│ │ command before │ of-scope │
│ │ execution │ actions │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Kali MCP Server │ ← Runs the │
│ │ nmap, curl, │ actual │
│ │ smbclient, ... │ commands │
│ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Web Dashboard │ │ SQLite DB │ │
│ │ (:8888) │ │ Hosts, vulns, │ │
│ │ Monitor & steer │ │ creds, commands │ │
│ └──────────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────────────┘
Für das vollständige Systemdesign siehe docs/ARCHITECTURE.md.
Funktionen
- Vollständig autonom – kein Mensch im Regelkreis während des Betriebs
- 100 % lokale Inferenz – KI läuft auf der GPU des Telefons, keine Cloud erforderlich
- Scope-erzwungen – zweischichtige Verteidigung verhindert Aktionen außerhalb des Scopes
- Stealth-first – langsame Scanraten, Host-Rotation, Tarnverkehr, nur nmap -T2
- 27 Exploit-Playbooks – mehrstufige Angriffsketten, die automatisch ausgeführt werden
- 24.956-Einträge-CVE-Datenbank – versionsbewusster Schwachstellenabgleich
- Web-Dashboard – Echtzeitüberwachung, Host-Verwaltung, C2-Steuerung
- WiFi-Breach-Modus – autonomes WPA2-Knacken mit USB-Adapter (Pwnagotchi-inspiriert)
- Passive Erkennung – Hintergrund-Erfassung von mDNS/NBNS/DHCP/ARP-Broadcasts
- Multi-Netzwerk – Daten pro Netzwerk isoliert, übersteht DHCP-Änderungen durch MAC-Schlüssel-Hosts
- Selbstheilend – Garbage-Erkennung, Kontext-Reset, Watchdogs, Erkennung von Hängern
- Trainingserfassung – protokolliert erfolgreiche Interaktionen für zukünftiges Modell-Feintuning
- Berichtserstellung – herunterladbarer Pentest-Bericht mit Schwachstellen, Exploit-Ketten und Behebung
Siehe docs/FEATURES.md für die vollständige Funktionsreferenz.
Hardware
Erforderlich
- Android-Telefon mit Kali NetHunter (getestet auf OnePlus 8, Snapdragon 865)
- Root-Zugriff über Magisk
- 12 GB+ RAM (Modell benötigt ~1,3 GB, Android ~4 GB, Rest für Tools)
Optional
- USB-WiFi-Adapter für den Offline-WiFi-Breach-Modus (Ralink RT3572 empfohlen)
- Benutzerdefinierter Kernel mit MAC80211 für den Monitor-Modus (Build-Anleitung)
- NVIDIA AGX zum Auslagern auf ein größeres Modell über Tailscale
GPU-Leistung
Alle Inferenzen über OpenCL auf der Adreno-650-GPU:
| Modell | Quantisierung | Prompt-Geschwindigkeit | Generierungsgeschwindigkeit |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic (Produktion) | Q8_0 | 115 tok/s | 13 tok/s |
| Qwen3.5-0.8B | Q8_0 | 30,5 tok/s | 6,3 tok/s |
| Qwen3.5-4B | Q4_0 | 10,1 tok/s | 2,0 tok/s |
Hinweis: Android drosselt die GPU im Akkubetrieb (6-fache Verlangsamung). Nightcrawler enthält einen GPU-Governor-Daemon, der maximale Leistung erzwingt und bei ≤15 % Akku automatisch drosselt.
Schnellstart
# 1. Installation (innerhalb des Kali NetHunter chroot)
bash INSTALL.sh
# 2. Warten, bis llama-server startet (~5 Min nach dem Booten)
curl -s http://127.0.0.1:8080/health # Sollte {"status":"ok"} zurückgeben
# 3. Alle Dienste starten
bash scripts/run-36h.sh
# 4. Web-Dashboard öffnen (von jedem Gerät in Ihrem Tailscale-Netzwerk)
# https://<your-tailscale-hostname>:8888
Trockenlauf (keine echten Befehle werden ausgeführt)
NC_DRY_RUN=1 python3 main.py
Dies verwendet einen Mock-Kali-Server, sodass Sie die Agent-Schleife testen können, ohne echte Netzwerkbefehle auszuführen.