अपडेट पर वापस जाएँ
UpdatedAug 31, 2026

nightcrawler — Updated!

फोन पर स्थानीय AI-संचालित रेड टीमर

साझा करें

नाइटक्रॉलर

एक स्वायत्त पैठ परीक्षण एजेंट जो पूरी तरह से स्मार्टफोन पर चलता है। फोन को नेटवर्क पर छोड़ दें, चले जाएं, और यह होस्ट खोजता है, सेवाओं का मानचित्रण करता है, कमजोरियां ढूंढता है, और एक पेंटेस्ट रिपोर्ट तैयार करता है — बिना किसी क्लाउड कनेक्टिविटी के।

 ░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
 ░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄  v0.1.0

 AUTONOMOUS MOBILE PENTEST AGENT
 OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU

यह क्या है?

पैठ परीक्षण (पेंटेस्टिंग) किसी कंप्यूटर नेटवर्क की सुरक्षा का परीक्षण करने की प्रथा है, जिसमें एक हमले का अनुकरण किया जाता है — नेटवर्क मालिक की स्पष्ट अनुमति के साथ। पेशेवर पेंटेस्टर्स को वास्तविक हमलावरों से पहले कमजोरियां खोजने के लिए काम पर रखा जाता है।

नाइटक्रॉलर इस प्रक्रिया को फोन पर स्वचालित करता है। यह फोन के GPU पर स्थानीय रूप से चलने वाले एक छोटे AI मॉडल (LFM2.5-1.2B-Instruct-Heretic, 1.2 बिलियन पैरामीटर) का उपयोग करके निर्णय लेता है कि आगे क्या करना है — किस होस्ट की जांच करनी है, कौन सा टूल उपयोग करना है, क्या खोजना है। कोई इंटरनेट कनेक्शन या क्लाउड API आवश्यक नहीं है।

डेमो

▶️ Instagram पर नाइटक्रॉलर को क्रियाशील देखें

यह कैसे काम करता है

  1. WiFi ब्रीच (वैकल्पिक) — यदि WiFi के बिना छोड़ा जाता है, तो यह बाहरी USB WiFi एडाप्टर का उपयोग करके WPA2 नेटवर्क को स्वायत्त रूप से क्रैक कर सकता है
  2. रीकॉनिसेंस — स्टील्थ स्कैन का उपयोग करके नेटवर्क पर डिवाइस खोजता है
  3. एन्यूमरेशन — खोजी गई सेवाओं (वेब सर्वर, फ़ाइल शेयर, SSH, DNS, आदि) की जांच करता है
  4. एक्सप्लॉइटेशन — ज्ञात कमजोरियों और डिफ़ॉल्ट क्रेडेंशियल्स का परीक्षण करता है
  5. रिपोर्टिंग — निष्कर्षों और सुधार सलाह के साथ एक संरचित पेंटेस्ट रिपोर्ट तैयार करता है

एजेंट एक धैर्यवान मानव पेंटेस्टर की तरह काम करता है — यह होस्ट के बीच घूमता है, प्रति टर्न एक छोटी क्रिया करता है, और घंटों में धीरे-धीरे ज्ञान का निर्माण करता है। यह पारंपरिक कमजोरी स्कैनरों की तुलना में इसे पहचानना बहुत कठिन बनाता है जो एक साथ हर होस्ट पर हमला करते हैं।

मुख्य अवधारणाएं

शब्दइसका अर्थ
ड्रॉप बॉक्सलक्ष्य नेटवर्क पर स्वायत्त परीक्षण करने के लिए छोड़ा गया एक डिवाइस
स्कोपनेटवर्क/होस्ट का सेट जिसे आप परीक्षण करने के लिए अधिकृत हैं
Rules of Engagement (ROE)एक कानूनी दस्तावेज़ जो निर्दिष्ट करता है कि आपको क्या करने की अनुमति है
स्टील्थनेटवर्क मॉनिटरिंग (IDS/IPS) द्वारा पहचान से बचने की तकनीकें
MCPModel Context Protocol — AI टूल उपयोग के लिए एक मानक इंटरफ़ेस
C2Command and Control — एजेंट की निगरानी और मार्गदर्शन के लिए वेब डैशबोर्ड

आर्किटेक्चर

┌──────────────────────────────────────────────────────────┐
│                   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 │              │
│  └──────────────────┘  └──────────────────┘              │
└──────────────────────────────────────────────────────────┘

पूर्ण सिस्टम डिज़ाइन के लिए, docs/ARCHITECTURE.md देखें।

