
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 पर नाइटक्रॉलर को क्रियाशील देखें
यह कैसे काम करता है
- WiFi ब्रीच (वैकल्पिक) — यदि WiFi के बिना छोड़ा जाता है, तो यह बाहरी USB WiFi एडाप्टर का उपयोग करके WPA2 नेटवर्क को स्वायत्त रूप से क्रैक कर सकता है
- रीकॉनिसेंस — स्टील्थ स्कैन का उपयोग करके नेटवर्क पर डिवाइस खोजता है
- एन्यूमरेशन — खोजी गई सेवाओं (वेब सर्वर, फ़ाइल शेयर, SSH, DNS, आदि) की जांच करता है
- एक्सप्लॉइटेशन — ज्ञात कमजोरियों और डिफ़ॉल्ट क्रेडेंशियल्स का परीक्षण करता है
- रिपोर्टिंग — निष्कर्षों और सुधार सलाह के साथ एक संरचित पेंटेस्ट रिपोर्ट तैयार करता है
एजेंट एक धैर्यवान मानव पेंटेस्टर की तरह काम करता है — यह होस्ट के बीच घूमता है, प्रति टर्न एक छोटी क्रिया करता है, और घंटों में धीरे-धीरे ज्ञान का निर्माण करता है। यह पारंपरिक कमजोरी स्कैनरों की तुलना में इसे पहचानना बहुत कठिन बनाता है जो एक साथ हर होस्ट पर हमला करते हैं।
मुख्य अवधारणाएं
| शब्द | इसका अर्थ |
|---|---|
| ड्रॉप बॉक्स | लक्ष्य नेटवर्क पर स्वायत्त परीक्षण करने के लिए छोड़ा गया एक डिवाइस |
| स्कोप | नेटवर्क/होस्ट का सेट जिसे आप परीक्षण करने के लिए अधिकृत हैं |
| Rules of Engagement (ROE) | एक कानूनी दस्तावेज़ जो निर्दिष्ट करता है कि आपको क्या करने की अनुमति है |
| स्टील्थ | नेटवर्क मॉनिटरिंग (IDS/IPS) द्वारा पहचान से बचने की तकनीकें |
| MCP | Model Context Protocol — AI टूल उपयोग के लिए एक मानक इंटरफ़ेस |
| C2 | Command 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_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 |
नोट: 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 संपादित करें: