
अधिकृत पैठ परीक्षण, नेटवर्क टोही, ट्रैफ़िक अवरोधन, वायरलेस सुरक्षा परीक्षण और लेयर 2/3/7 आक्रमण अनुसंधान के लिए Go-आधारित नेटवर्क शोषण और MITM फ्रेमवर्क।
Go में लिखा गया एक स्थानीय एवं नेटवर्क सुरक्षा मूल्यांकन फ्रेमवर्क। यह एक शोध और अधिकृत पैठ-परीक्षण (penetration testing) उपकरण है जो नेटवर्क मूल्यांकन पाइपलाइन — होस्ट एवं सेवा खोज, enumeration, क्रेडेंशियल ऑडिटिंग, कमज़ोरी पहचान और अधिकृत शोषण — को कवर करता है। इसकी दस मॉड्यूल श्रेणियाँ recon, enumeration, OSINT, MITM (ARP/DHCP/DNS/IPv6 poisoning और inline HTTP/HTTPS interception), wireless, switch-layer, web, auth, espionage और post-exploitation तक फैली हैं — सभी एक इंटरैक्टिव REPL, एक निर्देशित विज़ार्ड, या एक-शॉट कमांड अनुक्रमों से संचालित होती हैं।
MITM इस व्यापक डोमेन के भीतर एक क्षमता है: TOHA3EE केवल man-in-the-middle परिदृश्यों तक सीमित नहीं है।
चेतावनी: toha3ee सक्रिय रूप से नेटवर्क ट्रैफ़िक को पुनर्निर्देशित, विषाक्त (poison), डिक्रिप्ट और इंटरसेप्ट करता है। इसका उपयोग केवल उन नेटवर्कों पर करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आप स्पष्ट रूप से अधिकृत हैं। इन मॉड्यूलों को तीसरे पक्षों के विरुद्ध चलाना अधिकांश न्यायक्षेत्रों में अवैध है। पहले
docs/security.mdपढ़ें।
वन-लाइनर इंस्टॉलर आपके प्लेटफ़ॉर्म के लिए नवीनतम रिलीज़ से पहले से निर्मित (prebuilt) बाइनरी प्राप्त करते हैं, उसका SHA-256 चेकसम सत्यापित करते हैं और उसे आपके PATH में जोड़ देते हैं। यदि पहले से निर्मित बाइनरी मौजूद नहीं है, तो वे इसके बजाय स्रोत से निर्माण करते हैं।
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/qyvora/qyvora-toha3ee/main/scripts/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/qyvora/qyvora-toha3ee/main/scripts/install.ps1 | iex
या किसी checkout से:
make install # installs ~/.local/bin/toha3ee and adds it to PATH
इंस्टॉल विकल्प (Unix): --prefix <dir> (डिफ़ॉल्ट: रूट के रूप में /usr/local/bin, अन्यथा ~/.local/bin), शेल rc को संपादित करना छोड़ने के लिए --no-path, डाउनलोड करने के बजाय निर्माण करने के लिए --from-source, और किसी रिलीज़ को पिन करने के लिए TOHA3EE_VERSION=<tag>। सिस्टम-व्यापी इंस्टॉल के लिए sudo sh ... के साथ चलाएँ। Windows इंस्टॉलर बाइनरी को %LOCALAPPDATA%\Programs\toha3ee\bin में रखता है और आपके उपयोगकर्ता PATH को अपडेट करता है; Windows-on-ARM64 x64 बिल्ड चलाता है।
Linux पर इंस्टॉलर ऐप को डेस्कटॉप वातावरण के साथ भी पंजीकृत करता है: यह लोगो को hicolor आइकन थीम में इंस्टॉल करता है और इंस्टॉल प्रीफ़िक्स के पास एक .desktop प्रविष्टि डालता है (जैसे /usr/local/share या ~/.local/share), ताकि toha3ee GNOME की खोज में अपने आइकन के साथ दिखाई दे। Windows पर यह .ico की प्रतिलिपि बनाता है और एक स्टार्ट मेनू शॉर्टकट बनाता है। रिलीज़ tarball/zip आइकन अपने साथ रखते हैं, ताकि इंस्टॉलर उसे उसी सत्यापित आर्टिफ़ैक्ट से पंजीकृत कर सके।
अनइंस्टॉल: बाइनरी और वह PATH पंक्ति हटा दें जो इंस्टॉलर ने आपके शेल rc में जोड़ी थी (या Windows पर %LOCALAPPDATA%\Programs\toha3ee)।
इसके लिए Go 1.26+ और libpcap आवश्यक है।
# Debian/Ubuntu
sudo apt install libpcap-dev
# then
go build ./cmd/toha3ee
Linux बिल्ड के लिए libpcap हेडर चाहिए (इंस्टॉलर का from-source फ़ॉलबैक उनकी जाँच करता है और यदि वे गायब हैं तो सही apt/dnf कमांड प्रिंट करता है)। macOS Xcode Command Line Tools के साथ libpcap शामिल करता है।
# Interactive console (bare command drops straight in)
sudo ./toha3ee --iface eth0
# Interactive console (explicit subcommand)
sudo ./toha3ee interactive --iface eth0
# Guided wizard
sudo ./toha3ee wizard --iface eth0
# One-shot: scan the subnet, then show what was found
sudo ./toha3ee --eval "net.scan; net.show" --iface eth0
# Non-interactive caplet script
sudo ./toha3ee run --iface eth0 caplets/basic.cap
# Dry-run a .toha3ee script (validates it, prints the plan, sends no packets)
./toha3ee --no-sudo build scripts/full-pipeline.toha3ee
# Execute a .toha3ee script non-interactively
sudo ./toha3ee script --iface eth0 scripts/full-pipeline.toha3ee
अधिकांश आक्रमण मॉड्यूलों को root की आवश्यकता होती है (रॉ सॉकेट, पैकेट कैप्चर और IP फ़ॉरवर्डिंग)। root के रूप में या संभव होने पर CAP_NET_ADMIN/CAP_NET_RAW के साथ चलाएँ। रंगीन आउटपुट अक्षम करने के लिए --no-color जोड़ें, विस्तृत लॉगिंग के लिए -v जोड़ें।
यह उपकरण डिफ़ॉल्ट रूप से एडमिन विशेषाधिकारों के साथ चलता है: Linux/macOS पर यह स्वयं को sudo के अंतर्गत पुनः निष्पादित करता है और हर आह्वान पर एडमिन (root) पासवर्ड माँगता है। बिना विशेषाधिकार के चलाने के लिए --no-sudo (या TOHA3EE_NO_SUDO=1 सेट करें) पारित करें, जैसे कि त्वरित toha3ee --no-sudo version के लिए।
सब कुछ एक मॉड्यूल है। मॉड्यूल अपने पैकेज init() में स्व-पंजीकरण करते हैं और रजिस्ट्री द्वारा स्वचालित रूप से सामने आते हैं; एक आक्रमण जोड़ने का अर्थ है internal/attacks/ के अंतर्गत एक पैकेज जोड़ना जो attacks.Module अनुबंध को लागू करता है (देखें internal/attacks/attacks.go):
Meta() — ID, श्रेणी, जोखिम, लक्ष्य, विवरण, सीमाएँPreflight(ctx) — चलाने से पहले पूर्व-शर्तें जाँचेंRun(ctx, opts) — आक्रमण लूप (ctx.Done का सम्मान करना अनिवार्य है)Verify(ctx) — जो हुआ उसकी रिपोर्ट करेंCleanup(ctx) — सब कुछ पूर्ववत करें, नेटवर्क को पुनर्स्थापित करेंएक केंद्रीय safety जीवनचक्र (internal/safety) पंजीकृत cleanup और heartbeat को ट्रैक करता है, ताकि panic या SIGINT पर भी हर आक्रमण को समाप्त किया जा सके, और एक साझा store होस्ट इन्वेंट्री, कैप्चर किए गए क्रेडेंशियल, सत्र और इवेंट लॉग रखता है जो रिपोर्ट जनरेटर को फ़ीड करता है।
पूर्ण, वर्तमान सूची के लिए toha3ee modules चलाएँ। मुख्य आकर्षण:
सादा toha3ee (या toha3ee interactive) एक bettercap/metasploit-शैली कंसोल खोलता है: @@@ बैनर, टैब-पूर्णता वाला लाल-उच्चारित toha3eeλ > प्रॉम्प्ट, और प्रॉम्प्ट के ऊपर एक स्थायी एक-पंक्ति स्थिति HUD जो इंटरफ़ेस, चल रहे मॉड्यूल और लाइव होस्ट/पोर्ट/क्रेडेंशियल/इवेंट गणनाएँ दिखाता है। आउटपुट हरे/एम्बर/सफ़ेद पैलेट में समूहीकृत और संरेखित होता है — लाल रंग जानबूझकर उपयोग किया जाता है, प्रॉम्प्ट उच्चारण, गंभीर त्रुटियों ([x]), HUD किनारे के चिह्न और क्रिटिकल-जोखिम मॉड्यूलों के लिए (उच्च जोखिम एम्बर है)। हर कमांड का आउटपुट अनुभागों में विभाजित होता है (─── modules ───), तालिकाएँ कॉलम-संरेखित होती हैं (संरेखण की गणना करते समय रंगों को अनदेखा किया जाता है), और मॉड्यूल संदेश केंद्रीय रूप से रंगीन किए जाते हैं, जिससे हर मॉड्यूल को बिना किसी प्रति-मॉड्यूल कार्य के लगातार स्थिति ग्लिफ़ मिलते हैं। पाइप किए जाने पर आउटपुट स्वचालित रूप से सादे पाठ में बदल जाता है, और किसी भी मॉड्यूल के चलने के दौरान प्रॉम्प्ट दृश्यमान और सक्रिय रहता है, bettercap की तरह।
$ sudo ./toha3ee --iface eth0
@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@ @@@@@@@
@@@@@@@@ @@@@@@@@
@@@@@@@@ @@@@@@@@
@@@@@@@ @ @@@@@@@
@@@@@@@@ @@@@@@@@@ @@@@@@@
@@@@@@@@ @@@ @ @@@@@@@
@@@@@@@ @@ @@@@@@@@@@ @@@@@@@
@@@@@@ @@ @ @@@@@@@@@@@@@@@@@@ @@@@@@
@@@ @@@ @@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@
@@@ @@@@@ @ @@@@@@@@@@@@@@@@@@@@@@@ @@@
@@@ @@@@@@ @ @@@@@@@@@@@@@@@@@@ @@@ @@@
@@@ @@@@@@ @ @@@@@@@@@@@@@@@@@ @@@ @@@
@@@ @@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@
@@@ @@@@@ @@@@@@@@@@@@@@@ @@@ @@@
@@@ @@@@@ @@@@@@@@@@@@@@ @@@ @@@
@@@ @@@ @@@@@@@@@@@@@ @@@@ @@@
@@@ @@ @@@@ @@@@@ @@@@@@@@@ @@@
@@@ @@@@@@@@@@@@@ @@@@@@ @@@ @@@
@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@@ @@@ @@@
@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@ @@@
@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@@ @@@
@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @@@
@@@ @@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@ @@@
@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@ @@@
@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@
@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@@ @@@@@@@@
@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@
@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@
@@@@@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@@
@@@@@@@ @@@@@@@@@@@@@ @@@@@@@
@@@@@@@ @@@@@@@ @@@@@@
@@@@@@ @@@@@@@
@@@@@@@@ @@@@@@@
@@@@@@@@
@@@
local & network security assessment framework
[>] iface wlan0 (10.135.199.31, 8c:c8:4b:30:bf:91)
[>] v 0.1.0
type 'help' for commands, 'modules' for the catalogue, 'quit' to exit
[*] session ready. type 'help' for commands.
toha3eeλ> help
स्थिति ग्लिफ़ bettercap की परिपाटी का पालन करते हैं:
HUD के बाएँ किनारे पर लाल ब्लॉक ▮ स्थिति पट्टी को चिह्नित करता है; हर कमांड के बाद HUD पुनः मुद्रित होता है, ताकि बिना अतिरिक्त टाइपिंग के गणनाएँ अद्यतन बनी रहें।
उदाहरण सत्र:
toha3eeλ> modules recon # module catalogue filtered by category
toha3eeλ> on net.scan # run a module (preflight checks shown first)
toha3eeλ> net.show # discovered hosts
toha3eeλ> net.profile # profile + ranked attack vectors
toha3eeλ> help # grouped command reference
toha3eeλ> quit
set <module.key> <value> प्रति-मॉड्यूल सेटिंग्स संग्रहीत करता है (मॉड्यूल IDs बिंदु-युक्त होती हैं, इसलिए विभाजन अंतिम बिंदु पर होता है: set arp.spoof.targets 10.0.0.5); config अब तक सेट की गई हर चीज़ प्रदर्शित करता है। सत्र मॉड्यूल चलाने के दौरान कैप्चर किए गए डेटा को बनाए रखते हैं; report.generate इन-मेमोरी स्टोर से एक Markdown मूल्यांकन प्रस्तुत करता है।
.toha3ee फ़ाइलें एक Python-जैसी भाषा के साथ पूरी recon → exploit → report पाइपलाइन चलाती हैं जो अंग्रेज़ी की तरह पठनीय है। इसे toha3ee script <file> के साथ, या REPL से script <file> के साथ निष्पादित करें, या किसी भी .toha3ee फ़ाइल को run <file> के साथ चलाएँ। toha3ee build <file> (या REPL build <file>) फ़ाइल को सत्यापित करता है और नेटवर्क को छुए बिना एक ड्राई-रन योजना प्रिंट करता है। scripts/full-pipeline.toha3ee एक कार्यशील end-to-end उदाहरण है।
# comment (or //)
set net.scan.targets -> "192.168.8.0/24" # configure a module
on net.scan # start a module (run/start)
wait for net.scan # block until it finishes
_hosts -> [$(net.hosts)] # capture a list (or =, >>)
echo -> "found $(_hosts.size) hosts" # print (say/print)
if $(hosts.count) > 1 # conditions
on arp.spoof targets "192.168.8.0/24"
sleep -> 30
off arp.spoof
end
for each _h in $(_hosts) # loops
repeat 3 times
exec -> net.show # run any REPL command once
break
end
end
get net.scan.timeout -> _t # read a config value
report -> "assessment.md" # write the session report
भाषा नोट:
set, get, on/start/run, off/stop, wait for <module> [max <secs>], sleep <secs>, echo/say/print, show <module>, report <file>, exec <command>, if/else/end, , , , , , और एक अकेला स्क्रिप्ट को रोक देता है।कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से toha3ee.json होता है (बदलने के लिए --config)। प्रति-मॉड्यूल सेटिंग्स प्रत्येक मॉड्यूल द्वारा अपने स्वयं के नेमस्पेस से पढ़ी जाती हैं, जैसे report.generate.out, switch.portsteal.victim_mac, http.harvest.pcap।
स्टील्थ हमेशा चालू रहता है, हर चरण में, व्यक्तिगत पैकेट तक। हर पैकेट-भेजने वाला मॉड्यूल डिफ़ॉल्ट रूप से एक यादृच्छिक, जिटरित प्रोफ़ाइल के साथ आता है; सक्षम करने के लिए कुछ भी नहीं है, और इसे अक्षम करना (set <module>.stealth false) डिज़ाइन आशय द्वारा स्पष्ट रूप से समर्थित नहीं है।
stealth_shuffle), ताकि स्वीप सबनेट को उस पूर्वानुमानित आरोही क्रम में न चलें जिसके द्वारा स्कैनर की पहचान की जाती है।stealth_jitter, stealth_burst, stealth_pause), ताकि ट्रैफ़िक न तो एक समतल एकसमान धारा हो और न ही एक एकल समकालिक बाढ़।stealth_pad) का उपयोग करते हैं, और सक्रिय net.scan स्वीप एक एकल कैप्चर लूप द्वारा एकत्र किया जाता है जबकि निष्क्रिय श्रोता ट्रैफ़िक को ग्रहण करता रहता है।stealth_ports), IP TTL और पहचान (stealth_ttl, stealth_id), TCP अनुक्रम संख्या और विंडो को बदलता है, और कभी-कभी DF बिट को साफ़ करता है, ताकि प्रोब धारा एक एकल उपकरण हस्ताक्षर तक सीमित न हो।ट्यून करने योग्य मान प्रति मॉड्यूल पढ़े जाते हैं, जैसे set net.scan.stealth_jitter 5ms, set service.synscan.stealth_burst 128। किसी भी मॉड्यूल के चलने के दौरान REPL प्रॉम्प्ट दृश्यमान और सक्रिय रहता है, bettercap की तरह।
go test ./...
यह सूट फ्रेम क्राफ्टर्स (DHCP, NDP, 802.11, STP/CDP/LLDP), स्टोर और रिपोर्ट रेंडरर, और एक रजिस्ट्री अनुबंध परीक्षण को कवर करता है जो पूरी मॉड्यूल सूची को स्थिर करता है।
CI (.github/workflows/ci.yml) हर push/PR के लिए Linux पर gofmt, go vet, go build और go test -race चलाता है, साथ ही Windows और macOS पर परीक्षण भी; CodeQL स्थिर सुरक्षा विश्लेषण चलाता है। निर्भरता अद्यतन Dependabot द्वारा संभाले जाते हैं।
देखें CONTRIBUTING.md, docs/contributing.md और CODE_OF_CONDUCT.md। सुरक्षा समस्याओं की रिपोर्ट SECURITY.md के माध्यम से करें — सार्वजनिक issues के रूप में नहीं।
| Path | उद्देश्य |
|---|
cmd/toha3ee | CLI: कंसोल, विज़ार्ड, --eval, कैपलेट रनर, script/build |
internal/ui | कंसोल रेंडरिंग: बैनर, पैलेट, अनुभाग, तालिकाएँ, स्थिति ग्लिफ़, HUD |
internal/script | .toha3ee स्क्रिप्टिंग भाषा: लेक्सर, पार्सर, इंजन |
internal/attacks/ | श्रेणी के अनुसार सभी आक्रमण मॉड्यूल |
internal/netx/ | प्रोटोकॉल प्रिमिटिव (ARP, DHCP, DNS, NDP, 802.11, SMB/NTLM, proxy, …) |
internal/hijack | HTTP/HTTPS MITM प्रॉक्सी और क्रेडेंशियल/सत्र इंटरसेप्शन |
internal/phish | कैप्टिव-पोर्टल फ़िशिंग और लॉगिन-पेज क्लोन |
internal/store | साझा डेटा स्टोर और इवेंट बस |
internal/safety | cleanup/heartbeat जीवनचक्र |
internal/config | JSON कॉन्फ़िग लोडिंग |
internal/oui | MAC विक्रेता डेटाबेस |
pkg/certutil | फ्रेमवर्क CA और प्रति-होस्ट TLS प्रमाणपत्र |
| श्रेणी | मॉड्यूल |
|---|
| mitm | arp.spoof, dns.spoof, dns.rebind, dhcp.rogue, dhcp.starve, dhcp6.spoof, icmp.redirect, ipv6.ra, ipv6.ndp, llmnr.poison, wpad.poison |
| espionage | http.harvest, http.proxy, https.proxy, ssl.strip, phish.inject |
| auth | default.creds, ntlm.relay, smb.signing, smb.kerberoast, auth.spray, auth.brute, auth.userenum, auth.asrep |
| recon | net.scan, net.ping, net.traceroute, net.osdetect, service.synscan, service.tcpconnect, service.udpscan, service.finxmas, service.ack, service.protoscan, service.idle, service.fingerprint, service.tls, web.dir, cve.suggest |
| osint | osint.dns, osint.whois, osint.ct, osint.asn, osint.shodan, osint.bucket, osint.wayback, osint.github, osint.hibp, osint.metadata, osint.dork, osint.harvest |
| enum | smtp.enum, snmp.enum, ldap.enum, nfs.enum, smb.enum, net.ip6sweep |
| web | web.misconfig |
| switch | switch.flood, switch.portsteal, switch.vlanhop, switch.cdp, switch.stp |
| wireless | wlan.scan, wlan.deauth, wlan.handshake, wlan.eviltwin, wlan.pmkid, wlan.beaconflood, wlan.karma |
| post | report.generate, session.replay, pcap.export |
| Glyph | अर्थ |
|---|
[*] | जानकारी / चालू (सफ़ेद) |
[+] | सफलता (हरा) |
[!] | चेतावनी (एम्बर) |
[>] | सिस्टम (बोल्ड सफ़ेद) |
[-] | तटस्थ (धुंधला) |
[x] | गंभीर त्रुटि (लाल) |
[OK] | सत्यापित / उत्तीर्ण (हरा) |
for each _x in <list>repeat N timeswhile <cond>breakcontinuestop_name -> value, _name = value या _name >> value; [...] किसी प्रॉपर्टी से एक सूची बनाता है, $(_name.size) और $(_list.size) लंबाइयाँ हैं।$(...) लाइव सत्र स्थिति का समाधान करता है: $(hosts.count), $(net.hosts), $(creds.count), $(sessions.count), $(running.list), $(iface.ip), $(iface.cidr), $(iface.mac), $(iface.gateway), $(config.<module.key>); अंडरस्कोर-उपसर्ग वाले पथ स्क्रिप्ट चर पढ़ते हैं।== != < > <= >=, &&, ||, !, संख्याएँ संख्यात्मक रूप से तुलना करती हैं। while लूप सीमित होते हैं, ताकि एक खराब शर्त स्क्रिप्ट को कभी लटका न सके।