विशेषताएं

  • पूरी तरह से स्वायत्त — ऑपरेशन के दौरान कोई मानव हस्तक्षेप नहीं
  • 100% स्थानीय इन्फ्रेंस — AI फोन के GPU पर चलता है, क्लाउड की आवश्यकता नहीं
  • स्कोप-प्रवर्तित — दो-स्तरीय सुरक्षा स्कोप से बाहर की क्रियाओं को रोकती है
  • स्टील्थ-प्रथम — धीमी स्कैन दरें, होस्ट रोटेशन, कवर ट्रैफ़िक, केवल nmap -T2
  • 27 एक्सप्लॉइट प्लेबुक — बहु-चरणीय हमले श्रृंखलाएं जो स्वचालित रूप से निष्पादित होती हैं
  • 24,956-प्रविष्टि CVE डेटाबेस — संस्करण-जागरूक कमजोरी मिलान
  • वेब डैशबोर्ड — वास्तविक समय निगरानी, होस्ट प्रबंधन, C2 नियंत्रण
  • WiFi ब्रीच मोड — USB एडाप्टर के साथ स्वायत्त WPA2 क्रैकिंग (Pwnagotchi-प्रेरित)
  • निष्क्रिय खोज — mDNS/NBNS/DHCP/ARP ब्रॉडकास्ट की पृष्ठभूमि कैप्चर
  • बहु-नेटवर्क — डेटा प्रति नेटवर्क अलग-थलग, MAC-कीड होस्ट के माध्यम से DHCP परिवर्तनों से बचता है
  • स्व-उपचार — कचरा पहचान, संदर्भ रीसेट, वॉचडॉग, अटक पहचान
  • प्रशिक्षण कैप्चर — भविष्य के मॉडल फाइन-ट्यूनिंग के लिए सफल इंटरैक्शन लॉग करता है
  • रिपोर्ट निर्माण — कमजोरियों, एक्सप्लॉइट श्रृंखलाओं, सुधार के साथ डाउनलोड करने योग्य पेंटेस्ट रिपोर्ट

पूर्ण फीचर संदर्भ के लिए docs/FEATURES.md देखें।

हार्डवेयर

आवश्यक

  • Android फोन Kali NetHunter के साथ (OnePlus 8, Snapdragon 865 पर परीक्षण किया गया)
  • रूट एक्सेस Magisk के माध्यम से
  • 12GB+ RAM (मॉडल ~1.3GB उपयोग करता है, Android ~4GB उपयोग करता है, बाकी टूल्स के लिए)

वैकल्पिक

  • USB WiFi एडाप्टर ऑफ़लाइन WiFi ब्रीच मोड के लिए (Ralink RT3572 अनुशंसित)
  • कस्टम कर्नेल मॉनिटर मोड के लिए MAC80211 के साथ (बिल्ड गाइड)
  • NVIDIA AGX Tailscale पर बड़े मॉडल में ऑफलोडिंग के लिए

GPU प्रदर्शन

Adreno 650 GPU पर OpenCL के माध्यम से सभी इन्फ्रेंस:

मॉडलक्वांटाइज़ेशनप्रॉम्प्ट गतिजनरेशन गति
LFM2.5-1.2B-Instruct-Heretic (प्रोडक्शन)Q8_0115 tok/s13 tok/s
Qwen3.5-0.8BQ8_030.5 tok/s6.3 tok/s
Qwen3.5-4BQ4_010.1 tok/s2.0 tok/s

नोट: Android बैटरी पावर पर GPU को थ्रॉटल करता है (6x धीमा)। नाइटक्रॉलर में एक GPU गवर्नर डेमॉन शामिल है जो अधिकतम प्रदर्शन को बल देता है और ≤15% बैटरी पर स्वचालित रूप से थ्रॉटल करता है।

त्वरित प्रारंभ

# 1. इंस्टॉल करें (Kali NetHunter chroot के अंदर)
bash INSTALL.sh

# 2. llama-server शुरू होने की प्रतीक्षा करें (बूट के बाद ~5 मिनट)
curl -s http://127.0.0.1:8080/health  # Should return {"status":"ok"}

# 3. सभी सेवाएं शुरू करें
bash scripts/run-36h.sh

# 4. वेब डैशबोर्ड खोलें (आपके Tailscale नेटवर्क पर किसी भी डिवाइस से)
# https://<your-tailscale-hostname>:8888

ड्राई रन (कोई वास्तविक कमांड निष्पादित नहीं)

NC_DRY_RUN=1 python3 main.py

