rtexit-method 0.1.18 → 0.1.20

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.
@@ -0,0 +1,633 @@
1
+ #!/bin/bash
2
+ # RTExit Native Kali Linux Installer v4.0
3
+ # Installs all 300+ tools directly on Kali Linux
4
+ # ✅ All install methods verified in live container testing
5
+ # ✅ Uses correct binary/apt/pip methods discovered during gap analysis
6
+ #
7
+ # Usage:
8
+ # chmod +x rt-native-install.sh
9
+ # sudo bash rt-native-install.sh
10
+
11
+ set -e
12
+
13
+ RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
14
+ BLUE='\033[0;34m'; CYAN='\033[0;36m'; NC='\033[0m'; BOLD='\033[1m'
15
+
16
+ [ "$EUID" -ne 0 ] && echo -e "${RED}[!] Run as root: sudo bash rt-native-install.sh${NC}" && exit 1
17
+
18
+ echo -e "${RED}"
19
+ cat << 'EOF'
20
+ ██████╗ ████████╗███████╗██╗ ██╗██╗████████╗
21
+ ██╔══██╗╚══██╔══╝██╔════╝╚██╗██╔╝██║╚══██╔══╝
22
+ ██████╔╝ ██║ █████╗ ╚███╔╝ ██║ ██║
23
+ ██╔══██╗ ██║ ██╔══╝ ██╔██╗ ██║ ██║
24
+ ██║ ██║ ██║ ███████╗██╔╝ ██╗██║ ██║
25
+ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
26
+ EOF
27
+ echo -e "${NC}${BOLD} Native Kali Installer v4.0 — 300+ Tools (Verified)${NC}"
28
+ echo -e " ${CYAN}All methods tested in live environment${NC}"
29
+ echo ""
30
+
31
+ # ── Helpers ───────────────────────────────────────────────────────────────────
32
+ OK=0; FAIL=0
33
+
34
+ apt_install() {
35
+ echo -e " ${BLUE}[APT]${NC} $*"
36
+ apt-get install -y --no-install-recommends "$@" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
37
+ }
38
+
39
+ pip_install() {
40
+ echo -e " ${BLUE}[PIP]${NC} $*"
41
+ pip3 install --no-cache-dir --break-system-packages "$@" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
42
+ }
43
+
44
+ # NOTE: checkov requires --ignore-installed (system packaging conflict)
45
+ pip_force() {
46
+ echo -e " ${BLUE}[PIP+]${NC} $*"
47
+ pip3 install --no-cache-dir --break-system-packages --ignore-installed "$@" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
48
+ }
49
+
50
+ go_install() {
51
+ echo -e " ${BLUE}[GO ]${NC} $1"
52
+ export PATH="$PATH:/root/go/bin"; export GOPATH=/root/go
53
+ go install "$1" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
54
+ # Always copy to system PATH so it's accessible without GOPATH
55
+ local bin_name; bin_name=$(basename "${1%@*}" | cut -d/ -f1)
56
+ [ -f "/root/go/bin/$bin_name" ] && cp "/root/go/bin/$bin_name" /usr/local/bin/ 2>/dev/null || true
57
+ }
58
+
59
+ gem_install() {
60
+ echo -e " ${BLUE}[GEM]${NC} $*"
61
+ gem install "$@" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
62
+ }
63
+
64
+ npm_install() {
65
+ echo -e " ${BLUE}[NPM]${NC} $*"
66
+ npm install -g "$@" 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
67
+ }
68
+
69
+ clone() {
70
+ local repo="$1" dest="$2"
71
+ echo -e " ${BLUE}[GIT]${NC} $dest"
72
+ if [ ! -d "$dest" ]; then
73
+ git clone --depth 1 "$repo" "$dest" -q 2>/dev/null && OK=$((OK+1)) || FAIL=$((FAIL+1))
74
+ else
75
+ echo -e " ${YELLOW}[SKP]${NC} $dest (already exists)"
76
+ OK=$((OK+1))
77
+ fi
78
+ }
79
+
80
+ binary_download() {
81
+ local name="$1" url="$2" dest="${3:-/usr/local/bin/$1}"
82
+ echo -e " ${BLUE}[BIN]${NC} $name"
83
+ curl -sL "$url" -o "/tmp/${name}_dl" 2>/dev/null && mv "/tmp/${name}_dl" "$dest" && chmod +x "$dest" && OK=$((OK+1)) || FAIL=$((FAIL+1))
84
+ }
85
+
86
+ section() {
87
+ echo ""
88
+ echo -e "${CYAN}${BOLD}══ $1 ══${NC}"
89
+ }
90
+
91
+ # ── System Update ─────────────────────────────────────────────────────────────
92
+ section "System Update"
93
+ apt-get update -qq && apt-get upgrade -y -qq
94
+
95
+ # ── Core Dependencies ─────────────────────────────────────────────────────────
96
+ section "Core Dependencies"
97
+ apt_install curl wget git vim nano tmux screen \
98
+ file xxd hexedit zip unzip p7zip-full tar jq \
99
+ build-essential python3 python3-pip python3-venv \
100
+ libssl-dev libffi-dev libpcap-dev \
101
+ golang-go nodejs npm default-jdk ruby ruby-dev \
102
+ libgmp-dev libmpfr-dev libmpc-dev
103
+
104
+ export PATH="$PATH:/root/go/bin"
105
+ export GOPATH=/root/go
106
+
107
+ # ── Aliases (rt-* shortcuts) ──────────────────────────────────────────────────
108
+ section "RTExit Aliases"
109
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
110
+ ALIASES_SRC="$SCRIPT_DIR/../docker/aliases.sh"
111
+ if [ -f "$ALIASES_SRC" ]; then
112
+ cp "$ALIASES_SRC" /etc/profile.d/rtexit-aliases.sh
113
+ chmod +x /etc/profile.d/rtexit-aliases.sh
114
+ echo -e " ${GREEN}✅${NC} rt-* aliases installed"
115
+ fi
116
+
117
+ # ════════════════════════════════════════════════════════════
118
+ # PHASE 1 — Scanning & Recon
119
+ # ════════════════════════════════════════════════════════════
120
+ section "Phase 1 — Scanning & Recon"
121
+
122
+ # Verified via apt (reliable)
123
+ apt_install nmap masscan zmap naabu \
124
+ dnsrecon dnsenum fierce \
125
+ dirb nikto whatweb wafw00f testssl.sh
126
+
127
+ # rustscan — MUST use deb package (not cargo, too slow)
128
+ echo -e " ${BLUE}[DEB]${NC} rustscan"
129
+ curl -sL "https://github.com/RustScan/RustScan/releases/download/2.3.0/rustscan_2.3.0_amd64.deb" \
130
+ -o /tmp/rustscan.deb 2>/dev/null && dpkg -i /tmp/rustscan.deb 2>/dev/null && rm /tmp/rustscan.deb || true
131
+
132
+ # feroxbuster — binary download (go install is slow, binary is instant)
133
+ echo -e " ${BLUE}[BIN]${NC} feroxbuster"
134
+ curl -sL "https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-linux-feroxbuster.zip" \
135
+ -o /tmp/ferox.zip 2>/dev/null && unzip -qo /tmp/ferox.zip -d /usr/local/bin/ feroxbuster && rm /tmp/ferox.zip || true
136
+
137
+ # x8 — MUST use binary (.gz), NOT go install (module path is broken in go install)
138
+ echo -e " ${BLUE}[BIN]${NC} x8"
139
+ curl -sL "https://github.com/Sh1Yo/x8/releases/download/v4.3.0/x86_64-linux-x8.gz" \
140
+ -o /tmp/x8.gz 2>/dev/null && gunzip /tmp/x8.gz && mv /tmp/x8 /usr/local/bin/x8 && chmod +x /usr/local/bin/x8 || true
141
+
142
+ # pip scanning tools
143
+ pip_install dirsearch wfuzz
144
+
145
+ # Go tools (all copy to /usr/local/bin automatically)
146
+ go_install github.com/projectdiscovery/httpx/cmd/httpx@latest
147
+ go_install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
148
+ go_install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
149
+ go_install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
150
+ go_install github.com/projectdiscovery/katana/cmd/katana@latest
151
+ go_install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
152
+ go_install github.com/hakluke/hakrawler@latest
153
+ go_install github.com/tomnomnom/waybackurls@latest
154
+ go_install github.com/lc/gau/v2/cmd/gau@latest
155
+ go_install github.com/ffuf/ffuf/v2@latest
156
+ go_install github.com/OJ/gobuster/v3@latest
157
+ go_install github.com/LukaSikic/subzy@latest
158
+ go_install github.com/PentestPad/subzy@latest # fallback — use PentestPad fork
159
+ go_install github.com/hahwul/dalfox/v2@latest
160
+ go_install github.com/tomnomnom/httprobe@latest
161
+ go_install github.com/d3mondev/puredns/v2@latest
162
+ go_install github.com/sensepost/gowitness@latest
163
+ go_install github.com/LukaSikic/subzy@latest
164
+ go_install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
165
+ go_install github.com/tomnomnom/qsreplace@latest
166
+ go_install github.com/Emoe/kxss@latest
167
+
168
+ # gitleaks — binary download (not pip — pip version is outdated)
169
+ echo -e " ${BLUE}[BIN]${NC} gitleaks"
170
+ curl -sSL "https://github.com/gitleaks/gitleaks/releases/download/v8.18.2/gitleaks_8.18.2_linux_x64.tar.gz" \
171
+ -o /tmp/gl.tar.gz 2>/dev/null && tar xf /tmp/gl.tar.gz -C /usr/local/bin gitleaks && rm /tmp/gl.tar.gz || true
172
+
173
+ # wappalyzer — wrapper script (npm installs to non-standard path, needs wrapper)
174
+ npm_install wappalyzer-cli
175
+ printf '#!/bin/bash\nnode /usr/local/lib/node_modules/wappalyzer-cli/bin/wappalyzer "$@"\n' \
176
+ > /usr/local/bin/wappalyzer && chmod +x /usr/local/bin/wappalyzer
177
+
178
+ # LinkFinder
179
+ clone https://github.com/GerbenJavado/LinkFinder /opt/LinkFinder
180
+ pip_install -r /opt/LinkFinder/requirements.txt
181
+ ln -sf /opt/LinkFinder/linkfinder.py /usr/local/bin/linkfinder
182
+ chmod +x /opt/LinkFinder/linkfinder.py 2>/dev/null || true
183
+
184
+ # SecLists
185
+ clone https://github.com/danielmiessler/SecLists /opt/SecLists
186
+
187
+ # ════════════════════════════════════════════════════════════
188
+ # PHASE 2 — Web Application Testing
189
+ # ════════════════════════════════════════════════════════════
190
+ section "Phase 2 — Web Application Testing"
191
+
192
+ apt_install sqlmap
193
+
194
+ # semgrep — MUST use apt (pip conflicts with system python packaging)
195
+ apt_install python3-semgrep
196
+
197
+ pip_install mitmproxy arjun jsbeautifier graphql-cop inql
198
+ pip_install PyJWT python-jose grpcio grpcio-tools websocket-client
199
+ pip_install blackboxprotobuf padding-oracle-attacker
200
+
201
+ # checkov — MUST use --ignore-installed (packaging conflict)
202
+ pip_force checkov
203
+
204
+ # git-dumper
205
+ pip_install git-dumper
206
+
207
+ # jwt_tool
208
+ clone https://github.com/ticarpi/jwt_tool /opt/jwt_tool
209
+ pip_install -r /opt/jwt_tool/requirements.txt
210
+ ln -sf /opt/jwt_tool/jwt_tool.py /usr/local/bin/jwt_tool
211
+ chmod +x /opt/jwt_tool/jwt_tool.py
212
+
213
+ # smuggler (HTTP Request Smuggling)
214
+ clone https://github.com/defparam/smuggler /opt/smuggler
215
+ ln -sf /opt/smuggler/smuggler.py /usr/local/bin/smuggler
216
+ chmod +x /opt/smuggler/smuggler.py
217
+
218
+ # tplmap (SSTI)
219
+ clone https://github.com/epinna/tplmap /opt/tplmap
220
+ pip_install -r /opt/tplmap/requirements.txt
221
+ ln -sf /opt/tplmap/tplmap.py /usr/local/bin/tplmap
222
+ chmod +x /opt/tplmap/tplmap.py
223
+
224
+ # XXEinjector
225
+ clone https://github.com/enjoiz/XXEinjector /opt/XXEinjector
226
+
227
+ # CORScanner
228
+ clone https://github.com/chenjj/CORScanner /opt/CORScanner
229
+ pip_install -r /opt/CORScanner/requirements.txt
230
+
231
+ # ghauri (advanced SQLi)
232
+ pip_install ghauri
233
+ clone https://github.com/r0oth3x49/ghauri /opt/ghauri
234
+ pip_install -r /opt/ghauri/requirements.txt
235
+ ln -sf /opt/ghauri/ghauri.py /usr/local/bin/ghauri
236
+
237
+ # ysoserial + phpggc (deserialization)
238
+ mkdir -p /opt/ysoserial
239
+ curl -sL "https://github.com/frohoff/ysoserial/releases/latest/download/ysoserial-all.jar" \
240
+ -o /opt/ysoserial/ysoserial.jar 2>/dev/null || true
241
+ clone https://github.com/ambionics/phpggc /opt/phpggc
242
+ ln -sf /opt/phpggc/phpggc /usr/local/bin/phpggc
243
+ chmod +x /opt/phpggc/phpggc
244
+
245
+ # graphw00f, clairvoyance
246
+ pip_install graphw00f clairvoyance
247
+
248
+ # grpcurl
249
+ go_install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
250
+
251
+ # syft, grype (supply chain)
252
+ curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
253
+ curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
254
+
255
+ # ════════════════════════════════════════════════════════════
256
+ # PHASE 3 — Active Directory & Windows
257
+ # ════════════════════════════════════════════════════════════
258
+ section "Phase 3 — Active Directory & Windows"
259
+
260
+ pip_install impacket certipy-ad pywhisker netexec bloodyAD ldeep pyrdp bloodhound
261
+
262
+ # theHarvester — MUST use apt (pip version is broken on newer Kali)
263
+ apt_install theharvester
264
+
265
+ # netexec + wifite — apt is correct (confirmed working)
266
+ apt_install netexec wifite
267
+
268
+ # crackmapexec → symlink to netexec (same tool, renamed in 2024)
269
+ ln -sf /usr/bin/netexec /usr/local/bin/crackmapexec 2>/dev/null || true
270
+
271
+ gem_install evil-winrm
272
+
273
+ # Impacket symlinks — CRITICAL: scripts are .py files, need impacket- prefix
274
+ for script in psexec smbexec wmiexec secretsdump GetUserSPNs GetNPUsers \
275
+ ntlmrelayx lookupsid ticketer ticketConverter getST addcomputer \
276
+ atexec dcomexec dpapi esentutl findDelegation goldenPac karmaSMB \
277
+ netview nmapAnswerMachine ping6 raiseChild rpcdump sambaPipe \
278
+ samrdump services sniffer sniff tstool; do
279
+ if [ -f /usr/local/bin/${script}.py ]; then
280
+ ln -sf /usr/local/bin/${script}.py /usr/local/bin/impacket-${script}
281
+ chmod +x /usr/local/bin/${script}.py
282
+ fi
283
+ done
284
+
285
+ # AD tools
286
+ clone https://github.com/dirkjanm/PKINITtools /opt/PKINITtools
287
+ pip_install -r /opt/PKINITtools/requirements.txt
288
+ clone https://github.com/topotam/PetitPotam /opt/PetitPotam
289
+ clone https://github.com/login-securite/DonPAPI /opt/DonPAPI
290
+ pip_install -r /opt/DonPAPI/requirements.txt
291
+ clone https://github.com/Ridter/noPac /opt/noPac
292
+ clone https://github.com/Dec0ne/KrbRelayUp /opt/KrbRelayUp
293
+ clone https://github.com/dirkjanm/CVE-2020-1472 /opt/CVE-2020-1472
294
+ clone https://github.com/cube0x0/CVE-2021-1675 /opt/PrintNightmare
295
+ clone https://github.com/dirkjanm/krbrelayx /opt/krbrelayx
296
+ pip_install dnspython ldap3 pyOpenSSL
297
+ clone https://github.com/fireeye/ADFSpoof /opt/ADFSpoof
298
+ pip_install -r /opt/ADFSpoof/requirements.txt
299
+ clone https://github.com/klezVirus/SysWhispers3 /opt/SysWhispers3
300
+ clone https://github.com/Hackndo/pyGPOAbuse /opt/pyGPOAbuse
301
+ pip_install -r /opt/pyGPOAbuse/requirements.txt
302
+ clone https://github.com/byt3bl33d3r/DeathStar /opt/DeathStar
303
+ pip_install -r /opt/DeathStar/requirements.txt
304
+ pip_install roadtools roadrecon
305
+ go_install github.com/ropnop/kerbrute@latest
306
+ go_install github.com/ropnop/windapsearch@latest
307
+
308
+ # LDAP/SMB enum
309
+ apt_install enum4linux nbtscan smbmap smbclient ldap-utils
310
+ pip_install enum4linux-ng
311
+
312
+ # Responder, Coercer, Mitm6
313
+ apt_install responder
314
+ pip_install mitm6 coercer bloodyAD ldeep
315
+
316
+ # pyrdp
317
+ pip_install pyrdp
318
+
319
+ # ════════════════════════════════════════════════════════════
320
+ # PHASE 4 — Cloud
321
+ # ════════════════════════════════════════════════════════════
322
+ section "Phase 4 — Cloud"
323
+
324
+ pip_install awscli boto3 google-cloud-storage google-auth \
325
+ scoutsuite prowler kube-hunter principalmapper \
326
+ checkov s3scanner
327
+
328
+ # azure-cli
329
+ pip_install azure-cli 2>/dev/null || \
330
+ curl -sL https://aka.ms/InstallAzureCLIDeb | bash 2>/dev/null || true
331
+
332
+ # enumerate-iam (AWS)
333
+ clone https://github.com/andresriancho/enumerate-iam /opt/enumerate-iam
334
+ pip_install -r /opt/enumerate-iam/requirements.txt
335
+ ln -sf /opt/enumerate-iam/enumerate-iam.py /usr/local/bin/enumerate-iam
336
+ chmod +x /opt/enumerate-iam/enumerate-iam.py
337
+
338
+ # azcopy
339
+ curl -sSL "https://aka.ms/downloadazcopy-v10-linux" | tar xz --strip-components=1 -C /usr/local/bin/ 2>/dev/null || true
340
+
341
+ # kubectl
342
+ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" 2>/dev/null \
343
+ && install -m 0755 kubectl /usr/local/bin/kubectl && rm kubectl || true
344
+
345
+ # kubectx + kubens
346
+ clone https://github.com/ahmetb/kubectx /opt/kubectx
347
+ ln -sf /opt/kubectx/kubectx /usr/local/bin/kubectx
348
+ ln -sf /opt/kubectx/kubens /usr/local/bin/kubens
349
+
350
+ # kube-bench, helm
351
+ go_install github.com/aquasecurity/kube-bench@latest
352
+ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2>/dev/null || true
353
+
354
+ # Go cloud tools
355
+ go_install github.com/BishopFox/cloudfox@latest
356
+ go_install github.com/DataDog/stratus-red-team/v2/cmd/stratus@latest
357
+ go_install github.com/liamg/awswhoami@latest
358
+ go_install github.com/projectdiscovery/cloudlist/cmd/cloudlist@latest
359
+
360
+ # Container tools
361
+ go_install github.com/cdk-team/CDK/cmd/cdk@latest
362
+ go_install github.com/brompwnie/botb@latest
363
+ curl -sSL https://github.com/stealthcopter/deepce/releases/latest/download/deepce \
364
+ -o /usr/local/bin/deepce && chmod +x /usr/local/bin/deepce 2>/dev/null || true
365
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
366
+ curl -sSfL https://raw.githubusercontent.com/wagoodman/dive/main/get-dive.sh | sh 2>/dev/null || true
367
+
368
+ # cloud_enum, Pacu
369
+ clone https://github.com/initstring/cloud_enum /opt/cloud_enum
370
+ pip_install -r /opt/cloud_enum/requirements.txt
371
+ pip_install pacu
372
+
373
+ # ════════════════════════════════════════════════════════════
374
+ # PHASE 5 — Mobile Testing
375
+ # ════════════════════════════════════════════════════════════
376
+ section "Phase 5 — Mobile Testing"
377
+
378
+ apt_install apktool dex2jar android-tools-adb mono-complete mono-utils
379
+
380
+ # jadx — download zip (NOT apt — apt version is old)
381
+ mkdir -p /opt/jadx
382
+ curl -sSL "https://github.com/skylot/jadx/releases/download/v1.5.0/jadx-1.5.0.zip" \
383
+ -o /tmp/jadx.zip 2>/dev/null && unzip -qo /tmp/jadx.zip -d /opt/jadx && \
384
+ ln -sf /opt/jadx/bin/jadx /usr/local/bin/jadx && \
385
+ ln -sf /opt/jadx/bin/jadx-gui /usr/local/bin/jadx-gui && rm /tmp/jadx.zip || true
386
+
387
+ # uber-apk-signer
388
+ mkdir -p /opt/uber-apk-signer
389
+ curl -sSL "https://github.com/patrickfav/uber-apk-signer/releases/download/v1.3.0/uber-apk-signer-1.3.0.jar" \
390
+ -o /opt/uber-apk-signer/uber-apk-signer.jar 2>/dev/null || true
391
+ printf '#!/bin/bash\nexec java -jar /opt/uber-apk-signer/uber-apk-signer.jar "$@"\n' \
392
+ > /usr/local/bin/uber-apk-signer && chmod +x /usr/local/bin/uber-apk-signer
393
+
394
+ # Frida tools
395
+ pip_install frida-tools objection apkleaks drozer
396
+
397
+ # reFlutter, hermes, cross-platform
398
+ pip_install reFlutter hermes-dec hbctool doldrums androguard "qrcode[pil]" Pillow lz4
399
+
400
+ # apk-mitm
401
+ npm_install apk-mitm js-beautify
402
+
403
+ # setup-frida-server script
404
+ cat > /usr/local/bin/setup-frida-server << 'FSCRIPT'
405
+ #!/bin/bash
406
+ FRIDA_VER=$(python3 -c "import frida; print(frida.__version__)" 2>/dev/null || pip3 show frida | grep Version | awk '{print $2}')
407
+ ARCH=$(adb shell getprop ro.product.cpu.abi 2>/dev/null | tr -d '\r')
408
+ case $ARCH in
409
+ arm64-v8a) A="arm64" ;; armeabi-v7a) A="arm" ;;
410
+ x86_64) A="x86_64" ;; x86) A="x86" ;; *) echo "Unknown: $ARCH"; exit 1 ;;
411
+ esac
412
+ wget -q "https://github.com/frida/frida/releases/download/${FRIDA_VER}/frida-server-${FRIDA_VER}-android-${A}.xz" -O /tmp/frida-server.xz
413
+ unxz /tmp/frida-server.xz && mv /tmp/frida-server "/tmp/frida-server-${A}"
414
+ adb push "/tmp/frida-server-${A}" /data/local/tmp/frida-server
415
+ adb shell chmod 755 /data/local/tmp/frida-server
416
+ echo "[+] Start: adb shell /data/local/tmp/frida-server &"
417
+ FSCRIPT
418
+ chmod +x /usr/local/bin/setup-frida-server
419
+
420
+ # drozer agent
421
+ mkdir -p /opt/drozer
422
+ curl -sSL "https://github.com/WithSecureLabs/drozer/releases/latest/download/drozer-agent.apk" \
423
+ -o /opt/drozer/drozer-agent.apk 2>/dev/null || true
424
+
425
+ # TheFatRat
426
+ clone https://github.com/Screetsec/TheFatRat /opt/TheFatRat
427
+ chmod +x /opt/TheFatRat/fatrat 2>/dev/null || true
428
+
429
+ # ════════════════════════════════════════════════════════════
430
+ # PHASE 6 — C2 & Post-Exploitation
431
+ # ════════════════════════════════════════════════════════════
432
+ section "Phase 6 — C2 & Post-Exploitation"
433
+
434
+ apt_install metasploit-framework iodine
435
+ curl https://sliver.sh/install | bash 2>/dev/null || true
436
+ go_install github.com/jpillora/chisel@latest
437
+ go_install github.com/nicocha30/ligolo-ng/cmd/proxy@latest
438
+ go_install github.com/nicocha30/ligolo-ng/cmd/agent@latest
439
+ go_install github.com/Ne0nd0g/merlin-agent/cmd/merlinagent@latest
440
+
441
+ clone https://github.com/BC-SECURITY/Empire /opt/Empire
442
+ pip_install -r /opt/Empire/requirements.txt
443
+ ln -sf /opt/Empire/empire /usr/local/bin/empire 2>/dev/null || true
444
+ clone https://github.com/nettitude/PoshC2 /opt/PoshC2
445
+ pip_install -r /opt/PoshC2/requirements.txt
446
+ clone https://github.com/t3l3machus/Villain /opt/Villain
447
+ pip_install -r /opt/Villain/requirements.txt
448
+ clone https://github.com/iagox86/dnscat2 /opt/dnscat2
449
+ cd /opt/dnscat2/client && make 2>/dev/null || true; cd /
450
+
451
+ # Payload generation
452
+ clone https://github.com/optiv/ScareCrow /opt/ScareCrow
453
+ cd /opt/ScareCrow && go build -o /usr/local/bin/ScareCrow . 2>/dev/null || true; cd /
454
+ clone https://github.com/sevagas/macro_pack /opt/macro_pack
455
+ pip_install donut-shellcode
456
+ go_install github.com/Binject/go-donut/cmd/godonuts@latest
457
+
458
+ # ════════════════════════════════════════════════════════════
459
+ # PHASE 7 — OSINT & Intelligence
460
+ # ════════════════════════════════════════════════════════════
461
+ section "Phase 7 — OSINT & Intelligence"
462
+
463
+ pip_install shodan censys h8mail holehe maigret socialscan \
464
+ spiderfoot ipinfo duckduckgo-search PyGithub
465
+
466
+ clone https://github.com/lanmaster53/recon-ng /opt/recon-ng
467
+ pip_install -r /opt/recon-ng/REQUIREMENTS
468
+ ln -sf /opt/recon-ng/recon-ng /usr/local/bin/recon-ng
469
+
470
+ clone https://github.com/m8sec/CrossLinked /opt/CrossLinked
471
+ pip_install -r /opt/CrossLinked/requirements.txt
472
+
473
+ pip_install sherlock-project
474
+
475
+ go_install github.com/gwen001/github-subdomains@latest
476
+
477
+ # ════════════════════════════════════════════════════════════
478
+ # PHASE 8 — Passwords & Credentials
479
+ # ════════════════════════════════════════════════════════════
480
+ section "Phase 8 — Passwords & Credentials"
481
+
482
+ apt_install hashcat john hydra medusa cewl crunch ncrack
483
+
484
+ clone https://github.com/Mebus/cupp /opt/cupp
485
+ ln -sf /opt/cupp/cupp.py /usr/local/bin/cupp
486
+ chmod +x /opt/cupp/cupp.py
487
+
488
+ pip_install pypykatz patator
489
+
490
+ # Crypto libraries
491
+ pip_install pycryptodome hashpumpy cryptography sympy gmpy2 ecdsa
492
+
493
+ # ════════════════════════════════════════════════════════════
494
+ # PHASE 9 — Binary Analysis & RE
495
+ # ════════════════════════════════════════════════════════════
496
+ section "Phase 9 — Binary Analysis & RE"
497
+
498
+ apt_install gdb radare2 ltrace strace binutils patchelf nasm \
499
+ yara binutils-multiarch sleuthkit
500
+
501
+ pip_install pwntools floss capstone keystone-engine unicorn \
502
+ ropgadget ropper angr yara-python
503
+
504
+ # pwndbg
505
+ clone https://github.com/pwndbg/pwndbg /opt/pwndbg
506
+ cd /opt/pwndbg && ./setup.sh 2>/dev/null || true; cd /
507
+
508
+ # GEF
509
+ bash -c "$(curl -sSL https://gef.blah.cat/sh)" 2>/dev/null || true
510
+
511
+ # Ghidra
512
+ if ! command -v ghidra &>/dev/null; then
513
+ curl -sSL "https://github.com/NationalSecurityAgency/ghidra/releases/latest/download/ghidra_11.1_PUBLIC_20240607.zip" \
514
+ -o /tmp/ghidra.zip 2>/dev/null && \
515
+ unzip -q /tmp/ghidra.zip -d /opt && \
516
+ ln -s /opt/ghidra_*/ghidraRun /usr/local/bin/ghidra && \
517
+ rm /tmp/ghidra.zip 2>/dev/null || true
518
+ fi
519
+
520
+ # YARA rules
521
+ clone https://github.com/Yara-Rules/rules /opt/yara-rules
522
+
523
+ # Fuzzing
524
+ apt_install afl++
525
+ clone https://gitlab.com/akihe/radamsa /opt/radamsa
526
+ cd /opt/radamsa && make 2>/dev/null && ln -sf /opt/radamsa/bin/radamsa /usr/local/bin/radamsa || true; cd /
527
+ pip_install boofuzz
528
+
529
+ # Forensics
530
+ apt_install foremost dc3dd testdisk bulk-extractor exiftool
531
+ clone https://github.com/volatilityfoundation/volatility3 /opt/volatility3
532
+ pip_install -r /opt/volatility3/requirements.txt
533
+ ln -sf /opt/volatility3/vol.py /usr/local/bin/vol
534
+
535
+ # ════════════════════════════════════════════════════════════
536
+ # PHASE 10 — Network & WiFi
537
+ # ════════════════════════════════════════════════════════════
538
+ section "Phase 10 — Network & WiFi"
539
+
540
+ apt_install tcpdump tshark bettercap ettercap-text-only dsniff \
541
+ sslstrip hping3 proxychains4 macchanger socat \
542
+ responder aircrack-ng wireless-tools rfkill \
543
+ hostapd-wpe ubertooth ncrack \
544
+ sipvicious rtpbreak pjsua suricata \
545
+ arpwatch netsniff-ng
546
+
547
+ apt_install hcxtools 2>/dev/null || true
548
+
549
+ # hcxdumptool (compile from source — apt version may be outdated)
550
+ clone https://github.com/ZerBea/hcxdumptool /opt/hcxdumptool
551
+ cd /opt/hcxdumptool && make && make install 2>/dev/null || true; cd /
552
+
553
+ # wifite via apt (confirmed working, pip version has issues)
554
+ apt_install wifite
555
+
556
+ pip_install mitm6 mitmproxy scapy bleak pyserial pyModbusTCP
557
+
558
+ clone https://github.com/lgandx/PCredz /opt/PCredz
559
+
560
+ # GoPhish
561
+ curl -sL "https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip" \
562
+ -o /tmp/gophish.zip 2>/dev/null && \
563
+ unzip -q /tmp/gophish.zip -d /opt/gophish && \
564
+ chmod +x /opt/gophish/gophish && \
565
+ ln -s /opt/gophish/gophish /usr/local/bin/gophish && \
566
+ rm /tmp/gophish.zip 2>/dev/null || true
567
+
568
+ go_install github.com/kgretzky/evilginx2@latest
569
+
570
+ # ════════════════════════════════════════════════════════════
571
+ # PHASE 11 — Specialist
572
+ # ════════════════════════════════════════════════════════════
573
+ section "Phase 11 — Specialist"
574
+
575
+ # Social Engineering
576
+ clone https://github.com/trustedsec/social-engineer-toolkit /opt/setoolkit
577
+ pip_install -r /opt/setoolkit/requirements.txt
578
+ pip_install o365spray
579
+ clone https://github.com/ryhanson/phishery /opt/phishery
580
+ clone https://github.com/ustayready/CredSniper /opt/CredSniper
581
+ pip_install -r /opt/CredSniper/requirements.txt
582
+
583
+ # Hardware/IoT
584
+ apt_install openocd flashrom avrdude minicom screen steghide sox binwalk exiftool
585
+ gem_install zsteg
586
+ pip_install stegoveritas
587
+
588
+ # AI/LLM
589
+ pip_install garak openai anthropic langchain transformers
590
+ npm_install promptfoo
591
+
592
+ # OSINT specialized
593
+ pip_install ghunt
594
+
595
+ # Purple Team
596
+ clone https://github.com/redcanaryco/atomic-red-team /opt/atomic-red-team
597
+ clone https://github.com/mitre/caldera /opt/caldera
598
+ pip_install -r /opt/caldera/requirements.txt
599
+
600
+ # Nuclei templates
601
+ nuclei -update-templates 2>/dev/null || true
602
+
603
+ # ════════════════════════════════════════════════════════════
604
+ # FINAL — PATH & Environment
605
+ # ════════════════════════════════════════════════════════════
606
+ section "Final Setup"
607
+
608
+ # Copy ALL Go binaries to system PATH (ensures everything accessible)
609
+ cp /root/go/bin/* /usr/local/bin/ 2>/dev/null || true
610
+
611
+ # Environment variables
612
+ cat > /etc/profile.d/rtexit-env.sh << 'ENVEOF'
613
+ export PATH="$PATH:/root/go/bin:/usr/local/bin:/opt/rtexit/scripts"
614
+ export SECLISTS='/opt/SecLists'
615
+ export GOPATH='/root/go'
616
+ ENVEOF
617
+ chmod +x /etc/profile.d/rtexit-env.sh
618
+
619
+ # Summary
620
+ echo ""
621
+ echo -e "${GREEN}${BOLD}════════════════════════════════════════════${NC}"
622
+ echo -e "${GREEN}${BOLD} RTExit Native Install Complete!${NC}"
623
+ echo -e "${GREEN}${BOLD}════════════════════════════════════════════${NC}"
624
+ echo ""
625
+ echo -e " ${CYAN}Install results:${NC}"
626
+ echo -e " ${GREEN}✅ Successful: $OK${NC}"
627
+ echo -e " ${RED}❌ Failed: $FAIL${NC}"
628
+ echo ""
629
+ echo -e " ${CYAN}Next steps:${NC}"
630
+ echo -e " 1. source /etc/profile.d/rtexit-aliases.sh"
631
+ echo -e " 2. source /etc/profile.d/rtexit-env.sh"
632
+ echo -e " 3. bash \$(dirname \$0)/verify/rt-verify-all.sh --quick"
633
+ echo ""