
शिक्षा-क्षेत्र के लिए अधिकृत रेकॉन और ट्राइएज ऑर्केस्ट्रेटर (nmap/dirsearch/sqlmap/hydra + CVE-2024-4577, सीक्रेट/API-की लीक, XSS, wp2shell) जिसमें एक वेब कंट्रोल पैनल है
शिक्षा-क्षेत्र रेड/ब्लू अभ्यासों के लिए अधिकृत रेकॉन और ट्राइएज ऑर्केस्ट्रेटर। लक्ष्य डालें, यह स्कैनर चलाता है, शोर फ़िल्टर करता है, और आपको एक वेब UI में रैंक किया गया समीक्षा कतार सौंपता है। आपके Linux बॉक्स (Kali / infra) पर तैनात करने के लिए बनाया गया, ब्राउज़र से संचालित।
⚠️ केवल अधिकृत उपयोग। इसे केवल उन सिस्टमों पर इंगित करें जिन्हें परीक्षण करने के लिए आप अधिकृत हैं। Scope-lock डिफ़ॉल्ट रूप से बंद है — अधिकृति ऑपरेटर की है। वास्तविक एंगेजमेंट के लिए आप
config.yamlमेंscope_enforce: trueके साथ लॉक किया गया scope allowlist फिर से सक्रिय कर सकते हैं (तब प्रत्येक चरण कार्य करने से पहले scope की पुनः जाँच करता है)।
Kali / Debian / Ubuntu — पूरा ब्लॉक पेस्ट करें:
sudo apt update && sudo apt install -y python3 python3-venv git nmap sqlmap hydra dirsearch
git clone https://github.com/ericchen913900/edu-recon.git
cd edu-recon
chmod +x run.sh
./run.sh
बस इतना ही। run.sh venv बनाता है, बंडल किए गए टूल्स क्लोन करता है + डिपेंडेंसी
इंस्टॉल करता है, doctor चलाता है, फिर http://127.0.0.1:8770 पर full-power
कंसोल लॉन्च करता है और आपका ब्राउज़र खोलता है। (Ctrl-C इसे रोकता है; कभी भी
./run.sh फिर से चलाएँ।)
Windows (Git Bash / WSL):
git clone https://github.com/ericchen913900/edu-recon.git
cd edu-recon
bash run.sh # first run auto-creates the venv + clones tools; nmap must be on PATH
targets ─▶ expand (CIDR ping-sweep, subdomain enum)
─▶ per target:
portscan nmap -sV -sC (+ --script vuln)
webdisco dirsearch (+ WordPress detect)
exposures .git / .env / backups / phpinfo / server-status / actuator …
+ phpMyAdmin/Adminer exposure + open directory listing
secrets JS/HTML key-leak scan (AWS/GCP/GitHub/Slack/Stripe/JWT/私鑰/…)
+ API-doc / GraphQL-introspection exposure ← api leak
phpcgi CVE-2024-4577 / 8926 via Night-have-dreams/php-cgi-Injector
react2shell CVE-2025-55182 React Server Components RCE
via hidden-investigations/react2shell-scanner (safe-check by default)
webcve built-in non-destructive safe-check probes for famous CVEs:
PHPUnit 2017-9841 · Apache-traversal 2021-41773 · Struts2 2017-5638
· Confluence 2022-26134 · Drupalgeddon2 2018-7600 · Next.js 2025-29927
moodle Moodle LMS fingerprint + version + outdated-branch +
web-exposed moodledata (the dominant .edu system)
xss dalfox + built-in reflected-XSS canary
sqli built-in SQL-error quick pass + sqlmap deep
cred hydra weak/default passwords (ssh/ftp/rdp/db/…)
wp xAL6/wp2shell WordPress SQLi→shell
─▶ triage: infer findings from services, drop soft-404 noise,
dedupe, rank by severity → review queue
─▶ report: JSON / Markdown / self-contained HTML
git clone https://github.com/ericchen913900/edu-recon.git && cd edu-recon
python3 -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
python recon.py setup # clones php-cgi-Injector + react2shell-scanner + wp2shell + dirsearch, installs deps
python recon.py doctor # shows which scanners resolved
Kali पर भारी स्कैनर (nmap/sqlmap/hydra/dirsearch) पहले से नेटिव हैं — पूरी विधि के लिए Deploy on Kali Linux देखें।
Kali ही इच्छित बॉक्स है: nmap, sqlmap, hydra, dirsearch डिस्ट्रो में
शामिल हैं, इसलिए पूरी पाइपलाइन (इंजेक्शन + कमज़ोर-पासवर्ड सहित) नेटिव रूप से
चलती है।
# 1) system tools — most are already on Kali; this is the complete set
sudo apt update
sudo apt install -y python3 python3-venv git nmap sqlmap hydra dirsearch
# optional (better XSS + subdomain enum):
# sudo apt install -y dalfox subfinder # or: go install github.com/hahwul/dalfox/v2@latest ; \
# # go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# 2) get the code
git clone https://github.com/ericchen913900/edu-recon.git
cd edu-recon
# 3) isolated venv + Python deps + bundled script-tools
python3 -m venv .venv
source .venv/bin/activate
python recon.py setup # clones php-cgi-Injector / react2shell-scanner / wp2shell / dirsearch, pip-installs deps
# 4) sanity check — on Kali nmap/sqlmap/hydra/dirsearch should all be OK (native)
python recon.py doctor
# 5a) web console — bind to localhost, drive from a browser
python recon.py serve --host 127.0.0.1 --port 8770
# → http://127.0.0.1:8770 (paste targets → pick intensity → ARM & RUN)
# remote Kali? tunnel instead of exposing it:
# ssh -L 8770:127.0.0.1:8770 user@kali # then browse http://localhost:8770
# 5b) or headless
python recon.py scan -t targets.txt --intensity full
python recon.py repro <run-id> # runnable reproduction PoC per confirmed finding
python recon.py payout <run-id> # legal disclosure / bounty routing per finding
Kali नोट्स
db/dicc.txt स्वीप के लिए नेटिव dirsearch स्वचालित रूप
से उपयोग होता है (प्रत्येक खोजी गई dir/file कंसोल में 🗂 網站路徑 के अंतर्गत
सूचीबद्ध होती है)। apt पैकेज छोड़ें और setup dirsearch क्लोन करके उसे Python
के माध्यम से चलाता है — किसी भी तरह webdisco काम करता है।sqlmap/hydra/nmap के साथ, --intensity full
वास्तव में इंजेक्शन + कमज़ोर-पासवर्ड जाँच निष्पादित करता है (अन्यत्र
non-destructive safe-checks)।config.yaml में scope_enforce: true +
target फ़ाइल / extra_allowed_cidrs में अपना अधिकृत scope सूचीबद्ध करें।chmod +x run.sh && ./run.sh # 滿血:自動 venv/setup/doctor → 全火力 console → 開瀏覽器
# HOST=0.0.0.0 PORT=9000 ./run.sh # override bind/port
run.sh पहली बार चलने पर venv बनाता है, बंडल किए गए टूल्स क्लोन करता है,
doctor चलाता है, फिर कंसोल को full power पर सर्व करता है — intensity
full, nmap -sC --script vuln, पूर्ण dirsearch db/dicc.txt स्वीप, प्रत्येक
resolved स्कैनर, scope-lock बंद — http://127.0.0.1:8770 पर और आपका ब्राउज़र
खोलता है। Ctrl-C इसे रोकता है।
python recon.py serve --host 127.0.0.1 --port 8770
URL खोलें, लक्ष्य पेस्ट करें (प्रति पंक्ति एक: IP / host / URL / CIDR /
domain / host:port), एक intensity चुनें, 開始掃描 दबाएँ। प्रत्येक
लक्ष्य का stage grid लाइव भरता हुआ देखें, severity के अनुसार findings फ़िल्टर
करें, evidence विस्तृत करें, raw tool logs खोलें, false positives चिह्नित करें,
और HTML रिपोर्ट निर्यात करें।
python recon.py scan -t targets.txt --intensity full
# reports land in runs/<run-id>/report.{md,html,json}
Launchers:
| command | what it does |
|---|---|
./run.sh | one-command full-power launch: venv/setup/doctor → console → opens browser. HOST=… PORT=… ./run.sh to override. |
recon.py subcommands (prefix with the venv python, e.g. .venv/bin/python):
Common flags (all subcommands): --config FILE (yaml/json overrides) · --intensity · --concurrency N · --workdir DIR.
Scan targets accept: IP · host · URL · CIDR · domain · host:port (one per line in a file, or inline / pasted in the console).
Web API (what the console drives; handy for scripting):
Examples:
./run.sh # full-power console + browser
.venv/bin/python recon.py scan -t targets.txt --intensity full
.venv/bin/python recon.py repro run-20260907-185021 --out pocs/ # write repro_*.sh
.venv/bin/python recon.py payout run-20260907-185021 # legal cash-out routing
HOST=0.0.0.0 PORT=9000 ./run.sh # bind elsewhere (tunnel it, don't expose)
| level | what runs |
|---|---|
full | everything, injection + weak-password executed (default) |
recon | phpcgi + react2shell + webcve + XSS + exposures run; sqli/cred only list candidates |
passive | portscan + webdisco + exposures + secrets (benign GETs only) |
config.yaml संपादित करें (टिप्पणियाँ देखें) या --config पास करें। Wordlists
wordlists/ में हैं (default-creds.txt, users.txt, passwords.txt,
web-common.txt)। अकाउंट लॉकआउट से बचने के लिए hydra_tasks कम रखें; पूर्ण-पोर्ट
स्कैन के लिए nmap_top_ports: 0 बढ़ाएँ।
recon.py CLI (serve / scan / setup / doctor / repro / payout)
edurecon/
config.py defaults + yaml/json loader + intensity gating
scope.py target parsing + scope allowlist (subdomain-aware)
engine.py expansion + concurrent per-target pipeline + cancel
stages.py every scan stage
webscan.py crawler + reflected-XSS + SQL-error heuristics
secrets.py key-leak regexes + API-doc/GraphQL probes
cveprobes.py built-in non-destructive famous-CVE safe-check probes
edusys.py education-sector system audit (Moodle)
parse.py nmap/dirsearch/sqlmap/hydra/phpcgi/react2shell parsers
triage.py service inference, soft-404 filter, dedupe, ranking
report.py JSON / Markdown / HTML export
store.py run state + JSON persistence
webui.py stdlib web control panel
third_party/ php-cgi-Injector, react2shell-scanner, wp2shell, dirsearch (via `setup`)
runs/ per-run artifacts + reports
--host 127.0.0.1# /etc/systemd/system/edu-recon.service
[Service]
WorkingDirectory=/home/kali/edu-recon
ExecStart=/home/kali/edu-recon/.venv/bin/python recon.py serve --host 127.0.0.1 --port 8770
Restart=on-failure
User=kali
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now edu-recon| command | what it does |
|---|
recon.py setup | clone bundled tools (php-cgi-Injector / react2shell-scanner / wp2shell / dirsearch) + pip-install their deps |
recon.py doctor | show which scanners resolved (nmap / sqlmap / hydra / dirsearch / dalfox / subfinder / bundled tools) |
recon.py serve [--host H] [--port P] | launch the web console (default 127.0.0.1:8770) |
recon.py scan -t targets.txt [--intensity full|recon|passive] | headless scan of a target file |
recon.py scan http://host/ 10.0.0.0/24 … | headless scan of inline targets |
recon.py repro <run-id> [--finding <id>] [--out DIR] | print / write a runnable reproduction PoC per confirmed finding |
recon.py payout <run-id> | legal disclosure / bounty routing per confirmed finding |
| endpoint | purpose |
|---|
POST /api/runs {targets,intensity,concurrency,scope_enforce} | start a run → {id} |
GET /api/runs · GET /api/runs/{id} | list runs · full run (targets/stages/findings/webpaths) |
GET /api/runs/{id}/logs?since=N | incremental live log |
GET /api/runs/{id}/artifact?path=… | raw tool log / saved dump |
GET /api/runs/{id}/repro[?finding_id=…] | reproduction PoC script(s) |
POST /api/runs/{id}/finding {finding_id,reviewed,false_positive} | triage a finding |
POST /api/runs/{id}/dump {finding_id} · POST …/dumps/clear | capture a leak (file/.git-source/key) · clear captures |
POST /api/runs/{id}/report · POST …/cancel | export report · cancel run |