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.
- package/package.json +1 -1
- package/packaged-assets/docker/Dockerfile +234 -0
- package/packaged-assets/docker/verify/lib.sh +109 -0
- package/packaged-assets/docker/verify/phase1-scanning.sh +57 -0
- package/packaged-assets/docker/verify/phase10-network.sh +62 -0
- package/packaged-assets/docker/verify/phase11-specialist.sh +56 -0
- package/packaged-assets/docker/verify/phase2-web.sh +79 -0
- package/packaged-assets/docker/verify/phase3-ad.sh +86 -0
- package/packaged-assets/docker/verify/phase4-cloud.sh +60 -0
- package/packaged-assets/docker/verify/phase5-mobile.sh +58 -0
- package/packaged-assets/docker/verify/phase6-c2.sh +62 -0
- package/packaged-assets/docker/verify/phase7-osint.sh +48 -0
- package/packaged-assets/docker/verify/phase8-creds.sh +53 -0
- package/packaged-assets/docker/verify/phase9-binary.sh +67 -0
- package/packaged-assets/docker/verify/rt-verify-all.sh +175 -0
- package/packaged-assets/scripts/rt-native-install.sh +633 -0
|
@@ -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 ""
|