rtexit-method 0.1.19 → 0.1.21

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rtexit-method",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "RTExit - AI-assisted Red Team methodology installer",
5
5
  "license": "MIT",
6
6
  "author": "Exit Code",
@@ -1286,6 +1286,251 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1286
1286
  ncrack \
1287
1287
  2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1288
1288
 
1289
+ # ═════════════════════════════════════════════
1290
+ # VERIFIED FIXES — Gap Analysis v4
1291
+ # All fixes confirmed working in live containers
1292
+ # ═════════════════════════════════════════════
1293
+
1294
+ # ─────────────────────────────────────────────
1295
+ # Phase 1 — Scanning & Recon (Verified Fixes)
1296
+ # ─────────────────────────────────────────────
1297
+
1298
+ # Missing apt tools for scanning/DNS
1299
+ RUN apt-get update && apt-get install -y --no-install-recommends \
1300
+ zmap dnsrecon dnsenum fierce \
1301
+ && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1302
+
1303
+ # rustscan — fast port scanner (deb package)
1304
+ RUN curl -sL "https://github.com/RustScan/RustScan/releases/download/2.3.0/rustscan_2.3.0_amd64.deb" \
1305
+ -o /tmp/rustscan.deb 2>/dev/null && \
1306
+ dpkg -i /tmp/rustscan.deb 2>/dev/null && \
1307
+ rm /tmp/rustscan.deb 2>/dev/null || true
1308
+
1309
+ # feroxbuster — fast content discovery (binary download)
1310
+ RUN curl -sL "https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-linux-feroxbuster.zip" \
1311
+ -o /tmp/ferox.zip 2>/dev/null && \
1312
+ unzip -qo /tmp/ferox.zip -d /usr/local/bin/ feroxbuster 2>/dev/null && \
1313
+ rm /tmp/ferox.zip 2>/dev/null || true
1314
+
1315
+ # x8 — hidden parameter discovery (binary — go install module path is broken)
1316
+ RUN curl -sL "https://github.com/Sh1Yo/x8/releases/download/v4.3.0/x86_64-linux-x8.gz" \
1317
+ -o /tmp/x8.gz 2>/dev/null && \
1318
+ gunzip /tmp/x8.gz 2>/dev/null && \
1319
+ mv /tmp/x8 /usr/local/bin/x8 && \
1320
+ chmod +x /usr/local/bin/x8 2>/dev/null || true
1321
+
1322
+ # dirsearch
1323
+ RUN pip3 install --no-cache-dir --break-system-packages dirsearch 2>/dev/null || true
1324
+
1325
+ # Go tools (missing from base section)
1326
+ RUN go install github.com/tomnomnom/httprobe@latest 2>/dev/null || true
1327
+ RUN go install github.com/d3mondev/puredns/v2@latest 2>/dev/null || true
1328
+ RUN go install github.com/PentestPad/subzy@latest 2>/dev/null || true
1329
+ RUN go install github.com/epi052/feroxbuster@latest 2>/dev/null || true
1330
+
1331
+ # wappalyzer — wrapper script (npm installs to non-standard path)
1332
+ RUN npm install -g wappalyzer-cli 2>/dev/null || true
1333
+ RUN printf '#!/bin/bash\nnode /usr/local/lib/node_modules/wappalyzer-cli/bin/wappalyzer "$@"\n' \
1334
+ > /usr/local/bin/wappalyzer && chmod +x /usr/local/bin/wappalyzer 2>/dev/null || true
1335
+
1336
+ # Ensure Go binaries are in system PATH
1337
+ RUN for bin in httprobe puredns subzy feroxbuster; do \
1338
+ [ -f /root/go/bin/$bin ] && ln -sf /root/go/bin/$bin /usr/local/bin/$bin; \
1339
+ done 2>/dev/null || true
1340
+
1341
+ # ─────────────────────────────────────────────
1342
+ # Phase 2 — Web Testing (Verified Fixes)
1343
+ # ─────────────────────────────────────────────
1344
+
1345
+ # semgrep — pip3 ONLY (apt python3-semgrep does NOT create the 'semgrep' binary)
1346
+ RUN pip3 install --no-cache-dir --break-system-packages semgrep 2>/dev/null || true
1347
+
1348
+ # checkov — IaC scanner (requires --ignore-installed due to packaging conflict)
1349
+ RUN pip3 install --no-cache-dir --break-system-packages --ignore-installed checkov \
1350
+ 2>/dev/null || true
1351
+
1352
+ # git-dumper — exposed .git directory dumper
1353
+ RUN pip3 install --no-cache-dir --break-system-packages \
1354
+ git-dumper graphql-cop graphw00f inql 2>/dev/null || true
1355
+
1356
+ # graphql-cop wrapper (pip installs module only, binary needs wrapper)
1357
+ RUN printf '#!/bin/bash\npython3 -m graphql_cop "$@"\n' \
1358
+ > /usr/local/bin/graphql-cop && chmod +x /usr/local/bin/graphql-cop || true
1359
+
1360
+ # graphw00f wrapper
1361
+ RUN printf '#!/bin/bash\npython3 -m graphw00f "$@"\n' \
1362
+ > /usr/local/bin/graphw00f && chmod +x /usr/local/bin/graphw00f || true
1363
+
1364
+ # wpscan via gem (NOT apt — apt version is outdated/broken)
1365
+ RUN gem install wpscan 2>/dev/null || true
1366
+
1367
+ # gitleaks — binary (not pip)
1368
+ RUN curl -sSL "https://github.com/gitleaks/gitleaks/releases/download/v8.18.2/gitleaks_8.18.2_linux_x64.tar.gz" \
1369
+ -o /tmp/gl.tar.gz 2>/dev/null && \
1370
+ tar xf /tmp/gl.tar.gz -C /usr/local/bin gitleaks 2>/dev/null && \
1371
+ rm /tmp/gl.tar.gz 2>/dev/null || true
1372
+
1373
+ # ─────────────────────────────────────────────
1374
+ # Phase 3 — Active Directory (Verified Fixes)
1375
+ # ─────────────────────────────────────────────
1376
+
1377
+ # theHarvester — apt (faster and more reliable than pip)
1378
+ RUN apt-get update && apt-get install -y --no-install-recommends theharvester \
1379
+ 2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1380
+
1381
+ # netexec + wifite via apt (confirmed working in testing)
1382
+ RUN apt-get update && apt-get install -y --no-install-recommends \
1383
+ netexec wifite \
1384
+ 2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1385
+
1386
+ # crackmapexec → alias to netexec (same tool, renamed)
1387
+ RUN ln -sf /usr/bin/netexec /usr/local/bin/crackmapexec 2>/dev/null || true
1388
+
1389
+ # Impacket symlinks — make all .py scripts accessible as impacket-<name>
1390
+ # The scripts exist as /usr/local/bin/<name>.py but tools expect impacket-<name>
1391
+ RUN for script in psexec smbexec wmiexec secretsdump GetUserSPNs GetNPUsers \
1392
+ ntlmrelayx lookupsid ticketer ticketConverter getST addcomputer \
1393
+ atexec dcomexec dpapi esentutl findDelegation goldenPac karmaSMB \
1394
+ netview nmapAnswerMachine ping6 raiseChild registry-read rpcdump \
1395
+ sambaPipe samrdump services sniffer sniff tstool; do \
1396
+ if [ -f /usr/local/bin/${script}.py ]; then \
1397
+ ln -sf /usr/local/bin/${script}.py /usr/local/bin/impacket-${script} && \
1398
+ chmod +x /usr/local/bin/${script}.py; \
1399
+ fi; \
1400
+ done 2>/dev/null || true
1401
+
1402
+ # AD exploit repos (confirmed working)
1403
+ RUN git clone https://github.com/Dec0ne/KrbRelayUp /opt/KrbRelayUp --depth 1 -q 2>/dev/null || true
1404
+ RUN git clone https://github.com/dirkjanm/CVE-2020-1472 /opt/CVE-2020-1472 --depth 1 -q 2>/dev/null || true
1405
+ RUN git clone https://github.com/cube0x0/CVE-2021-1675 /opt/PrintNightmare --depth 1 -q 2>/dev/null || true
1406
+ RUN git clone https://github.com/dirkjanm/krbrelayx /opt/krbrelayx --depth 1 -q 2>/dev/null || true
1407
+ RUN git clone https://github.com/fireeye/ADFSpoof /opt/ADFSpoof --depth 1 -q 2>/dev/null && \
1408
+ pip3 install --no-cache-dir --break-system-packages -r /opt/ADFSpoof/requirements.txt 2>/dev/null || true
1409
+ RUN git clone https://github.com/klezVirus/SysWhispers3 /opt/SysWhispers3 --depth 1 -q 2>/dev/null || true
1410
+ RUN git clone https://github.com/Hackndo/pyGPOAbuse /opt/pyGPOAbuse --depth 1 -q 2>/dev/null && \
1411
+ pip3 install --no-cache-dir --break-system-packages -r /opt/pyGPOAbuse/requirements.txt 2>/dev/null || true
1412
+ RUN git clone https://github.com/login-securite/DonPAPI /opt/DonPAPI --depth 1 -q 2>/dev/null && \
1413
+ pip3 install --no-cache-dir --break-system-packages -r /opt/DonPAPI/requirements.txt 2>/dev/null || true
1414
+ RUN git clone https://github.com/byt3bl33d3r/DeathStar /opt/DeathStar --depth 1 -q 2>/dev/null && \
1415
+ pip3 install --no-cache-dir --break-system-packages -r /opt/DeathStar/requirements.txt 2>/dev/null || true
1416
+
1417
+ # ─────────────────────────────────────────────
1418
+ # Phase 4 — Cloud (Verified Fixes)
1419
+ # ─────────────────────────────────────────────
1420
+
1421
+ # enumerate-iam — AWS IAM enumeration
1422
+ RUN git clone https://github.com/andresriancho/enumerate-iam /opt/enumerate-iam --depth 1 -q 2>/dev/null && \
1423
+ pip3 install --no-cache-dir --break-system-packages -r /opt/enumerate-iam/requirements.txt 2>/dev/null && \
1424
+ ln -sf /opt/enumerate-iam/enumerate-iam.py /usr/local/bin/enumerate-iam && \
1425
+ chmod +x /opt/enumerate-iam/enumerate-iam.py 2>/dev/null || true
1426
+
1427
+ # kubectx + kubens (context switching)
1428
+ RUN git clone https://github.com/ahmetb/kubectx /opt/kubectx --depth 1 -q 2>/dev/null && \
1429
+ ln -sf /opt/kubectx/kubectx /usr/local/bin/kubectx && \
1430
+ ln -sf /opt/kubectx/kubens /usr/local/bin/kubens 2>/dev/null || true
1431
+
1432
+ # ─────────────────────────────────────────────
1433
+ # Phase 5 — Mobile (Verified Fixes)
1434
+ # ─────────────────────────────────────────────
1435
+
1436
+ # jadx — Java decompiler (specific version, reliable)
1437
+ RUN mkdir -p /opt/jadx && \
1438
+ curl -sSL "https://github.com/skylot/jadx/releases/download/v1.5.0/jadx-1.5.0.zip" \
1439
+ -o /tmp/jadx.zip 2>/dev/null && \
1440
+ unzip -qo /tmp/jadx.zip -d /opt/jadx && \
1441
+ ln -sf /opt/jadx/bin/jadx /usr/local/bin/jadx && \
1442
+ ln -sf /opt/jadx/bin/jadx-gui /usr/local/bin/jadx-gui && \
1443
+ rm /tmp/jadx.zip 2>/dev/null || true
1444
+
1445
+ # uber-apk-signer
1446
+ RUN mkdir -p /opt/uber-apk-signer && \
1447
+ curl -sSL "https://github.com/patrickfav/uber-apk-signer/releases/download/v1.3.0/uber-apk-signer-1.3.0.jar" \
1448
+ -o /opt/uber-apk-signer/uber-apk-signer.jar 2>/dev/null && \
1449
+ printf '#!/bin/bash\nexec java -jar /opt/uber-apk-signer/uber-apk-signer.jar "$@"\n' \
1450
+ > /usr/local/bin/uber-apk-signer && chmod +x /usr/local/bin/uber-apk-signer 2>/dev/null || true
1451
+
1452
+ # setup-frida-server — helper script
1453
+ RUN cat > /usr/local/bin/setup-frida-server << 'FSCRIPT'
1454
+ #!/bin/bash
1455
+ FRIDA_VER=$(python3 -c "import frida; print(frida.__version__)" 2>/dev/null || pip3 show frida | grep Version | awk '{print $2}')
1456
+ ARCH=$(adb shell getprop ro.product.cpu.abi 2>/dev/null | tr -d '\r')
1457
+ case $ARCH in
1458
+ arm64-v8a) A="arm64" ;; armeabi-v7a) A="arm" ;;
1459
+ x86_64) A="x86_64" ;; x86) A="x86" ;; *) echo "Unknown arch: $ARCH"; exit 1 ;;
1460
+ esac
1461
+ wget -q "https://github.com/frida/frida/releases/download/${FRIDA_VER}/frida-server-${FRIDA_VER}-android-${A}.xz" -O /tmp/frida-server.xz
1462
+ unxz /tmp/frida-server.xz && mv /tmp/frida-server "/tmp/frida-server-${A}"
1463
+ adb push "/tmp/frida-server-${A}" /data/local/tmp/frida-server
1464
+ adb shell chmod 755 /data/local/tmp/frida-server
1465
+ echo "[+] Start: adb shell /data/local/tmp/frida-server &"
1466
+ FSCRIPT
1467
+ RUN chmod +x /usr/local/bin/setup-frida-server 2>/dev/null || true
1468
+
1469
+ # Mobile Python tools
1470
+ RUN pip3 install --no-cache-dir --break-system-packages \
1471
+ reFlutter hermes-dec hbctool doldrums androguard \
1472
+ "qrcode[pil]" Pillow lz4 apkleaks 2>/dev/null || true
1473
+
1474
+ # apk-mitm (npm)
1475
+ RUN npm install -g apk-mitm 2>/dev/null || true
1476
+
1477
+ # drozer agent
1478
+ RUN mkdir -p /opt/drozer && \
1479
+ curl -sSL "https://github.com/WithSecureLabs/drozer/releases/latest/download/drozer-agent.apk" \
1480
+ -o /opt/drozer/drozer-agent.apk 2>/dev/null || true
1481
+
1482
+ # ─────────────────────────────────────────────
1483
+ # Phase 8 — Credentials (Verified Fixes)
1484
+ # ─────────────────────────────────────────────
1485
+
1486
+ # Crypto libraries for attacks
1487
+ RUN pip3 install --no-cache-dir --break-system-packages \
1488
+ sympy gmpy2 ecdsa 2>/dev/null || true
1489
+
1490
+ # ─────────────────────────────────────────────
1491
+ # Phase 9 — Binary Analysis (Verified Fixes)
1492
+ # ─────────────────────────────────────────────
1493
+
1494
+ RUN pip3 install --no-cache-dir --break-system-packages \
1495
+ capstone keystone-engine unicorn ropgadget ropper angr \
1496
+ yara-python 2>/dev/null || true
1497
+
1498
+ # YARA rules
1499
+ RUN git clone https://github.com/Yara-Rules/rules /opt/yara-rules --depth 1 -q 2>/dev/null || true
1500
+
1501
+ # sleuthkit for forensics
1502
+ RUN apt-get update && apt-get install -y --no-install-recommends sleuthkit \
1503
+ 2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1504
+
1505
+ # ─────────────────────────────────────────────
1506
+ # Phase 10 — Network / WiFi (Verified Fixes)
1507
+ # ─────────────────────────────────────────────
1508
+
1509
+ # hcxdumptool (WiFi PMKID capture)
1510
+ RUN git clone https://github.com/ZerBea/hcxdumptool /opt/hcxdumptool --depth 1 -q 2>/dev/null && \
1511
+ cd /opt/hcxdumptool && make && make install 2>/dev/null || true
1512
+
1513
+ # hostapd-wpe (Evil Twin / WPA Enterprise)
1514
+ RUN apt-get update && apt-get install -y --no-install-recommends hostapd-wpe \
1515
+ 2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
1516
+
1517
+ # ─────────────────────────────────────────────
1518
+ # Phase 11 — Specialist (Verified Fixes)
1519
+ # ─────────────────────────────────────────────
1520
+
1521
+ # AI/LLM tools
1522
+ RUN pip3 install --no-cache-dir --break-system-packages \
1523
+ garak openai anthropic langchain transformers 2>/dev/null || true
1524
+ RUN npm install -g promptfoo 2>/dev/null || true
1525
+
1526
+ # Purple Team
1527
+ RUN git clone https://github.com/redcanaryco/atomic-red-team /opt/atomic-red-team --depth 1 -q 2>/dev/null || true
1528
+
1529
+ # ─────────────────────────────────────────────
1530
+ # Final PATH fix — ensure all Go binaries in system PATH
1531
+ # ─────────────────────────────────────────────
1532
+ RUN cp /root/go/bin/* /usr/local/bin/ 2>/dev/null || true
1533
+
1289
1534
  # ─────────────────────────────────────────────
1290
1535
  # RTExit Framework Installation
1291
1536
  # ─────────────────────────────────────────────
@@ -0,0 +1,109 @@
1
+ #!/bin/bash
2
+ # RTExit Verify — Shared Library
3
+ # Source this in every phase script
4
+
5
+ RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
6
+ BLUE='\033[0;34m'; CYAN='\033[0;36m'; GRAY='\033[0;37m'; NC='\033[0m'
7
+ BOLD='\033[1m'
8
+
9
+ # Counters (shared across sourced scripts)
10
+ TOTAL=0; PASS=0; FAIL=0; WARN=0
11
+
12
+ # Check binary in PATH
13
+ chk() {
14
+ local name="$1" cmd="${2:-$1}"
15
+ TOTAL=$((TOTAL+1))
16
+ if command -v "$cmd" >/dev/null 2>&1; then
17
+ local ver
18
+ ver=$(${cmd} --version 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -1)
19
+ [ -n "$ver" ] && ver=" ${GRAY}(${ver})${NC}" || ver=""
20
+ printf " ${GREEN}✅${NC} %-35s%b\n" "$name" "$ver"
21
+ PASS=$((PASS+1))
22
+ else
23
+ printf " ${RED}❌${NC} %-35s ${RED}MISSING${NC}\n" "$name"
24
+ FAIL=$((FAIL+1))
25
+ fi
26
+ }
27
+
28
+ # Check Python module
29
+ chk_py() {
30
+ local name="$1" module="${2:-$1}"
31
+ TOTAL=$((TOTAL+1))
32
+ if python3 -c "import ${module}" 2>/dev/null; then
33
+ local ver
34
+ ver=$(python3 -c "import ${module}; print(getattr(${module},'__version__',''))" 2>/dev/null | head -1)
35
+ [ -n "$ver" ] && ver=" ${GRAY}(py ${ver})${NC}" || ver=""
36
+ printf " ${GREEN}✅${NC} %-35s%b\n" "$name" "$ver"
37
+ PASS=$((PASS+1))
38
+ else
39
+ printf " ${RED}❌${NC} %-35s ${RED}no module${NC}\n" "$name"
40
+ FAIL=$((FAIL+1))
41
+ fi
42
+ }
43
+
44
+ # Check directory (git repo / tool folder)
45
+ chk_dir() {
46
+ local name="$1" path="$2"
47
+ TOTAL=$((TOTAL+1))
48
+ if [ -d "$path" ] && [ "$(ls -A "$path" 2>/dev/null)" ]; then
49
+ local count
50
+ count=$(find "$path" -maxdepth 1 -type f | wc -l)
51
+ printf " ${GREEN}✅${NC} %-35s ${GRAY}(%s files in %s)${NC}\n" "$name" "$count" "$path"
52
+ PASS=$((PASS+1))
53
+ else
54
+ printf " ${RED}❌${NC} %-35s ${RED}not found: %s${NC}\n" "$name" "$path"
55
+ FAIL=$((FAIL+1))
56
+ fi
57
+ }
58
+
59
+ # Check file exists
60
+ chk_file() {
61
+ local name="$1" path="$2"
62
+ TOTAL=$((TOTAL+1))
63
+ if [ -f "$path" ]; then
64
+ printf " ${GREEN}✅${NC} %-35s ${GRAY}(%s)${NC}\n" "$name" "$path"
65
+ PASS=$((PASS+1))
66
+ else
67
+ printf " ${RED}❌${NC} %-35s ${RED}not found: %s${NC}\n" "$name" "$path"
68
+ FAIL=$((FAIL+1))
69
+ fi
70
+ }
71
+
72
+ # Optional tool (warning, not fail)
73
+ chk_opt() {
74
+ local name="$1" cmd="${2:-$1}"
75
+ TOTAL=$((TOTAL+1))
76
+ if command -v "$cmd" >/dev/null 2>&1 || python3 -c "import ${cmd}" 2>/dev/null; then
77
+ printf " ${GREEN}✅${NC} %-35s ${GRAY}(optional)${NC}\n" "$name"
78
+ PASS=$((PASS+1))
79
+ else
80
+ printf " ${YELLOW}⚠️ ${NC} %-35s ${YELLOW}optional — not installed${NC}\n" "$name"
81
+ WARN=$((WARN+1))
82
+ fi
83
+ }
84
+
85
+ # Print phase header
86
+ phase_header() {
87
+ echo ""
88
+ printf "${CYAN}${BOLD}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}\n"
89
+ printf "${CYAN}${BOLD} %s${NC}\n" "$1"
90
+ printf "${CYAN}${BOLD}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}\n"
91
+ }
92
+
93
+ # Print section header
94
+ section() {
95
+ echo ""
96
+ printf " ${BLUE}── %s ──${NC}\n" "$1"
97
+ }
98
+
99
+ # Print phase summary
100
+ phase_summary() {
101
+ local pct=0
102
+ [ "$TOTAL" -gt 0 ] && pct=$((PASS*100/TOTAL))
103
+ echo ""
104
+ printf " ${BOLD}Result: ${GREEN}%d✅${NC} ${RED}%d❌${NC} ${YELLOW}%d⚠️${NC} / %d total → " "$PASS" "$FAIL" "$WARN" "$TOTAL"
105
+ if [ "$pct" -ge 90 ]; then printf "${GREEN}${BOLD}%d%%${NC}\n" "$pct"
106
+ elif [ "$pct" -ge 70 ]; then printf "${YELLOW}${BOLD}%d%%${NC}\n" "$pct"
107
+ else printf "${RED}${BOLD}%d%%${NC}\n" "$pct"
108
+ fi
109
+ }
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+ # Phase 1 — Scanning & Reconnaissance
3
+ source "$(dirname "$0")/lib.sh"
4
+
5
+ phase_header "PHASE 1 — Scanning & Network Reconnaissance"
6
+
7
+ section "Port Scanners"
8
+ chk "nmap" nmap
9
+ chk "masscan" masscan
10
+ chk "zmap" zmap
11
+ chk "naabu" naabu
12
+ chk "rustscan" rustscan
13
+
14
+ section "Web Probing"
15
+ chk "httpx" httpx
16
+ chk "httprobe" httprobe
17
+ chk "nuclei" nuclei
18
+ chk "ffuf" ffuf
19
+ chk "gobuster" gobuster
20
+ chk "feroxbuster" feroxbuster
21
+ chk "dirsearch" dirsearch
22
+ chk "wfuzz" wfuzz
23
+ chk "dirb" dirb
24
+ chk "nikto" nikto
25
+ chk "whatweb" whatweb
26
+ chk "wafw00f" wafw00f
27
+ chk "testssl" testssl
28
+
29
+ section "DNS & Subdomain"
30
+ chk "subfinder" subfinder
31
+ chk "amass" amass
32
+ chk "dnsx" dnsx
33
+ chk "dnsrecon" dnsrecon
34
+ chk "dnsenum" dnsenum
35
+ chk "fierce" fierce
36
+ chk "puredns" puredns
37
+
38
+ section "URL & Link Discovery"
39
+ chk "gau" gau
40
+ chk "waybackurls" waybackurls
41
+ chk "katana" katana
42
+ chk "hakrawler" hakrawler
43
+ chk "linkfinder" linkfinder
44
+ chk "gowitness" gowitness
45
+
46
+ section "Screenshot & Fingerprint"
47
+ chk "wappalyzer" wappalyzer
48
+
49
+ section "Fuzzing & Parameters"
50
+ chk "arjun" arjun
51
+ chk "x8" x8
52
+ chk "qsreplace" qsreplace
53
+
54
+ section "Subdomain Takeover"
55
+ chk "subzy" subzy
56
+
57
+ phase_summary
@@ -0,0 +1,62 @@
1
+ #!/bin/bash
2
+ # Phase 10 — Network, WiFi & Wireless
3
+ source "$(dirname "$0")/lib.sh"
4
+
5
+ phase_header "PHASE 10 — Network Attacks, WiFi & Wireless"
6
+
7
+ section "Traffic Analysis"
8
+ chk "tcpdump" tcpdump
9
+ chk "tshark" tshark
10
+ chk "wireshark" wireshark
11
+ chk "netsniff-ng" netsniff-ng
12
+ chk "arpwatch" arpwatch
13
+ chk "zeek" zeek
14
+ chk_dir "PCredz" /opt/PCredz
15
+
16
+ section "MITM & Sniffing"
17
+ chk "bettercap" bettercap
18
+ chk "ettercap" ettercap
19
+ chk "arpspoof" arpspoof
20
+ chk "dsniff" dsniff
21
+ chk "sslstrip" sslstrip
22
+ chk "mitmproxy" mitmproxy
23
+
24
+ section "Network Tools"
25
+ chk "ncat" ncat
26
+ chk "socat" socat
27
+ chk "hping3" hping3
28
+ chk "proxychains4" proxychains4
29
+ chk "macchanger" macchanger
30
+
31
+ section "WiFi Attacks"
32
+ chk "aircrack-ng" aircrack-ng
33
+ chk "airmon-ng" airmon-ng
34
+ chk "airodump-ng" airodump-ng
35
+ chk "aireplay-ng" aireplay-ng
36
+ chk "wifite" wifite
37
+ chk "hcxdumptool" hcxdumptool
38
+ chk "hcxpcapngtool" hcxpcapngtool
39
+ chk "hostapd-wpe" hostapd-wpe
40
+
41
+ section "Bluetooth"
42
+ chk "ubertooth-util" ubertooth-util
43
+ chk_py "bleak" bleak
44
+ chk_dir "crackle" /opt/crackle
45
+ chk_dir "GATTacker" /opt/gattacker
46
+
47
+ section "VoIP / SIP"
48
+ chk "sipvicious" svmap
49
+ chk "rtpbreak" rtpbreak
50
+ chk_dir "ucsniff" /opt/ucsniff
51
+
52
+ section "Tunneling"
53
+ chk "iodine" iodine
54
+ chk_dir "dnscat2" /opt/dnscat2
55
+ chk "ptunnel-ng" ptunnel-ng
56
+
57
+ section "Responder / Relay"
58
+ chk "responder" responder
59
+ chk "mitm6" mitm6
60
+ chk "impacket-ntlmrelayx" impacket-ntlmrelayx
61
+
62
+ phase_summary
@@ -0,0 +1,56 @@
1
+ #!/bin/bash
2
+ # Phase 11 — Specialist: Social Engineering, Hardware, IoT, SCADA
3
+ source "$(dirname "$0")/lib.sh"
4
+
5
+ phase_header "PHASE 11 — Specialist (Social / Hardware / IoT / SCADA)"
6
+
7
+ section "Phishing Frameworks"
8
+ chk "gophish" gophish
9
+ chk "evilginx2" evilginx2
10
+ chk_dir "SET" /opt/setoolkit
11
+ chk_dir "King-Phisher" /opt/king-phisher
12
+ chk_dir "CredSniper" /opt/CredSniper
13
+
14
+ section "Email Attacks"
15
+ chk_py "o365spray" o365spray
16
+ chk_dir "phishery" /opt/phishery
17
+
18
+ section "Hardware Hacking"
19
+ chk "openocd" openocd
20
+ chk "flashrom" flashrom
21
+ chk "avrdude" avrdude
22
+ chk "minicom" minicom
23
+ chk_py "pyserial" serial
24
+
25
+ section "IoT / Embedded"
26
+ chk_py "pyModbusTCP" pyModbusTCP
27
+ chk_py "bleak" bleak
28
+
29
+ section "Steganography"
30
+ chk "steghide" steghide
31
+ chk "binwalk" binwalk
32
+ chk "exiftool" exiftool
33
+ chk "zsteg" zsteg
34
+ chk "stegsolve" stegsolve
35
+ chk_py "stegoveritas" stegoveritas
36
+ chk_dir "outguess" /opt/outguess
37
+
38
+ section "AI / LLM Security"
39
+ chk_py "garak" garak
40
+ chk "promptfoo" promptfoo
41
+ chk_py "openai" openai
42
+ chk_py "anthropic" anthropic
43
+ chk_py "langchain" langchain
44
+
45
+ section "Browser Exploitation"
46
+ chk "beef-xss" beef-xss
47
+ chk_opt "electronegativity" electronegativity
48
+
49
+ section "Physical / Access"
50
+ chk_opt "Proxmark" proxmark3
51
+
52
+ section "Wordlists & Resources"
53
+ chk_dir "SecLists" /opt/SecLists
54
+ chk_dir "Atomic RT" /opt/atomic-red-team
55
+
56
+ phase_summary
@@ -0,0 +1,78 @@
1
+ #!/bin/bash
2
+ # Phase 2 — Web Application Testing
3
+ source "$(dirname "$0")/lib.sh"
4
+
5
+ phase_header "PHASE 2 — Web Application Testing"
6
+
7
+ section "Injection"
8
+ chk "sqlmap" sqlmap
9
+ chk "ghauri" ghauri
10
+ chk "tplmap" tplmap
11
+
12
+ section "XSS"
13
+ chk "dalfox" dalfox
14
+ chk "kxss" kxss
15
+
16
+ section "SSRF / OOB"
17
+ chk "interactsh-client" interactsh-client
18
+
19
+ section "JWT"
20
+ chk "jwt_tool" jwt_tool
21
+ chk_py "PyJWT" jwt
22
+
23
+ section "GraphQL"
24
+ chk "graphql-cop" graphql-cop
25
+ chk "graphw00f" graphw00f
26
+ chk "InQL" inql
27
+
28
+ section "XXE"
29
+ chk_dir "XXEinjector" /opt/XXEinjector
30
+
31
+ section "HTTP Smuggling"
32
+ chk "smuggler" smuggler
33
+
34
+ section "Parameter Discovery"
35
+ chk "arjun" arjun
36
+ chk "x8" x8
37
+
38
+ section "Request Tampering"
39
+ chk "mitmproxy" mitmproxy
40
+
41
+ section "Web Crawling"
42
+ chk "katana" katana
43
+ chk "hakrawler" hakrawler
44
+ chk "linkfinder" linkfinder
45
+
46
+ section "Source Code Analysis"
47
+ chk "semgrep" semgrep
48
+ chk_py "jsbeautifier" jsbeautifier
49
+
50
+ section "Web Frameworks"
51
+ chk "wpscan" wpscan
52
+ # Caido — proprietary commercial tool, not open source, skipped
53
+
54
+ section "gRPC / WebSockets"
55
+ chk "grpcurl" grpcurl
56
+
57
+ section "CORS"
58
+ chk_dir "CORScanner" /opt/CORScanner
59
+
60
+ section "Protocol Tools"
61
+ chk "testssl" testssl
62
+
63
+ section "Deserialization"
64
+ chk_file "ysoserial" /opt/ysoserial/ysoserial.jar
65
+ chk "phpggc" phpggc
66
+ chk_py "blackboxprotobuf" blackboxprotobuf
67
+
68
+ section "IaC / DevSecOps"
69
+ chk "checkov" checkov
70
+ chk "syft" syft
71
+ chk "grype" grype
72
+
73
+ section "Secret Scanning"
74
+ chk "gitleaks" gitleaks
75
+ chk "trufflehog" trufflehog # binary not Python module
76
+ chk "git-dumper" git-dumper
77
+
78
+ phase_summary