यह एक मॉक Kali सर्वर का उपयोग करता है ताकि आप वास्तविक नेटवर्क कमांड निष्पादित किए बिना एजेंट लूप का परीक्षण कर सकें।

मैनुअल प्रारंभ (यदि tmux लॉन्चर का उपयोग नहीं कर रहे हैं)

kali-server-mcp --port 5000 &
python3 scope_proxy.py --config config.yaml --port 8800 --upstream http://127.0.0.1:5000 &
bash scripts/webui-daemon.sh start
python3 main.py &

कॉन्फ़िगरेशन

तैनाती से पहले config.yaml संपादित करें:

mission:
  id: "CLIENT-YYYY-XXX"           # Your engagement ID
  scope:
    networks: ["auto"]             # "auto" = detect from wlan0 at startup
    excluded_hosts: ["auto"]       # "auto" = gateway + self IP
    excluded_ports: [502, 503]     # SCADA/ICS ports to never touch
  authorization: "ROE-YYYY-XXX.pdf"
  max_runtime_hours: 0             # 0 = no limit

model:
  local:
    ctx_size: 8192
    port: 8080

डायनामिक स्कोप पहचान का अर्थ है नेटवर्क के बीच जाने पर शून्य कॉन्फ़िगरेशन परिवर्तन — एजेंट स्टार्टअप पर wlan0 से वर्तमान सबनेट पढ़ता है।

प्रोजेक्ट संरचना

nightcrawler/
├── main.py                  # Entry point
├── config.yaml              # Mission scope + model config
├── scope_proxy.py           # Scope enforcement proxy
├── INSTALL.sh               # Installer
│
├── agent/                   # Core agent logic
│   ├── loop.py              # Decision loop + error recovery
│   ├── planner.py           # Phase state machine (recon → exploit)
│   ├── llm_client.py        # LLM API client (llama.cpp / remote)
│   ├── db.py                # SQLite backend (hosts, vulns, creds)
│   ├── host_memory.py       # Per-host observations + auto-tagging
│   ├── cve_db.py            # 24,956-entry CVE database
│   ├── attack_planner.py    # Strategic directives for exploit phase
│   ├── output_parser.py     # Extract structured data from tool output
│   ├── offline_manager.py   # WiFi breach pipeline state machine
│   ├── net_detect.py        # Auto-detect network from wlan0
│   ├── cover_traffic.py     # Stealth blending with realistic web traffic
│   ├── passive_capture.py   # Background tcpdump for broadcast traffic
│   └── ...
│
├── proxy/                   # Scope enforcement components
│   ├── scope.py             # IP/port/host validation
│   ├── rate_limiter.py      # Command rate limiting + jitter
│   └── command_filter.py    # Destructive command blocklist
│
├── webui/                   # Web dashboard (Flask)
│   ├── server.py            # API + stealth middleware
│   └── templates/index.html # Dashboard UI
│
├── data/                    # Static data files
│   ├── cve_exploits.json    # CVE→exploit command mappings
│   └── playbooks.json       # 27 multi-step attack playbooks
│
├── prompts/                 # LLM prompt templates (hot-reloadable)
├── scripts/                 # Operational scripts (start, stop, watchdogs)
├── tests/                   # Test suites (API, UI, offline mode)
├── kernels/                 # WiFi driver modules + kernel docs
├── simulation/              # Dry-run mock server
├── docs/                    # Architecture, GPU setup, features
├── logs/                    # Runtime data (gitignored)
└── models/                  # Model files (gitignored)

एजेंट कैसे सोचता है

एजेंट एक सरल लेकिन प्रभावी लूप का उपयोग करता है:

  1. लक्ष्य चुनें — भारित यादृच्छिक चयन (70% ज्ञात पोर्ट वाले होस्ट, 30% नई खोज)
  2. संदर्भ बनाएं — होस्ट मेमोरी, नेटवर्क अवलोकन, चरण मार्गदर्शन को प्रॉम्प्ट में इंजेक्ट करें
  3. LLM से पूछें — मॉडल REASONING: ... COMMAND: ... उत्पन्न करता है
  4. सत्यापित करें — स्कोप प्रॉक्सी जांचता है कि कमांड स्कोप में है और विनाशकारी नहीं है
  5. निष्पादित करें — कमांड Kali MCP सर्वर के माध्यम से चलता है
  6. सीखें — आउटपुट पार्सर निष्कर्ष निकालता है, होस्ट मेमोरी अपडेट करता है
  7. संदर्भ रीसेट करें — वार्तालाप साफ़ करें, स्थायी मेमोरी रखें, दोहराएं

1.2B मॉडल की ~50% कमांड सफलता दर है (इसके आकार में निहित)। एजेंट इसकी भरपाई करता है:

  • कचरा पहचान — विविध फ्यू-शॉट उदाहरणों के साथ 5-स्ट्रीक रीसेट
  • डुप्लिकेट पहचान — टूल/लक्ष्य विविधीकरण को बल देता है
  • समय-आधारित अटक पहचान — 5-मिनट बैकस्टॉप संदर्भ रीसेट को बल देता है
  • प्रत्यक्ष प्लेबुक निष्पादन — बहु-चरणीय हमले LLM को पूरी तरह से बायपास करते हैं

वेब डैशबोर्ड

:8888 पर डैशबोर्ड वास्तविक समय निगरानी और नियंत्रण प्रदान करता है:

  • लाइव फ़ीड — हर कमांड, निष्कर्ष, और एजेंट निर्णय
  • होस्ट कार्ड — पोर्ट, सेवाएं, कमजोरियां दिखाने वाले क्लिक करने योग्य कार्ड
  • नेटवर्क मानचित्र — इंटरैक्टिव फोर्स-डायरेक्टेड ग्राफ़ (ड्रैग, ज़ूम, पैन)
  • कमजोरी विवरण — CVE टैग, एक्सप्लॉइट श्रृंखलाएं, सुधार चरण
  • C2 नियंत्रण — होस्ट को स्टार/ब्लैकलिस्ट करें, चरण बल दें, रोकें/फिर से शुरू करें, कमांड इंजेक्ट करें
  • ऑफ़लाइन मोड — एनिमेटेड चेहरे के साथ Pwnagotchi-प्रेरित WiFi हमला UI

डैशबोर्ड स्टील्थ-फ़िल्टर्ड है: यह nginx हेडर स्पूफ करता है और लक्ष्य नेटवर्क से कनेक्शनों को खाली 404 लौटाता है।

परीक्षण किए गए परिणाम

कई नेटवर्कों पर 72+ घंटे के स्वायत्त संचालन से:

  • 30+ होस्ट प्रति नेटवर्क खोजे गए
  • 2,000+ कमांड स्वायत्त रूप से निष्पादित
  • 10+ कमजोरियां कई सेवाओं में पाई गईं
  • 6+ प्लेबुक प्रत्यक्ष निष्पादन के माध्यम से निष्पादित
  • एजेंट मेमोरी पूरे समय 35-50MB पर स्थिर (कोई लीक नहीं)

योगदान

योगदान का स्वागत है! दिशानिर्देशों के लिए CONTRIBUTING.md देखें।

जिन क्षेत्रों में सहायता की आवश्यकता है

  • मॉडल फाइन-ट्यूनिंग — कमांड प्रारूप अनुपालन को ~50% से 85%+ तक सुधारना
  • नई प्लेबुक — अधिक सेवाओं के लिए एक्सप्लॉइट श्रृंखलाएं जोड़ना
  • CVE डेटाबेस — वर्तमान 24,956 प्रविष्टियों से परे कवरेज का विस्तार
  • एडाप्टर समर्थन — अधिक USB WiFi चिपसेट के साथ परीक्षण
  • दस्तावेज़ीकरण — विभिन्न फोनों के लिए ट्यूटोरियल, सेटअप गाइड
  • परीक्षण — अधिक परीक्षण कवरेज, विशेष रूप से एज केसों के लिए

विकास सेटअप

# रेपो क्लोन करें
git clone https://github.com/garagehq/nightcrawler.git
cd nightcrawler

# ड्राई-रन मोड (कोई वास्तविक कमांड नहीं, कोई हार्डवेयर आवश्यक नहीं)
NC_DRY_RUN=1 python3 main.py

# परीक्षण चलाएं
python3 -m pytest tests/

कानूनी

यह टूल केवल अधिकृत पैठ परीक्षण के लिए है। नाइटक्रॉलर को तैनात करने से पहले आपके पास नेटवर्क मालिक से लिखित अनुमति (Rules of Engagement) होनी चाहिए। उन नेटवर्कों के खिलाफ अनधिकृत उपयोग जिनके आप मालिक नहीं हैं या परीक्षण करने की अनुमति नहीं है, अवैध है।

लाइसेंस

MIT — विवरण के लिए LICENSE देखें।

समर्थन

यदि आपको यह प्रोजेक्ट पसंद है, तो आप मुझे एक कॉफी खरीद सकते हैं ☕:

Buy Me A Coffee

buymeacoffee.com/cyrilengmann

श्रेणियाँ