rtexit-method 0.1.17 → 0.1.19
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 +1324 -0
- package/packaged-assets/docker/README.md +107 -0
- package/packaged-assets/docker/aliases.sh +410 -0
- package/packaged-assets/docker/docker-compose.yml +64 -0
- package/packaged-assets/docker/entrypoint.sh +22 -0
- package/packaged-assets/docker/verify-tools.sh +319 -0
- package/packaged-assets/scripts/rt-native-install.sh +438 -0
- package/tools/installer/commands/install.js +91 -48
- package/tools/installer/lib/asset-manifest.js +1 -0
|
@@ -0,0 +1,1324 @@
|
|
|
1
|
+
# RTExit Kali Linux — Full Red Team Environment
|
|
2
|
+
# All tools referenced in 167 RTExit skills pre-installed
|
|
3
|
+
# Usage: docker build -t rtexit/kali . && docker run -it rtexit/kali
|
|
4
|
+
# Or: docker run -it ghcr.io/exit-code-eg/rtexit-kali:latest
|
|
5
|
+
|
|
6
|
+
FROM kalilinux/kali-rolling
|
|
7
|
+
|
|
8
|
+
LABEL maintainer="RTExit <https://github.com/exit-code-eg/RTExit>"
|
|
9
|
+
LABEL description="RTExit Kali — Complete Red Team Environment (189 skills)"
|
|
10
|
+
LABEL version="3.0.0"
|
|
11
|
+
|
|
12
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
13
|
+
ENV TERM=xterm-256color
|
|
14
|
+
ENV RTEXIT_HOME=/opt/rtexit
|
|
15
|
+
|
|
16
|
+
# Block broken mirrors + force reliable mirror
|
|
17
|
+
RUN printf 'deb http://mirrors.ocf.berkeley.edu/kali kali-rolling main contrib non-free non-free-firmware\n' \
|
|
18
|
+
> /etc/apt/sources.list
|
|
19
|
+
|
|
20
|
+
# Configure apt retries
|
|
21
|
+
RUN printf 'Acquire::Retries "3";\nAcquire::http::Timeout "20";\n' \
|
|
22
|
+
> /etc/apt/apt.conf.d/99-rtexit
|
|
23
|
+
|
|
24
|
+
# ─────────────────────────────────────────────
|
|
25
|
+
# System Update (split into chunks for reliable caching)
|
|
26
|
+
# ─────────────────────────────────────────────
|
|
27
|
+
RUN apt-get update && apt-get upgrade -y && apt-get clean
|
|
28
|
+
|
|
29
|
+
# Install all tools — --fix-missing continues even if a mirror is down
|
|
30
|
+
RUN apt-get install -y --no-install-recommends --fix-missing \
|
|
31
|
+
curl wget git vim nano tmux screen \
|
|
32
|
+
file xxd hexedit zip unzip p7zip-full tar jq \
|
|
33
|
+
build-essential python3 python3-pip python3-venv \
|
|
34
|
+
libssl-dev libffi-dev libpcap-dev \
|
|
35
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
36
|
+
|
|
37
|
+
RUN apt-get update && apt-get install -y --no-install-recommends --fix-missing \
|
|
38
|
+
golang-go nodejs npm default-jdk ruby ruby-dev \
|
|
39
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
40
|
+
|
|
41
|
+
RUN apt-get update && apt-get install -y --no-install-recommends --fix-missing \
|
|
42
|
+
nmap ncat netcat-openbsd tcpdump tshark \
|
|
43
|
+
net-tools iproute2 iputils-ping bind9-dnsutils \
|
|
44
|
+
socat proxychains4 openvpn \
|
|
45
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
46
|
+
|
|
47
|
+
RUN apt-get update && apt-get install -y --no-install-recommends --fix-missing \
|
|
48
|
+
hashcat john hydra cewl crunch \
|
|
49
|
+
sqlmap nikto wfuzz dirb whatweb \
|
|
50
|
+
masscan aircrack-ng wireless-tools rfkill \
|
|
51
|
+
smbclient ldap-utils \
|
|
52
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
53
|
+
|
|
54
|
+
RUN apt-get update && apt-get install -y --no-install-recommends --fix-missing \
|
|
55
|
+
steghide exiftool gdb radare2 ltrace strace \
|
|
56
|
+
iodine hping3 dsniff macchanger \
|
|
57
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
58
|
+
|
|
59
|
+
RUN apt-get update && apt-get install -y --no-install-recommends --fix-missing \
|
|
60
|
+
responder bettercap sipvicious apache2 nginx php php-curl \
|
|
61
|
+
2>/dev/null; apt-get clean && rm -rf /var/lib/apt/lists/* ; true
|
|
62
|
+
|
|
63
|
+
# ─────────────────────────────────────────────
|
|
64
|
+
# Python Environment
|
|
65
|
+
# ─────────────────────────────────────────────
|
|
66
|
+
RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel --break-system-packages 2>/dev/null || \
|
|
67
|
+
pip3 install --no-cache-dir --break-system-packages --upgrade pip setuptools wheel --break-system-packages 2>/dev/null || true
|
|
68
|
+
|
|
69
|
+
# ─────────────────────────────────────────────
|
|
70
|
+
# Recon & OSINT Tools
|
|
71
|
+
# (rt-osint, rt-subdomain-enum, rt-active-recon, rt-shodan-recon, rt-js-analysis)
|
|
72
|
+
# ─────────────────────────────────────────────
|
|
73
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
74
|
+
amass subfinder \
|
|
75
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
76
|
+
|
|
77
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
78
|
+
theHarvester shodan censys trufflehog stegoveritas
|
|
79
|
+
|
|
80
|
+
# recon-ng from source (not on PyPI)
|
|
81
|
+
RUN git clone https://github.com/lanmaster53/recon-ng /opt/recon-ng 2>/dev/null && \
|
|
82
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/recon-ng/REQUIREMENTS 2>/dev/null; \
|
|
83
|
+
ln -sf /opt/recon-ng/recon-ng /usr/local/bin/recon-ng 2>/dev/null; true
|
|
84
|
+
|
|
85
|
+
# httpx, nuclei, subfinder, naabu, katana via Go
|
|
86
|
+
# Go tools — each separate so one failure doesn't stop others
|
|
87
|
+
RUN go install github.com/projectdiscovery/httpx/cmd/httpx@latest 2>/dev/null || true
|
|
88
|
+
RUN go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest 2>/dev/null || true
|
|
89
|
+
RUN go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest 2>/dev/null || true
|
|
90
|
+
RUN go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest 2>/dev/null || true
|
|
91
|
+
RUN go install github.com/projectdiscovery/katana/cmd/katana@latest 2>/dev/null || true
|
|
92
|
+
RUN go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest 2>/dev/null || true
|
|
93
|
+
RUN go install github.com/hakluke/hakrawler@latest 2>/dev/null || true
|
|
94
|
+
RUN go install github.com/tomnomnom/waybackurls@latest 2>/dev/null || true
|
|
95
|
+
RUN go install github.com/lc/gau/v2/cmd/gau@latest 2>/dev/null || true
|
|
96
|
+
RUN go install github.com/ffuf/ffuf/v2@latest 2>/dev/null || true
|
|
97
|
+
RUN go install github.com/OJ/gobuster/v3@latest 2>/dev/null || true
|
|
98
|
+
RUN go install github.com/ropnop/kerbrute@latest 2>/dev/null || true
|
|
99
|
+
RUN go install github.com/hahwul/dalfox/v2@latest 2>/dev/null || true
|
|
100
|
+
RUN go install github.com/LukaSikic/subzy@latest 2>/dev/null || true
|
|
101
|
+
|
|
102
|
+
# gitleaks
|
|
103
|
+
RUN curl -sSfL https://github.com/gitleaks/gitleaks/releases/latest/download/gitleaks_linux_x64.tar.gz | \
|
|
104
|
+
tar xz -C /usr/local/bin && chmod +x /usr/local/bin/gitleaks || true
|
|
105
|
+
|
|
106
|
+
# Nuclei templates
|
|
107
|
+
RUN nuclei -update-templates -update-template-dir /opt/nuclei-templates 2>/dev/null || true
|
|
108
|
+
|
|
109
|
+
# sherlock
|
|
110
|
+
RUN pip3 install --no-cache-dir --break-system-packages sherlock-project 2>/dev/null || true
|
|
111
|
+
|
|
112
|
+
# ─────────────────────────────────────────────
|
|
113
|
+
# Web Application Tools
|
|
114
|
+
# (rt-exploit-web, rt-exploit-injection, rt-exploit-xss, rt-exploit-ssrf,
|
|
115
|
+
# rt-exploit-auth, rt-exploit-file-upload, rt-exploit-api, rt-exploit-jwt,
|
|
116
|
+
# rt-request-smuggling, rt-cache-attacks, rt-xxe, rt-path-traversal)
|
|
117
|
+
# ─────────────────────────────────────────────
|
|
118
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
119
|
+
sqlmap \
|
|
120
|
+
nikto \
|
|
121
|
+
wfuzz \
|
|
122
|
+
dirb \
|
|
123
|
+
whatweb \
|
|
124
|
+
wafw00f \
|
|
125
|
+
testssl.sh \
|
|
126
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
127
|
+
|
|
128
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
129
|
+
mitmproxy impacket requests pwntools \
|
|
130
|
+
PyJWT python-jose \
|
|
131
|
+
grpcio grpcio-tools websocket-client scapy stegano
|
|
132
|
+
|
|
133
|
+
RUN pip3 install --no-cache-dir --break-system-packages blackboxprotobuf 2>/dev/null || true
|
|
134
|
+
RUN pip3 install --no-cache-dir --break-system-packages padding-oracle-attacker 2>/dev/null || true
|
|
135
|
+
|
|
136
|
+
# padbuster from source (not on PyPI)
|
|
137
|
+
RUN git clone https://github.com/AonCyberLabs/PadBuster /opt/PadBuster 2>/dev/null && \
|
|
138
|
+
chmod +x /opt/PadBuster/padBuster.pl 2>/dev/null && \
|
|
139
|
+
ln -sf /opt/PadBuster/padBuster.pl /usr/local/bin/padbuster 2>/dev/null || true
|
|
140
|
+
|
|
141
|
+
# jwt_tool
|
|
142
|
+
RUN git clone https://github.com/ticarpi/jwt_tool /opt/jwt_tool 2>/dev/null && \
|
|
143
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/jwt_tool/requirements.txt 2>/dev/null; \
|
|
144
|
+
ln -sf /opt/jwt_tool/jwt_tool.py /usr/local/bin/jwt_tool 2>/dev/null; \
|
|
145
|
+
chmod +x /opt/jwt_tool/jwt_tool.py 2>/dev/null; true
|
|
146
|
+
|
|
147
|
+
# smuggler (HTTP Request Smuggling)
|
|
148
|
+
RUN git clone https://github.com/defparam/smuggler /opt/smuggler && \
|
|
149
|
+
chmod +x /opt/smuggler/smuggler.py && \
|
|
150
|
+
ln -s /opt/smuggler/smuggler.py /usr/local/bin/smuggler
|
|
151
|
+
|
|
152
|
+
# Param Miner / arjun (hidden parameter discovery)
|
|
153
|
+
RUN pip3 install --no-cache-dir --break-system-packages arjun 2>/dev/null || true
|
|
154
|
+
|
|
155
|
+
# kxss (XSS scanning)
|
|
156
|
+
RUN go install github.com/tomnomnom/qsreplace@latest 2>/dev/null || true
|
|
157
|
+
RUN go install github.com/Emoe/kxss@latest 2>/dev/null || true
|
|
158
|
+
RUN go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest 2>/dev/null || true
|
|
159
|
+
RUN go install github.com/projectdiscovery/cloudlist/cmd/cloudlist@latest 2>/dev/null || true
|
|
160
|
+
RUN go install github.com/projectdiscovery/mapcidr/cmd/mapcidr@latest 2>/dev/null || true
|
|
161
|
+
RUN go install github.com/projectdiscovery/chaos-client/cmd/chaos@latest 2>/dev/null || true
|
|
162
|
+
|
|
163
|
+
# x8 — better hidden parameter discovery
|
|
164
|
+
RUN go install github.com/Sh1Yo/x8@latest 2>/dev/null || true
|
|
165
|
+
|
|
166
|
+
# LinkFinder (JS analysis)
|
|
167
|
+
RUN git clone https://github.com/GerbenJavado/LinkFinder /opt/LinkFinder 2>/dev/null && \
|
|
168
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/LinkFinder/requirements.txt 2>/dev/null; \
|
|
169
|
+
ln -sf /opt/LinkFinder/linkfinder.py /usr/local/bin/linkfinder 2>/dev/null; true
|
|
170
|
+
|
|
171
|
+
# Burp Suite Community (headless)
|
|
172
|
+
RUN curl -L "https://portswigger.net/burp/releases/download?product=community&type=jar" \
|
|
173
|
+
-o /opt/burpsuite.jar 2>/dev/null || true
|
|
174
|
+
|
|
175
|
+
# grpcurl
|
|
176
|
+
RUN go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
|
|
177
|
+
|
|
178
|
+
# ─────────────────────────────────────────────
|
|
179
|
+
# Password & Credential Tools
|
|
180
|
+
# (rt-password-spray, rt-wordlist-generation, rt-lsass-dumping, rt-credential-access)
|
|
181
|
+
# ─────────────────────────────────────────────
|
|
182
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
183
|
+
hashcat \
|
|
184
|
+
john \
|
|
185
|
+
hydra \
|
|
186
|
+
medusa \
|
|
187
|
+
cewl \
|
|
188
|
+
crunch \
|
|
189
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
190
|
+
|
|
191
|
+
# pypykatz (LSASS parsing on Linux)
|
|
192
|
+
RUN pip3 install --no-cache-dir --break-system-packages pypykatz 2>/dev/null || true
|
|
193
|
+
|
|
194
|
+
# CUPP (password profiling)
|
|
195
|
+
RUN git clone https://github.com/Mebus/cupp /opt/cupp && \
|
|
196
|
+
ln -s /opt/cupp/cupp.py /usr/local/bin/cupp && \
|
|
197
|
+
chmod +x /opt/cupp/cupp.py
|
|
198
|
+
|
|
199
|
+
# SecLists
|
|
200
|
+
RUN git clone --depth 1 https://github.com/danielmiessler/SecLists /opt/SecLists
|
|
201
|
+
|
|
202
|
+
# kwprocessor (keyboard walks)
|
|
203
|
+
RUN go install github.com/hashcat/kwprocessor@latest 2>/dev/null || \
|
|
204
|
+
git clone https://github.com/hashcat/kwprocessor /opt/kwprocessor
|
|
205
|
+
|
|
206
|
+
# ─────────────────────────────────────────────
|
|
207
|
+
# Active Directory Tools
|
|
208
|
+
# (rt-exploit-active-directory, rt-exploit-adcs, rt-lateral-movement,
|
|
209
|
+
# rt-privilege-escalation, rt-persistence, rt-adfs)
|
|
210
|
+
# ─────────────────────────────────────────────
|
|
211
|
+
# AD tools — installed separately to avoid dependency conflicts
|
|
212
|
+
RUN pip3 install --no-cache-dir --break-system-packages impacket 2>/dev/null || true
|
|
213
|
+
RUN pip3 install --no-cache-dir --break-system-packages bloodhound 2>/dev/null || true
|
|
214
|
+
RUN pip3 install --no-cache-dir --break-system-packages ldap3 pyOpenSSL 2>/dev/null || true
|
|
215
|
+
RUN pip3 install --no-cache-dir --break-system-packages certipy-ad 2>/dev/null || true
|
|
216
|
+
RUN pip3 install --no-cache-dir --break-system-packages pywhisker 2>/dev/null || true
|
|
217
|
+
|
|
218
|
+
# netexec (crackmapexec successor)
|
|
219
|
+
RUN pip3 install --no-cache-dir --break-system-packages netexec 2>/dev/null || true
|
|
220
|
+
|
|
221
|
+
# evil-winrm
|
|
222
|
+
RUN gem install evil-winrm 2>/dev/null || true
|
|
223
|
+
|
|
224
|
+
# BloodHound Python ingestor
|
|
225
|
+
RUN pip3 install --no-cache-dir --break-system-packages bloodhound 2>/dev/null || true
|
|
226
|
+
|
|
227
|
+
# Kerbrute (already installed via Go)
|
|
228
|
+
|
|
229
|
+
# bloodyAD
|
|
230
|
+
RUN pip3 install --no-cache-dir --break-system-packages bloodyAD 2>/dev/null || true
|
|
231
|
+
|
|
232
|
+
# PKINITtools
|
|
233
|
+
RUN git clone https://github.com/dirkjanm/PKINITtools /opt/PKINITtools && \
|
|
234
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/PKINITtools/requirements.txt 2>/dev/null || true
|
|
235
|
+
|
|
236
|
+
# PetitPotam
|
|
237
|
+
RUN git clone https://github.com/topotam/PetitPotam /opt/PetitPotam
|
|
238
|
+
|
|
239
|
+
# ─────────────────────────────────────────────
|
|
240
|
+
# Cloud Tools
|
|
241
|
+
# (rt-exploit-cloud-aws, rt-exploit-cloud-azure, rt-exploit-cloud-gcp,
|
|
242
|
+
# rt-kubernetes, rt-serverless, rt-exploit-containers)
|
|
243
|
+
# ─────────────────────────────────────────────
|
|
244
|
+
# AWS CLI
|
|
245
|
+
RUN pip3 install --no-cache-dir --break-system-packages awscli boto3 2>/dev/null || true
|
|
246
|
+
|
|
247
|
+
# Azure CLI
|
|
248
|
+
RUN pip3 install --no-cache-dir --break-system-packages azure-cli 2>/dev/null || \
|
|
249
|
+
curl -sL https://aka.ms/InstallAzureCLIDeb | bash 2>/dev/null || true
|
|
250
|
+
|
|
251
|
+
# GCP CLI
|
|
252
|
+
RUN pip3 install --no-cache-dir --break-system-packages google-cloud-storage google-auth 2>/dev/null || true
|
|
253
|
+
|
|
254
|
+
# Pacu (AWS exploitation)
|
|
255
|
+
RUN git clone https://github.com/RhinoSecurityLabs/pacu /opt/pacu 2>/dev/null && \
|
|
256
|
+
pip3 install --no-cache-dir --break-system-packages \
|
|
257
|
+
$(ls /opt/pacu/requirements*.txt 2>/dev/null | head -1 | xargs -I{} echo "-r {}") \
|
|
258
|
+
2>/dev/null; \
|
|
259
|
+
pip3 install --no-cache-dir --break-system-packages pacu 2>/dev/null; \
|
|
260
|
+
ln -sf /opt/pacu/cli.py /usr/local/bin/pacu 2>/dev/null; true
|
|
261
|
+
|
|
262
|
+
# ScoutSuite (multi-cloud)
|
|
263
|
+
RUN pip3 install --no-cache-dir --break-system-packages scoutsuite 2>/dev/null || true
|
|
264
|
+
|
|
265
|
+
# CloudFox
|
|
266
|
+
RUN go install github.com/BishopFox/cloudfox@latest 2>/dev/null || true
|
|
267
|
+
|
|
268
|
+
# kubectl
|
|
269
|
+
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \
|
|
270
|
+
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \
|
|
271
|
+
rm kubectl
|
|
272
|
+
|
|
273
|
+
# kube-hunter
|
|
274
|
+
RUN pip3 install --no-cache-dir --break-system-packages kube-hunter 2>/dev/null || true
|
|
275
|
+
|
|
276
|
+
# ─────────────────────────────────────────────
|
|
277
|
+
# Post-Exploitation & C2 Tools
|
|
278
|
+
# (rt-post-exploitation, rt-c2-operations, rt-defense-evasion,
|
|
279
|
+
# rt-lateral-movement, rt-persistence, rt-data-exfiltration)
|
|
280
|
+
# ─────────────────────────────────────────────
|
|
281
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
282
|
+
metasploit-framework \
|
|
283
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
284
|
+
|
|
285
|
+
# Sliver C2
|
|
286
|
+
RUN curl https://sliver.sh/install | sudo bash 2>/dev/null || \
|
|
287
|
+
go install github.com/BishopFox/sliver/client/cmd/sliver-client@latest 2>/dev/null || true
|
|
288
|
+
|
|
289
|
+
# Chisel (TCP tunneling)
|
|
290
|
+
RUN go install github.com/jpillora/chisel@latest
|
|
291
|
+
|
|
292
|
+
# Ligolo-ng (Layer 3 tunneling)
|
|
293
|
+
RUN go install github.com/nicocha30/ligolo-ng/cmd/proxy@latest 2>/dev/null || true
|
|
294
|
+
RUN go install github.com/nicocha30/ligolo-ng/cmd/agent@latest 2>/dev/null || true
|
|
295
|
+
|
|
296
|
+
# iodine (DNS tunneling)
|
|
297
|
+
RUN apt-get update && apt-get install -y --no-install-recommends iodine && \
|
|
298
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
299
|
+
|
|
300
|
+
# dnscat2
|
|
301
|
+
RUN git clone https://github.com/iagox86/dnscat2 /opt/dnscat2 && \
|
|
302
|
+
cd /opt/dnscat2/client && make 2>/dev/null || true
|
|
303
|
+
|
|
304
|
+
# ─────────────────────────────────────────────
|
|
305
|
+
# Network & Protocol Tools
|
|
306
|
+
# (rt-network-segmentation, rt-ssl-mitm, rt-traffic-analysis, rt-exploit-wireless)
|
|
307
|
+
# ─────────────────────────────────────────────
|
|
308
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
309
|
+
responder \
|
|
310
|
+
bettercap \
|
|
311
|
+
ettercap-text-only \
|
|
312
|
+
dsniff \
|
|
313
|
+
sslstrip \
|
|
314
|
+
hping3 \
|
|
315
|
+
yersinia \
|
|
316
|
+
proxychains4 \
|
|
317
|
+
ptunnel-ng \
|
|
318
|
+
socat \
|
|
319
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
320
|
+
|
|
321
|
+
# zeek (traffic analysis)
|
|
322
|
+
RUN apt-get update && apt-get install -y --no-install-recommends zeek 2>/dev/null || true && \
|
|
323
|
+
apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
324
|
+
|
|
325
|
+
# PCredz (credential extraction from pcap)
|
|
326
|
+
RUN git clone https://github.com/lgandx/PCredz /opt/PCredz && \
|
|
327
|
+
pip3 install --no-cache-dir --break-system-packages Cython 2>/dev/null || true
|
|
328
|
+
|
|
329
|
+
# ─────────────────────────────────────────────
|
|
330
|
+
# Social Engineering & Phishing
|
|
331
|
+
# (rt-social-engineering, rt-exploit-phishing)
|
|
332
|
+
# ─────────────────────────────────────────────
|
|
333
|
+
# GoPhish
|
|
334
|
+
RUN wget -q "https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip" \
|
|
335
|
+
-O /tmp/gophish.zip 2>/dev/null && \
|
|
336
|
+
unzip -q /tmp/gophish.zip -d /opt/gophish 2>/dev/null && \
|
|
337
|
+
chmod +x /opt/gophish/gophish 2>/dev/null && \
|
|
338
|
+
ln -s /opt/gophish/gophish /usr/local/bin/gophish 2>/dev/null && \
|
|
339
|
+
rm /tmp/gophish.zip 2>/dev/null || true
|
|
340
|
+
|
|
341
|
+
# SET (Social Engineering Toolkit)
|
|
342
|
+
RUN git clone https://github.com/trustedsec/social-engineer-toolkit /opt/setoolkit && \
|
|
343
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/setoolkit/requirements.txt 2>/dev/null || true
|
|
344
|
+
|
|
345
|
+
# ─────────────────────────────────────────────
|
|
346
|
+
# Deserialization Tools
|
|
347
|
+
# (rt-deserialization)
|
|
348
|
+
# ─────────────────────────────────────────────
|
|
349
|
+
# ysoserial
|
|
350
|
+
RUN mkdir -p /opt/ysoserial && \
|
|
351
|
+
wget -q "https://github.com/frohoff/ysoserial/releases/latest/download/ysoserial-all.jar" \
|
|
352
|
+
-O /opt/ysoserial/ysoserial.jar && \
|
|
353
|
+
echo '#!/bin/bash\njava -jar /opt/ysoserial/ysoserial.jar "$@"' > /usr/local/bin/ysoserial && \
|
|
354
|
+
chmod +x /usr/local/bin/ysoserial
|
|
355
|
+
|
|
356
|
+
# phpggc
|
|
357
|
+
RUN git clone https://github.com/ambionics/phpggc /opt/phpggc && \
|
|
358
|
+
ln -s /opt/phpggc/phpggc /usr/local/bin/phpggc && \
|
|
359
|
+
chmod +x /opt/phpggc/phpggc
|
|
360
|
+
|
|
361
|
+
# ─────────────────────────────────────────────
|
|
362
|
+
# Binary Analysis & Reverse Engineering
|
|
363
|
+
# (rt-binary-reverse-engineering)
|
|
364
|
+
# ─────────────────────────────────────────────
|
|
365
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
366
|
+
gdb \
|
|
367
|
+
radare2 \
|
|
368
|
+
ltrace strace \
|
|
369
|
+
binutils \
|
|
370
|
+
patchelf \
|
|
371
|
+
nasm \
|
|
372
|
+
ghidra 2>/dev/null || true \
|
|
373
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
374
|
+
|
|
375
|
+
# Ghidra (if not in apt)
|
|
376
|
+
RUN if ! command -v ghidra &>/dev/null; then \
|
|
377
|
+
wget -q "https://github.com/NationalSecurityAgency/ghidra/releases/latest/download/ghidra_11.1_PUBLIC_20240607.zip" \
|
|
378
|
+
-O /tmp/ghidra.zip 2>/dev/null && \
|
|
379
|
+
unzip -q /tmp/ghidra.zip -d /opt && \
|
|
380
|
+
ln -s /opt/ghidra_*/ghidraRun /usr/local/bin/ghidra && \
|
|
381
|
+
rm /tmp/ghidra.zip 2>/dev/null; fi || true
|
|
382
|
+
|
|
383
|
+
# floss (string deobfuscation)
|
|
384
|
+
RUN pip3 install --no-cache-dir --break-system-packages floss 2>/dev/null || true
|
|
385
|
+
|
|
386
|
+
# pwndbg (GDB enhancement)
|
|
387
|
+
RUN git clone https://github.com/pwndbg/pwndbg /opt/pwndbg && \
|
|
388
|
+
cd /opt/pwndbg && ./setup.sh 2>/dev/null || true
|
|
389
|
+
|
|
390
|
+
# ─────────────────────────────────────────────
|
|
391
|
+
# Fuzzing Tools
|
|
392
|
+
# (rt-exploit-fuzzing)
|
|
393
|
+
# ─────────────────────────────────────────────
|
|
394
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
395
|
+
afl++ \
|
|
396
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
397
|
+
|
|
398
|
+
# radamsa — build from source (not in Kali repos)
|
|
399
|
+
RUN git clone https://gitlab.com/akihe/radamsa /opt/radamsa && \
|
|
400
|
+
cd /opt/radamsa && make 2>/dev/null && \
|
|
401
|
+
ln -sf /opt/radamsa/bin/radamsa /usr/local/bin/radamsa 2>/dev/null || true
|
|
402
|
+
|
|
403
|
+
RUN pip3 install --no-cache-dir --break-system-packages boofuzz 2>/dev/null || true
|
|
404
|
+
|
|
405
|
+
# ─────────────────────────────────────────────
|
|
406
|
+
# Hardware & IoT Tools
|
|
407
|
+
# (rt-hardware-hacking, rt-exploit-iot, rt-exploit-scada)
|
|
408
|
+
# ─────────────────────────────────────────────
|
|
409
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
410
|
+
openocd \
|
|
411
|
+
flashrom \
|
|
412
|
+
avrdude \
|
|
413
|
+
minicom \
|
|
414
|
+
screen \
|
|
415
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
416
|
+
|
|
417
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
418
|
+
bleak \
|
|
419
|
+
pyserial \
|
|
420
|
+
pyModbusTCP 2>/dev/null || true
|
|
421
|
+
|
|
422
|
+
# ─────────────────────────────────────────────
|
|
423
|
+
# Steganography & Covert Channels
|
|
424
|
+
# (rt-steganography)
|
|
425
|
+
# ─────────────────────────────────────────────
|
|
426
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
427
|
+
steghide sox binwalk exiftool \
|
|
428
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
429
|
+
# outguess — not in Kali repos, build from source
|
|
430
|
+
RUN git clone https://github.com/crorvick/outguess /opt/outguess && \
|
|
431
|
+
cd /opt/outguess && autoreconf -i && ./configure && make && make install 2>/dev/null || true
|
|
432
|
+
|
|
433
|
+
RUN gem install zsteg 2>/dev/null || true
|
|
434
|
+
RUN pip3 install --no-cache-dir --break-system-packages stegoveritas 2>/dev/null || true
|
|
435
|
+
|
|
436
|
+
# ─────────────────────────────────────────────
|
|
437
|
+
# VoIP Tools
|
|
438
|
+
# (rt-voip-sip)
|
|
439
|
+
# ─────────────────────────────────────────────
|
|
440
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
441
|
+
sipvicious 2>/dev/null || true \
|
|
442
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
443
|
+
|
|
444
|
+
RUN pip3 install --no-cache-dir --break-system-packages sipvicious 2>/dev/null || true
|
|
445
|
+
|
|
446
|
+
# ─────────────────────────────────────────────
|
|
447
|
+
# Crypto Attack Tools
|
|
448
|
+
# (rt-crypto-attacks)
|
|
449
|
+
# ─────────────────────────────────────────────
|
|
450
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
451
|
+
pycryptodome \
|
|
452
|
+
hashpumpy \
|
|
453
|
+
cryptography \
|
|
454
|
+
padding-oracle-attacker 2>/dev/null || true
|
|
455
|
+
|
|
456
|
+
# ─────────────────────────────────────────────
|
|
457
|
+
# Web Proxy & Interception
|
|
458
|
+
# (rt-ssl-mitm)
|
|
459
|
+
# ─────────────────────────────────────────────
|
|
460
|
+
RUN pip3 install --no-cache-dir --break-system-packages mitmproxy 2>/dev/null || true
|
|
461
|
+
|
|
462
|
+
# OWASP ZAP (Burp Suite alternative)
|
|
463
|
+
RUN wget -q "https://github.com/zaproxy/zaproxy/releases/latest/download/ZAP_LINUX_PACKAGE.tar.gz" \
|
|
464
|
+
-O /tmp/zap.tar.gz 2>/dev/null && \
|
|
465
|
+
tar xf /tmp/zap.tar.gz -C /opt/ && \
|
|
466
|
+
ln -s /opt/ZAP_*/zap.sh /usr/local/bin/zap && \
|
|
467
|
+
rm /tmp/zap.tar.gz 2>/dev/null || true
|
|
468
|
+
|
|
469
|
+
# ─────────────────────────────────────────────
|
|
470
|
+
# Azure AD — ROADtools (Azure AD enumeration)
|
|
471
|
+
# (rt-azure-ad, rt-adfs)
|
|
472
|
+
# ─────────────────────────────────────────────
|
|
473
|
+
RUN pip3 install --no-cache-dir --break-system-packages roadtools roadrecon 2>/dev/null || true
|
|
474
|
+
|
|
475
|
+
# ─────────────────────────────────────────────
|
|
476
|
+
# AWS IAM — PMapper (privilege escalation paths)
|
|
477
|
+
# (rt-exploit-cloud-aws)
|
|
478
|
+
# ─────────────────────────────────────────────
|
|
479
|
+
RUN pip3 install --no-cache-dir --break-system-packages principalmapper 2>/dev/null || \
|
|
480
|
+
git clone https://github.com/nccgroup/PMapper /opt/PMapper && \
|
|
481
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/PMapper/requirements.txt 2>/dev/null || true
|
|
482
|
+
|
|
483
|
+
# ─────────────────────────────────────────────
|
|
484
|
+
# Email Breach Hunting — h8mail
|
|
485
|
+
# (rt-osint, rt-credential-hunt)
|
|
486
|
+
# ─────────────────────────────────────────────
|
|
487
|
+
RUN pip3 install --no-cache-dir --break-system-packages h8mail 2>/dev/null || true
|
|
488
|
+
|
|
489
|
+
# ─────────────────────────────────────────────
|
|
490
|
+
# Mobile Testing — Frida + Objection
|
|
491
|
+
# (rt-exploit-android, rt-exploit-ios)
|
|
492
|
+
# ─────────────────────────────────────────────
|
|
493
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
494
|
+
frida-tools \
|
|
495
|
+
objection \
|
|
496
|
+
apkleaks 2>/dev/null || true
|
|
497
|
+
|
|
498
|
+
# ─────────────────────────────────────────────
|
|
499
|
+
# Phishing — Evilginx3 (MFA-bypassing reverse proxy)
|
|
500
|
+
# (rt-social-engineering, rt-exploit-phishing)
|
|
501
|
+
# ─────────────────────────────────────────────
|
|
502
|
+
RUN go install github.com/kgretzky/evilginx2@latest 2>/dev/null || \
|
|
503
|
+
git clone https://github.com/kgretzky/evilginx2 /opt/evilginx3 && \
|
|
504
|
+
cd /opt/evilginx3 && go build -o /usr/local/bin/evilginx3 . 2>/dev/null || true
|
|
505
|
+
|
|
506
|
+
# ─────────────────────────────────────────────
|
|
507
|
+
# AI/LLM Tools
|
|
508
|
+
# (rt-ai-llm-security)
|
|
509
|
+
# ─────────────────────────────────────────────
|
|
510
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
511
|
+
garak \
|
|
512
|
+
openai \
|
|
513
|
+
anthropic \
|
|
514
|
+
requests 2>/dev/null || true
|
|
515
|
+
|
|
516
|
+
# ─────────────────────────────────────────────
|
|
517
|
+
# C2 Frameworks (Additional)
|
|
518
|
+
# Havoc C2, Empire, PoshC2
|
|
519
|
+
# ─────────────────────────────────────────────
|
|
520
|
+
RUN git clone https://github.com/BC-SECURITY/Empire /opt/Empire 2>/dev/null; \
|
|
521
|
+
[ -f /opt/Empire/requirements.txt ] && pip3 install --no-cache-dir --break-system-packages -r /opt/Empire/requirements.txt 2>/dev/null; \
|
|
522
|
+
ln -sf /opt/Empire/empire /usr/local/bin/empire 2>/dev/null; true
|
|
523
|
+
|
|
524
|
+
RUN git clone https://github.com/nettitude/PoshC2 /opt/PoshC2 && \
|
|
525
|
+
cd /opt/PoshC2 && pip3 install --no-cache-dir --break-system-packages -r requirements.txt 2>/dev/null || true
|
|
526
|
+
|
|
527
|
+
# Villain C2 (lightweight)
|
|
528
|
+
RUN git clone https://github.com/t3l3machus/Villain /opt/Villain && \
|
|
529
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/Villain/requirements.txt 2>/dev/null || true
|
|
530
|
+
|
|
531
|
+
# ─────────────────────────────────────────────
|
|
532
|
+
# Web Testing (Additional)
|
|
533
|
+
# Caido, Ghauri, GraphQL tools, CORScanner
|
|
534
|
+
# ─────────────────────────────────────────────
|
|
535
|
+
# Caido — modern Burp alternative
|
|
536
|
+
RUN curl -fsSL "https://caido.io/download/latest/linux" -o /usr/local/bin/caido 2>/dev/null && \
|
|
537
|
+
chmod +x /usr/local/bin/caido 2>/dev/null || true
|
|
538
|
+
|
|
539
|
+
# Ghauri — advanced SQLi tool
|
|
540
|
+
RUN pip3 install --no-cache-dir --break-system-packages ghauri 2>/dev/null; \
|
|
541
|
+
git clone https://github.com/r0oth3x49/ghauri /opt/ghauri 2>/dev/null; \
|
|
542
|
+
[ -f /opt/ghauri/requirements.txt ] && pip3 install --no-cache-dir --break-system-packages -r /opt/ghauri/requirements.txt 2>/dev/null; \
|
|
543
|
+
ln -sf /opt/ghauri/ghauri.py /usr/local/bin/ghauri 2>/dev/null; true
|
|
544
|
+
|
|
545
|
+
# GraphQL tools
|
|
546
|
+
RUN pip3 install --no-cache-dir --break-system-packages graphw00f 2>/dev/null && \
|
|
547
|
+
pip3 install --no-cache-dir --break-system-packages clairvoyance 2>/dev/null || true
|
|
548
|
+
|
|
549
|
+
# CORScanner
|
|
550
|
+
RUN git clone https://github.com/chenjj/CORScanner /opt/CORScanner && \
|
|
551
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/CORScanner/requirements.txt 2>/dev/null || true
|
|
552
|
+
|
|
553
|
+
# ─────────────────────────────────────────────
|
|
554
|
+
# Active Directory (Additional)
|
|
555
|
+
# coercer, mitm6, KrbRelayUp, NoPac, DonPAPI
|
|
556
|
+
# ─────────────────────────────────────────────
|
|
557
|
+
# coercer — unified auth coercion (EFS, MS-RPRN, MS-DFSNM, etc.)
|
|
558
|
+
RUN pip3 install --no-cache-dir --break-system-packages coercer 2>/dev/null || \
|
|
559
|
+
git clone https://github.com/p0dalirius/Coercer /opt/Coercer && \
|
|
560
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/Coercer/requirements.txt 2>/dev/null || true
|
|
561
|
+
|
|
562
|
+
# mitm6 — IPv6 MITM + DNS takeover
|
|
563
|
+
RUN pip3 install --no-cache-dir --break-system-packages mitm6 2>/dev/null || true
|
|
564
|
+
|
|
565
|
+
# DonPAPI — DPAPI credential hunting
|
|
566
|
+
RUN git clone https://github.com/login-securite/DonPAPI /opt/DonPAPI && \
|
|
567
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/DonPAPI/requirements.txt 2>/dev/null || true
|
|
568
|
+
|
|
569
|
+
# NoPac — CVE-2021-42278/42427
|
|
570
|
+
RUN git clone https://github.com/Ridter/noPac /opt/noPac && \
|
|
571
|
+
pip3 install --no-cache-dir --break-system-packages impacket 2>/dev/null || true
|
|
572
|
+
|
|
573
|
+
# pyrdp — RDP MITM
|
|
574
|
+
RUN pip3 install --no-cache-dir --break-system-packages pyrdp 2>/dev/null || true
|
|
575
|
+
|
|
576
|
+
# ─────────────────────────────────────────────
|
|
577
|
+
# Container Escape Tools
|
|
578
|
+
# CDK, deepce, botb
|
|
579
|
+
# ─────────────────────────────────────────────
|
|
580
|
+
# CDK — Container escape toolkit
|
|
581
|
+
RUN go install github.com/cdk-team/CDK/cmd/cdk@latest 2>/dev/null || \
|
|
582
|
+
curl -sSL https://github.com/cdk-team/CDK/releases/latest/download/cdk_linux_amd64 \
|
|
583
|
+
-o /usr/local/bin/cdk && chmod +x /usr/local/bin/cdk 2>/dev/null || true
|
|
584
|
+
|
|
585
|
+
# deepce — Docker escape
|
|
586
|
+
RUN curl -sSL https://github.com/stealthcopter/deepce/releases/latest/download/deepce \
|
|
587
|
+
-o /usr/local/bin/deepce && chmod +x /usr/local/bin/deepce 2>/dev/null || true
|
|
588
|
+
|
|
589
|
+
# botb — Break Out The Box
|
|
590
|
+
RUN go install github.com/brompwnie/botb@latest 2>/dev/null || true
|
|
591
|
+
|
|
592
|
+
# Trivy — container/image vulnerability scanning
|
|
593
|
+
RUN curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | \
|
|
594
|
+
sh -s -- -b /usr/local/bin 2>/dev/null || \
|
|
595
|
+
apt-get install -y trivy 2>/dev/null || true
|
|
596
|
+
|
|
597
|
+
# ─────────────────────────────────────────────
|
|
598
|
+
# Cloud (Additional)
|
|
599
|
+
# Prowler, Steampipe, Stratus Red Team, TeamFiltration
|
|
600
|
+
# ─────────────────────────────────────────────
|
|
601
|
+
# Prowler — AWS/GCP/Azure compliance audit
|
|
602
|
+
RUN pip3 install --no-cache-dir --break-system-packages prowler 2>/dev/null || true
|
|
603
|
+
|
|
604
|
+
# Stratus Red Team — cloud attack for detection testing
|
|
605
|
+
RUN go install github.com/DataDog/stratus-red-team/v2/cmd/stratus@latest 2>/dev/null || true
|
|
606
|
+
|
|
607
|
+
# TeamFiltration — M365 user enum and spray
|
|
608
|
+
RUN curl -sSL "https://github.com/Flangvik/TeamFiltration/releases/latest/download/TeamFiltration_Linux" \
|
|
609
|
+
-o /usr/local/bin/teamfiltration && chmod +x /usr/local/bin/teamfiltration 2>/dev/null || true
|
|
610
|
+
|
|
611
|
+
# ─────────────────────────────────────────────
|
|
612
|
+
# Payload Generation & Evasion
|
|
613
|
+
# Veil-Evasion, macro_pack, Donut, ScareCrow
|
|
614
|
+
# ─────────────────────────────────────────────
|
|
615
|
+
# Veil-Evasion
|
|
616
|
+
RUN git clone https://github.com/Veil-Framework/Veil /opt/Veil && \
|
|
617
|
+
cd /opt/Veil/setup && bash setup.sh -s 2>/dev/null || true
|
|
618
|
+
|
|
619
|
+
# macro_pack — Office macro obfuscation
|
|
620
|
+
RUN git clone https://github.com/sevagas/macro_pack /opt/macro_pack 2>/dev/null || true
|
|
621
|
+
|
|
622
|
+
# Donut — shellcode generation
|
|
623
|
+
RUN pip3 install --no-cache-dir --break-system-packages donut-shellcode 2>/dev/null || \
|
|
624
|
+
go install github.com/Binject/go-donut/cmd/godonuts@latest 2>/dev/null || true
|
|
625
|
+
|
|
626
|
+
# ─────────────────────────────────────────────
|
|
627
|
+
# OSINT (Additional)
|
|
628
|
+
# SpiderFoot, Maigret, Holehe, GHunt, CrossLinked
|
|
629
|
+
# ─────────────────────────────────────────────
|
|
630
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
631
|
+
spiderfoot 2>/dev/null || true
|
|
632
|
+
|
|
633
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
634
|
+
maigret \
|
|
635
|
+
holehe \
|
|
636
|
+
ghunt \
|
|
637
|
+
socialscan 2>/dev/null || true
|
|
638
|
+
|
|
639
|
+
# CrossLinked — LinkedIn username generation
|
|
640
|
+
RUN git clone https://github.com/m8sec/CrossLinked /opt/CrossLinked && \
|
|
641
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/CrossLinked/requirements.txt 2>/dev/null || true
|
|
642
|
+
|
|
643
|
+
# ─────────────────────────────────────────────
|
|
644
|
+
# Mobile Testing — Core Tools
|
|
645
|
+
# apktool, jadx, dex2jar, adb
|
|
646
|
+
# (rt-exploit-android, rt-exploit-ios, rt-apk-repackaging)
|
|
647
|
+
# ─────────────────────────────────────────────
|
|
648
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
649
|
+
apktool \
|
|
650
|
+
dex2jar \
|
|
651
|
+
android-tools-adb \
|
|
652
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
653
|
+
|
|
654
|
+
# jadx — Java decompiler
|
|
655
|
+
RUN mkdir -p /opt/jadx && \
|
|
656
|
+
curl -sSL "https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.0.zip" \
|
|
657
|
+
-o /tmp/jadx.zip 2>/dev/null && \
|
|
658
|
+
unzip -q /tmp/jadx.zip -d /opt/jadx && \
|
|
659
|
+
ln -sf /opt/jadx/bin/jadx /usr/local/bin/jadx && \
|
|
660
|
+
ln -sf /opt/jadx/bin/jadx-gui /usr/local/bin/jadx-gui && \
|
|
661
|
+
rm /tmp/jadx.zip 2>/dev/null || true
|
|
662
|
+
|
|
663
|
+
# uber-apk-signer — sign + zipalign APKs in one command
|
|
664
|
+
# (rt-apk-repackaging — required for repackaged APK signing)
|
|
665
|
+
RUN mkdir -p /opt/uber-apk-signer && \
|
|
666
|
+
curl -sSL "https://github.com/patrickfav/uber-apk-signer/releases/download/v1.3.0/uber-apk-signer-1.3.0.jar" \
|
|
667
|
+
-o /opt/uber-apk-signer/uber-apk-signer.jar 2>/dev/null && \
|
|
668
|
+
echo '#!/bin/bash\nexec java -jar /opt/uber-apk-signer/uber-apk-signer.jar "$@"' \
|
|
669
|
+
> /usr/local/bin/uber-apk-signer && \
|
|
670
|
+
chmod +x /usr/local/bin/uber-apk-signer 2>/dev/null || true
|
|
671
|
+
|
|
672
|
+
# ─────────────────────────────────────────────
|
|
673
|
+
# Mobile Testing — Advanced Dynamic Analysis
|
|
674
|
+
# Frida, Objection, reFlutter
|
|
675
|
+
# (rt-frida-advanced, rt-mobile-ssl-pinning)
|
|
676
|
+
# ─────────────────────────────────────────────
|
|
677
|
+
|
|
678
|
+
# frida-tools + objection + apkleaks (already in base section, ensure latest)
|
|
679
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
680
|
+
frida-tools \
|
|
681
|
+
objection \
|
|
682
|
+
apkleaks 2>/dev/null || true
|
|
683
|
+
|
|
684
|
+
# reFlutter — patches libflutter.so to remove SSL pinning + redirect to Burp
|
|
685
|
+
# (rt-mobile-ssl-pinning, rt-cross-platform-mobile — Flutter apps)
|
|
686
|
+
RUN pip3 install --no-cache-dir --break-system-packages reFlutter 2>/dev/null || \
|
|
687
|
+
git clone https://github.com/Impact-I/reFlutter /opt/reFlutter && \
|
|
688
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/reFlutter/requirements.txt 2>/dev/null || true
|
|
689
|
+
|
|
690
|
+
# apk-mitm — automatic SSL unpinning for APKs (no Frida needed)
|
|
691
|
+
# (rt-mobile-ssl-pinning — when Frida/Objection bypass fails)
|
|
692
|
+
RUN npm install -g apk-mitm 2>/dev/null || true
|
|
693
|
+
|
|
694
|
+
# frida-server helper script — pulls correct frida-server for connected device
|
|
695
|
+
# Usage: setup-frida-server [device_ip:port]
|
|
696
|
+
# (rt-frida-advanced)
|
|
697
|
+
RUN cat > /usr/local/bin/setup-frida-server << 'SCRIPT'
|
|
698
|
+
#!/bin/bash
|
|
699
|
+
set -e
|
|
700
|
+
FRIDA_VER=$(python3 -c "import frida; print(frida.__version__)" 2>/dev/null || pip3 show frida | grep Version | awk '{print $2}')
|
|
701
|
+
DEVICE=${1:-"usb"}
|
|
702
|
+
|
|
703
|
+
if [ "$DEVICE" != "usb" ]; then
|
|
704
|
+
adb connect "$DEVICE"
|
|
705
|
+
fi
|
|
706
|
+
|
|
707
|
+
ARCH=$(adb shell getprop ro.product.cpu.abi 2>/dev/null | tr -d '\r')
|
|
708
|
+
case $ARCH in
|
|
709
|
+
arm64-v8a) ARCH_NAME="arm64" ;;
|
|
710
|
+
armeabi-v7a) ARCH_NAME="arm" ;;
|
|
711
|
+
x86_64) ARCH_NAME="x86_64" ;;
|
|
712
|
+
x86) ARCH_NAME="x86" ;;
|
|
713
|
+
*) echo "Unknown arch: $ARCH"; exit 1 ;;
|
|
714
|
+
esac
|
|
715
|
+
|
|
716
|
+
echo "[*] Frida version: $FRIDA_VER | Device arch: $ARCH_NAME"
|
|
717
|
+
URL="https://github.com/frida/frida/releases/download/${FRIDA_VER}/frida-server-${FRIDA_VER}-android-${ARCH_NAME}.xz"
|
|
718
|
+
echo "[*] Downloading: $URL"
|
|
719
|
+
wget -q "$URL" -O /tmp/frida-server.xz
|
|
720
|
+
unxz /tmp/frida-server.xz
|
|
721
|
+
mv /tmp/frida-server "/tmp/frida-server-${ARCH_NAME}"
|
|
722
|
+
adb push "/tmp/frida-server-${ARCH_NAME}" /data/local/tmp/frida-server
|
|
723
|
+
adb shell chmod 755 /data/local/tmp/frida-server
|
|
724
|
+
echo "[+] Installed. Start with: adb shell /data/local/tmp/frida-server &"
|
|
725
|
+
SCRIPT
|
|
726
|
+
RUN chmod +x /usr/local/bin/setup-frida-server 2>/dev/null || true
|
|
727
|
+
|
|
728
|
+
# ─────────────────────────────────────────────
|
|
729
|
+
# Mobile Testing — Cross-Platform App Analysis
|
|
730
|
+
# React Native (Hermes), Flutter (Dart), Xamarin
|
|
731
|
+
# (rt-cross-platform-mobile)
|
|
732
|
+
# ─────────────────────────────────────────────
|
|
733
|
+
|
|
734
|
+
# hermes-dec — decompile Hermes bytecode (React Native compiled bundles)
|
|
735
|
+
RUN pip3 install --no-cache-dir --break-system-packages hermes-dec 2>/dev/null || true
|
|
736
|
+
|
|
737
|
+
# hbctool — alternative Hermes bytecode disassembler
|
|
738
|
+
RUN pip3 install --no-cache-dir --break-system-packages hbctool 2>/dev/null || true
|
|
739
|
+
|
|
740
|
+
# js-beautify — prettify plain React Native JS bundles
|
|
741
|
+
RUN npm install -g js-beautify 2>/dev/null || true
|
|
742
|
+
|
|
743
|
+
# doldrums — extract Dart code from Flutter kernel_blob.bin
|
|
744
|
+
RUN pip3 install --no-cache-dir --break-system-packages doldrums 2>/dev/null || \
|
|
745
|
+
git clone https://github.com/nicowillis/doldrums /opt/doldrums && \
|
|
746
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/doldrums/requirements.txt 2>/dev/null || true
|
|
747
|
+
|
|
748
|
+
# Mono + monodis — decompile Xamarin .NET assemblies
|
|
749
|
+
# monodis = IL disassembler for .NET DLLs from Xamarin apps
|
|
750
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
751
|
+
mono-complete \
|
|
752
|
+
mono-utils \
|
|
753
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
754
|
+
|
|
755
|
+
# ilspycmd — .NET decompiler (better than monodis for Xamarin DLL source)
|
|
756
|
+
RUN dotnet tool install --global ilspycmd 2>/dev/null || true
|
|
757
|
+
|
|
758
|
+
# lz4 — decompress Xamarin LZ4-compressed assemblies (XALZ format)
|
|
759
|
+
RUN pip3 install --no-cache-dir --break-system-packages lz4 2>/dev/null || true
|
|
760
|
+
|
|
761
|
+
# ─────────────────────────────────────────────
|
|
762
|
+
# Mobile Testing — Static Analysis Deep
|
|
763
|
+
# MobSF (via Docker), androguard, trufflehog, secret scanning
|
|
764
|
+
# (rt-mobile-static-deep)
|
|
765
|
+
# ─────────────────────────────────────────────
|
|
766
|
+
|
|
767
|
+
# androguard — Python library for APK analysis (imports, permissions, code)
|
|
768
|
+
RUN pip3 install --no-cache-dir --break-system-packages androguard 2>/dev/null || true
|
|
769
|
+
|
|
770
|
+
# apkleaks — scan APK for leaked secrets, endpoints, API keys
|
|
771
|
+
RUN pip3 install --no-cache-dir --break-system-packages apkleaks 2>/dev/null || true
|
|
772
|
+
|
|
773
|
+
# trufflehog3 — secret scanning on decompiled source
|
|
774
|
+
RUN pip3 install --no-cache-dir --break-system-packages trufflehog3 2>/dev/null || true
|
|
775
|
+
|
|
776
|
+
# MobSF — NOTE: MobSF is too heavy for the base image (~2GB)
|
|
777
|
+
# Run separately: docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf
|
|
778
|
+
# Or add to your docker-compose.yml alongside rtexit-kali
|
|
779
|
+
RUN echo '# MobSF: docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf' \
|
|
780
|
+
>> /etc/profile.d/rtexit-aliases.sh 2>/dev/null || true
|
|
781
|
+
|
|
782
|
+
# ─────────────────────────────────────────────
|
|
783
|
+
# Mobile Testing — Malware & C2
|
|
784
|
+
# msfvenom (already installed), TheFatRat, AhMyth, qrcode
|
|
785
|
+
# (rt-mobile-malware-c2)
|
|
786
|
+
# ─────────────────────────────────────────────
|
|
787
|
+
|
|
788
|
+
# qrcode — generate QR codes for APK delivery URLs
|
|
789
|
+
RUN pip3 install --no-cache-dir --break-system-packages "qrcode[pil]" Pillow 2>/dev/null || true
|
|
790
|
+
|
|
791
|
+
# TheFatRat — FUD payload generator (APK + exe + more)
|
|
792
|
+
RUN git clone https://github.com/Screetsec/TheFatRat /opt/TheFatRat 2>/dev/null && \
|
|
793
|
+
chmod +x /opt/TheFatRat/fatrat 2>/dev/null || true
|
|
794
|
+
# NOTE: TheFatRat requires setup.sh on first use: cd /opt/TheFatRat && bash setup.sh
|
|
795
|
+
|
|
796
|
+
# AhMyth RAT — NOTE: Electron GUI app, cannot run headless in Docker
|
|
797
|
+
# Download on attacker machine: https://github.com/AhMyth/AhMyth-Android-RAT/releases
|
|
798
|
+
RUN echo '# AhMyth: download GUI from https://github.com/AhMyth/AhMyth-Android-RAT/releases' \
|
|
799
|
+
>> /etc/profile.d/rtexit-aliases.sh 2>/dev/null || true
|
|
800
|
+
|
|
801
|
+
# ─────────────────────────────────────────────
|
|
802
|
+
# Mobile Testing — Intent Exploitation
|
|
803
|
+
# Drozer (already installed), adb (already installed)
|
|
804
|
+
# (rt-android-intent-exploitation)
|
|
805
|
+
# ─────────────────────────────────────────────
|
|
806
|
+
|
|
807
|
+
# drozer — already installed above, ensure agent JAR is available
|
|
808
|
+
RUN pip3 install --no-cache-dir --break-system-packages drozer 2>/dev/null || true
|
|
809
|
+
|
|
810
|
+
# Download drozer agent APK for device installation
|
|
811
|
+
RUN mkdir -p /opt/drozer && \
|
|
812
|
+
curl -sSL "https://github.com/WithSecureLabs/drozer/releases/latest/download/drozer-agent.apk" \
|
|
813
|
+
-o /opt/drozer/drozer-agent.apk 2>/dev/null && \
|
|
814
|
+
echo "[*] Install on device: adb install /opt/drozer/drozer-agent.apk" >> /opt/drozer/README.txt 2>/dev/null || true
|
|
815
|
+
|
|
816
|
+
# ─────────────────────────────────────────────
|
|
817
|
+
# Purple Team / Detection Testing
|
|
818
|
+
# Atomic Red Team, Caldera
|
|
819
|
+
# ─────────────────────────────────────────────
|
|
820
|
+
# Atomic Red Team — MITRE ATT&CK tests
|
|
821
|
+
RUN git clone https://github.com/redcanaryco/atomic-red-team /opt/atomic-red-team 2>/dev/null || true
|
|
822
|
+
|
|
823
|
+
# Caldera — MITRE adversary simulation
|
|
824
|
+
RUN git clone https://github.com/mitre/caldera /opt/caldera && \
|
|
825
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/caldera/requirements.txt 2>/dev/null || true
|
|
826
|
+
|
|
827
|
+
# ─────────────────────────────────────────────
|
|
828
|
+
# Missing Tools (Gap Analysis v1)
|
|
829
|
+
# ─────────────────────────────────────────────
|
|
830
|
+
|
|
831
|
+
# Android — Drozer (component enumeration)
|
|
832
|
+
RUN pip3 install --no-cache-dir --break-system-packages drozer 2>/dev/null || true
|
|
833
|
+
|
|
834
|
+
# BLE — crackle + GATTacker
|
|
835
|
+
RUN git clone https://github.com/mikeryan/crackle /opt/crackle && \
|
|
836
|
+
cd /opt/crackle && make 2>/dev/null || true
|
|
837
|
+
RUN npm install -g gattacker 2>/dev/null || true
|
|
838
|
+
|
|
839
|
+
# VoIP — rtpbreak + pjsua (install individually to avoid block on missing pkg)
|
|
840
|
+
RUN apt-get update && \
|
|
841
|
+
apt-get install -y --no-install-recommends rtpbreak 2>/dev/null || true && \
|
|
842
|
+
apt-get install -y --no-install-recommends pjsua 2>/dev/null || true && \
|
|
843
|
+
apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
844
|
+
|
|
845
|
+
# Steganography — zsteg
|
|
846
|
+
RUN gem install zsteg 2>/dev/null || true
|
|
847
|
+
|
|
848
|
+
# Browser Exploitation — BeEF
|
|
849
|
+
RUN apt-get update && \
|
|
850
|
+
apt-get install -y --no-install-recommends beef-xss 2>/dev/null || true && \
|
|
851
|
+
apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
852
|
+
|
|
853
|
+
# Electron — electronegativity
|
|
854
|
+
RUN npm install -g @doyensec/electronegativity 2>/dev/null || true
|
|
855
|
+
|
|
856
|
+
# AI/LLM — promptfoo
|
|
857
|
+
RUN npm install -g promptfoo 2>/dev/null || true
|
|
858
|
+
|
|
859
|
+
# Supply Chain — Dive (Docker layer inspector)
|
|
860
|
+
RUN curl -sSfL https://raw.githubusercontent.com/wagoodman/dive/main/get-dive.sh | sh 2>/dev/null || \
|
|
861
|
+
wget -qO /tmp/dive.tar.gz "https://github.com/wagoodman/dive/releases/latest/download/dive_linux_amd64.tar.gz" && \
|
|
862
|
+
tar xf /tmp/dive.tar.gz -C /usr/local/bin dive 2>/dev/null && rm /tmp/dive.tar.gz 2>/dev/null || true
|
|
863
|
+
|
|
864
|
+
# VoIP — ucsniff (SIP/RTP sniffer)
|
|
865
|
+
RUN git clone https://github.com/hevnsnt/ucsniff /opt/ucsniff 2>/dev/null || true
|
|
866
|
+
|
|
867
|
+
# SCADA — complete pip installs for ICS tools
|
|
868
|
+
RUN [ -f /opt/plcscan/requirements.txt ] && \
|
|
869
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/plcscan/requirements.txt 2>/dev/null || true
|
|
870
|
+
RUN [ -f /opt/isf/requirements.txt ] && \
|
|
871
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/isf/requirements.txt 2>/dev/null || true
|
|
872
|
+
|
|
873
|
+
# Steganography — StegSolve JAR
|
|
874
|
+
RUN wget -q "https://github.com/zardus/ctf-tools/raw/master/stegsolve/install" \
|
|
875
|
+
-O /tmp/stegsolve_install 2>/dev/null || true && \
|
|
876
|
+
mkdir -p /opt/stegsolve && \
|
|
877
|
+
wget -q "http://www.caesum.com/handbook/Stegsolve.jar" \
|
|
878
|
+
-O /opt/stegsolve/stegsolve.jar 2>/dev/null || true && \
|
|
879
|
+
echo '#!/bin/bash\njava -jar /opt/stegsolve/stegsolve.jar "$@"' > /usr/local/bin/stegsolve && \
|
|
880
|
+
chmod +x /usr/local/bin/stegsolve 2>/dev/null || true
|
|
881
|
+
|
|
882
|
+
# ─────────────────────────────────────────────
|
|
883
|
+
# Missing CLI Tools (Gap Analysis v2)
|
|
884
|
+
# ─────────────────────────────────────────────
|
|
885
|
+
|
|
886
|
+
# Information Gathering — missing CLI tools
|
|
887
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
888
|
+
fierce \
|
|
889
|
+
dnsrecon \
|
|
890
|
+
dnsenum \
|
|
891
|
+
nbtscan \
|
|
892
|
+
smbmap \
|
|
893
|
+
enum4linux \
|
|
894
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
895
|
+
|
|
896
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
897
|
+
enum4linux-ng 2>/dev/null || true
|
|
898
|
+
|
|
899
|
+
# Password Attacks — missing tools
|
|
900
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
901
|
+
patator 2>/dev/null || true
|
|
902
|
+
|
|
903
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
904
|
+
onesixtyone \
|
|
905
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
906
|
+
|
|
907
|
+
# Exploitation — searchsploit + routersploit + weevely + king-phisher
|
|
908
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
909
|
+
exploitdb \
|
|
910
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
911
|
+
|
|
912
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
913
|
+
routersploit \
|
|
914
|
+
weevely 2>/dev/null || true
|
|
915
|
+
|
|
916
|
+
RUN git clone https://github.com/rsmusllp/king-phisher /opt/king-phisher && \
|
|
917
|
+
pip3 install --no-cache-dir --break-system-packages \
|
|
918
|
+
-r /opt/king-phisher/requirements.txt 2>/dev/null || true
|
|
919
|
+
|
|
920
|
+
# Forensics — CLI tools (all work in container)
|
|
921
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
922
|
+
foremost \
|
|
923
|
+
dc3dd \
|
|
924
|
+
testdisk \
|
|
925
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
926
|
+
|
|
927
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
928
|
+
bulk-extractor \
|
|
929
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
930
|
+
|
|
931
|
+
# Volatility3 — memory forensics
|
|
932
|
+
RUN git clone https://github.com/volatilityfoundation/volatility3 /opt/volatility3 && \
|
|
933
|
+
pip3 install --no-cache-dir --break-system-packages \
|
|
934
|
+
-r /opt/volatility3/requirements.txt 2>/dev/null && \
|
|
935
|
+
ln -sf /opt/volatility3/vol.py /usr/local/bin/vol 2>/dev/null || true
|
|
936
|
+
|
|
937
|
+
# Sniffing — missing CLI tools
|
|
938
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
939
|
+
arpwatch \
|
|
940
|
+
netsniff-ng \
|
|
941
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
942
|
+
|
|
943
|
+
# ─────────────────────────────────────────────
|
|
944
|
+
# Missing Tools (adb + peirates + ScareCrow)
|
|
945
|
+
# ─────────────────────────────────────────────
|
|
946
|
+
RUN apt-get install -y --no-install-recommends android-tools-adb 2>/dev/null || true
|
|
947
|
+
|
|
948
|
+
RUN go install github.com/inguardians/peirates@latest 2>/dev/null || \
|
|
949
|
+
( git clone https://github.com/inguardians/peirates /opt/peirates && \
|
|
950
|
+
cd /opt/peirates && go build -o /usr/local/bin/peirates . ) 2>/dev/null || true
|
|
951
|
+
|
|
952
|
+
RUN git clone https://github.com/optiv/ScareCrow /opt/ScareCrow 2>/dev/null && \
|
|
953
|
+
cd /opt/ScareCrow && go build -o /usr/local/bin/ScareCrow . 2>/dev/null || true
|
|
954
|
+
|
|
955
|
+
# ═════════════════════════════════════════════
|
|
956
|
+
# GAP ANALYSIS v3 — Advanced Professional Tools
|
|
957
|
+
# All gaps identified from skills audit
|
|
958
|
+
# ═════════════════════════════════════════════
|
|
959
|
+
|
|
960
|
+
# ─────────────────────────────────────────────
|
|
961
|
+
# Web & API — Advanced Tools
|
|
962
|
+
# (rt-exploit-web, rt-js-analysis, rt-exploit-graphql)
|
|
963
|
+
# ─────────────────────────────────────────────
|
|
964
|
+
|
|
965
|
+
# semgrep — source-assisted web testing, find code patterns
|
|
966
|
+
RUN pip3 install --no-cache-dir --break-system-packages semgrep 2>/dev/null || true
|
|
967
|
+
|
|
968
|
+
# jsbeautifier — prettify minified JS from web apps + React Native bundles
|
|
969
|
+
RUN pip3 install --no-cache-dir --break-system-packages jsbeautifier 2>/dev/null || true
|
|
970
|
+
|
|
971
|
+
# wappalyzer-cli — technology fingerprinting
|
|
972
|
+
RUN npm install -g wappalyzer-cli 2>/dev/null || true
|
|
973
|
+
|
|
974
|
+
# graphql-cop — GraphQL security audit tool
|
|
975
|
+
RUN pip3 install --no-cache-dir --break-system-packages graphql-cop 2>/dev/null || \
|
|
976
|
+
git clone https://github.com/nicowillis/graphql-cop /opt/graphql-cop 2>/dev/null && \
|
|
977
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/graphql-cop/requirements.txt 2>/dev/null || true
|
|
978
|
+
|
|
979
|
+
# InQL — GraphQL introspection and attack tool
|
|
980
|
+
RUN pip3 install --no-cache-dir --break-system-packages inql 2>/dev/null || true
|
|
981
|
+
|
|
982
|
+
# XXEinjector — automated XXE exploitation
|
|
983
|
+
RUN git clone https://github.com/enjoiz/XXEinjector /opt/XXEinjector 2>/dev/null || true
|
|
984
|
+
|
|
985
|
+
# tplmap — Server-Side Template Injection (SSTI) scanner
|
|
986
|
+
RUN git clone https://github.com/epinna/tplmap /opt/tplmap && \
|
|
987
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/tplmap/requirements.txt 2>/dev/null && \
|
|
988
|
+
ln -sf /opt/tplmap/tplmap.py /usr/local/bin/tplmap && \
|
|
989
|
+
chmod +x /opt/tplmap/tplmap.py 2>/dev/null || true
|
|
990
|
+
|
|
991
|
+
# ─────────────────────────────────────────────
|
|
992
|
+
# Active Directory — Advanced Tools
|
|
993
|
+
# (rt-exploit-active-directory, rt-kerberos-relay, rt-syscall-bypass)
|
|
994
|
+
# ─────────────────────────────────────────────
|
|
995
|
+
|
|
996
|
+
# Rubeus — compiled binary for Kerberos attacks (from GhostPack)
|
|
997
|
+
# NOTE: Windows-only binary, but needed for documentation reference
|
|
998
|
+
# In real engagements: transfer to Windows target via C2
|
|
999
|
+
RUN mkdir -p /opt/GhostPack && \
|
|
1000
|
+
echo "# GhostPack tools (Windows binaries) — transfer to target via C2" > /opt/GhostPack/README.txt && \
|
|
1001
|
+
echo "# Rubeus: https://github.com/GhostPack/Rubeus/releases" >> /opt/GhostPack/README.txt && \
|
|
1002
|
+
echo "# SharpHound: https://github.com/BloodHoundAD/SharpHound/releases" >> /opt/GhostPack/README.txt && \
|
|
1003
|
+
echo "# Seatbelt: https://github.com/GhostPack/Seatbelt/releases" >> /opt/GhostPack/README.txt && \
|
|
1004
|
+
echo "# SharpUp: https://github.com/GhostPack/SharpUp/releases" >> /opt/GhostPack/README.txt
|
|
1005
|
+
|
|
1006
|
+
# KrbRelayUp — Kerberos relay local PrivEsc
|
|
1007
|
+
RUN git clone https://github.com/Dec0ne/KrbRelayUp /opt/KrbRelayUp 2>/dev/null || true
|
|
1008
|
+
|
|
1009
|
+
# CVE-2020-1472 Zerologon exploit
|
|
1010
|
+
RUN git clone https://github.com/dirkjanm/CVE-2020-1472 /opt/CVE-2020-1472 2>/dev/null && \
|
|
1011
|
+
pip3 install --no-cache-dir --break-system-packages impacket 2>/dev/null || true
|
|
1012
|
+
|
|
1013
|
+
# PrintNightmare CVE-2021-1675
|
|
1014
|
+
RUN git clone https://github.com/cube0x0/CVE-2021-1675 /opt/PrintNightmare 2>/dev/null || true
|
|
1015
|
+
|
|
1016
|
+
# krbrelayx — Kerberos relay attack framework
|
|
1017
|
+
RUN git clone https://github.com/dirkjanm/krbrelayx /opt/krbrelayx && \
|
|
1018
|
+
pip3 install --no-cache-dir --break-system-packages dnspython ldap3 pyOpenSSL 2>/dev/null || true
|
|
1019
|
+
|
|
1020
|
+
# ADFSpoof — Golden SAML attack
|
|
1021
|
+
RUN git clone https://github.com/fireeye/ADFSpoof /opt/ADFSpoof 2>/dev/null && \
|
|
1022
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/ADFSpoof/requirements.txt 2>/dev/null || true
|
|
1023
|
+
|
|
1024
|
+
# pyGPOAbuse — GPO abuse for persistence
|
|
1025
|
+
RUN git clone https://github.com/Hackndo/pyGPOAbuse /opt/pyGPOAbuse && \
|
|
1026
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/pyGPOAbuse/requirements.txt 2>/dev/null || true
|
|
1027
|
+
|
|
1028
|
+
# SysWhispers3 — direct syscall bypass generator
|
|
1029
|
+
RUN git clone https://github.com/klezVirus/SysWhispers3 /opt/SysWhispers3 2>/dev/null || true
|
|
1030
|
+
|
|
1031
|
+
# ─────────────────────────────────────────────
|
|
1032
|
+
# Cloud — Advanced Tools
|
|
1033
|
+
# (rt-exploit-cloud-aws, rt-exploit-cloud-azure, rt-exploit-cloud-gcp)
|
|
1034
|
+
# ─────────────────────────────────────────────
|
|
1035
|
+
|
|
1036
|
+
# enumerate-iam — AWS IAM permission enumeration without admin
|
|
1037
|
+
RUN git clone https://github.com/andresriancho/enumerate-iam /opt/enumerate-iam && \
|
|
1038
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/enumerate-iam/requirements.txt 2>/dev/null && \
|
|
1039
|
+
ln -sf /opt/enumerate-iam/enumerate-iam.py /usr/local/bin/enumerate-iam && \
|
|
1040
|
+
chmod +x /opt/enumerate-iam/enumerate-iam.py 2>/dev/null || true
|
|
1041
|
+
|
|
1042
|
+
# aws-whoami — identify current AWS identity + permissions
|
|
1043
|
+
RUN go install github.com/liamg/awswhoami@latest 2>/dev/null || true
|
|
1044
|
+
|
|
1045
|
+
# azcopy — Azure blob/file exfiltration
|
|
1046
|
+
RUN curl -sSL "https://aka.ms/downloadazcopy-v10-linux" | tar xz --strip-components=1 -C /usr/local/bin/ 2>/dev/null || true
|
|
1047
|
+
|
|
1048
|
+
# checkov — IaC misconfiguration scanner (Terraform, K8s, ARM)
|
|
1049
|
+
RUN pip3 install --no-cache-dir --break-system-packages checkov 2>/dev/null || true
|
|
1050
|
+
|
|
1051
|
+
# steampipe — SQL queries against cloud APIs (AWS/Azure/GCP)
|
|
1052
|
+
RUN curl -sSL https://raw.githubusercontent.com/turbot/steampipe/main/etc/install.sh | sh 2>/dev/null || true
|
|
1053
|
+
|
|
1054
|
+
# cloud_enum — multi-cloud asset enumeration
|
|
1055
|
+
RUN git clone https://github.com/initstring/cloud_enum /opt/cloud_enum && \
|
|
1056
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/cloud_enum/requirements.txt 2>/dev/null || true
|
|
1057
|
+
|
|
1058
|
+
# s3scanner — public S3 bucket enumeration
|
|
1059
|
+
RUN pip3 install --no-cache-dir --break-system-packages s3scanner 2>/dev/null || true
|
|
1060
|
+
|
|
1061
|
+
# gcp_scanner — GCP service account + resource enumeration
|
|
1062
|
+
RUN pip3 install --no-cache-dir --break-system-packages gcp-scanner 2>/dev/null || true
|
|
1063
|
+
|
|
1064
|
+
# ─────────────────────────────────────────────
|
|
1065
|
+
# Kubernetes — Advanced Tools
|
|
1066
|
+
# (rt-kubernetes, rt-exploit-containers)
|
|
1067
|
+
# ─────────────────────────────────────────────
|
|
1068
|
+
|
|
1069
|
+
# kubectx + kubens — context and namespace switching
|
|
1070
|
+
RUN git clone https://github.com/ahmetb/kubectx /opt/kubectx && \
|
|
1071
|
+
ln -sf /opt/kubectx/kubectx /usr/local/bin/kubectx && \
|
|
1072
|
+
ln -sf /opt/kubectx/kubens /usr/local/bin/kubens 2>/dev/null || true
|
|
1073
|
+
|
|
1074
|
+
# kube-bench — CIS Kubernetes benchmark scanner
|
|
1075
|
+
RUN go install github.com/aquasecurity/kube-bench@latest 2>/dev/null || true
|
|
1076
|
+
|
|
1077
|
+
# helm — Kubernetes package manager (for chart-based attacks)
|
|
1078
|
+
RUN curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2>/dev/null || true
|
|
1079
|
+
|
|
1080
|
+
# kubesploit — Kubernetes-specific post-exploitation framework
|
|
1081
|
+
RUN go install github.com/cyberark/kubesploit@latest 2>/dev/null || \
|
|
1082
|
+
git clone https://github.com/cyberark/kubesploit /opt/kubesploit 2>/dev/null || true
|
|
1083
|
+
|
|
1084
|
+
# ─────────────────────────────────────────────
|
|
1085
|
+
# Recon & OSINT — Advanced
|
|
1086
|
+
# (rt-osint, rt-active-recon, rt-shodan-recon, rt-github-recon)
|
|
1087
|
+
# ─────────────────────────────────────────────
|
|
1088
|
+
|
|
1089
|
+
# zmap — fast internet-wide scanner
|
|
1090
|
+
RUN apt-get update && apt-get install -y --no-install-recommends zmap \
|
|
1091
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1092
|
+
|
|
1093
|
+
# git-dumper — dump exposed .git directories
|
|
1094
|
+
RUN pip3 install --no-cache-dir --break-system-packages git-dumper 2>/dev/null || true
|
|
1095
|
+
|
|
1096
|
+
# trufflehog — git + S3 + GitHub secret scanning
|
|
1097
|
+
RUN pip3 install --no-cache-dir --break-system-packages trufflehog 2>/dev/null || true
|
|
1098
|
+
|
|
1099
|
+
# github-recon tools
|
|
1100
|
+
RUN pip3 install --no-cache-dir --break-system-packages PyGithub 2>/dev/null || true
|
|
1101
|
+
RUN go install github.com/gwen001/github-subdomains@latest 2>/dev/null || true
|
|
1102
|
+
RUN go install github.com/d3mondev/puredns/v2@latest 2>/dev/null || true
|
|
1103
|
+
|
|
1104
|
+
# ipinfo + abuseipdb — IP intelligence
|
|
1105
|
+
RUN pip3 install --no-cache-dir --break-system-packages ipinfo 2>/dev/null || true
|
|
1106
|
+
|
|
1107
|
+
# duckduckgo-search — passive recon
|
|
1108
|
+
RUN pip3 install --no-cache-dir --break-system-packages duckduckgo-search 2>/dev/null || true
|
|
1109
|
+
|
|
1110
|
+
# ─────────────────────────────────────────────
|
|
1111
|
+
# Binary Analysis & Exploitation — Advanced
|
|
1112
|
+
# (rt-binary-reverse-engineering, rt-crypto-attacks)
|
|
1113
|
+
# ─────────────────────────────────────────────
|
|
1114
|
+
|
|
1115
|
+
# capstone + keystone + unicorn — disassembly/assembly/emulation Python libs
|
|
1116
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
1117
|
+
capstone keystone-engine unicorn 2>/dev/null || true
|
|
1118
|
+
|
|
1119
|
+
# ROPgadget — ROP chain builder
|
|
1120
|
+
RUN pip3 install --no-cache-dir --break-system-packages ropgadget 2>/dev/null || true
|
|
1121
|
+
|
|
1122
|
+
# ropper — alternative ROP gadget finder
|
|
1123
|
+
RUN pip3 install --no-cache-dir --break-system-packages ropper 2>/dev/null || true
|
|
1124
|
+
|
|
1125
|
+
# GEF — GDB Enhanced Features (better than pwndbg for some scenarios)
|
|
1126
|
+
RUN bash -c "$(curl -sSL https://gef.blah.cat/sh)" 2>/dev/null || true
|
|
1127
|
+
|
|
1128
|
+
# angr — binary analysis framework (program analysis, symbolic execution)
|
|
1129
|
+
RUN pip3 install --no-cache-dir --break-system-packages angr 2>/dev/null || true
|
|
1130
|
+
|
|
1131
|
+
# YARA — malware pattern matching
|
|
1132
|
+
RUN apt-get update && apt-get install -y --no-install-recommends yara \
|
|
1133
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1134
|
+
RUN pip3 install --no-cache-dir --break-system-packages yara-python 2>/dev/null || true
|
|
1135
|
+
|
|
1136
|
+
# YARA rules — community malware signatures
|
|
1137
|
+
RUN git clone https://github.com/Yara-Rules/rules /opt/yara-rules 2>/dev/null || true
|
|
1138
|
+
|
|
1139
|
+
# ─────────────────────────────────────────────
|
|
1140
|
+
# Cryptography — Advanced Math Tools
|
|
1141
|
+
# (rt-crypto-attacks)
|
|
1142
|
+
# ─────────────────────────────────────────────
|
|
1143
|
+
|
|
1144
|
+
# sympy — symbolic math for RSA attacks, factorization, number theory
|
|
1145
|
+
RUN pip3 install --no-cache-dir --break-system-packages sympy 2>/dev/null || true
|
|
1146
|
+
|
|
1147
|
+
# ecdsa + gmpy2 — elliptic curve attacks
|
|
1148
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1149
|
+
libgmp-dev libmpfr-dev libmpc-dev \
|
|
1150
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1151
|
+
RUN pip3 install --no-cache-dir --break-system-packages ecdsa gmpy2 2>/dev/null || true
|
|
1152
|
+
|
|
1153
|
+
# sage — math library for crypto attacks (optional, large)
|
|
1154
|
+
# Skipped — too large (~4GB). Use online SageMath when needed.
|
|
1155
|
+
|
|
1156
|
+
# ─────────────────────────────────────────────
|
|
1157
|
+
# Wireless — Advanced Tools
|
|
1158
|
+
# (rt-exploit-wireless, rt-wifi-attacks)
|
|
1159
|
+
# ─────────────────────────────────────────────
|
|
1160
|
+
|
|
1161
|
+
# wifite2 — automated WiFi cracking (WPA2, PMKID, WPS)
|
|
1162
|
+
RUN pip3 install --no-cache-dir --break-system-packages wifite2 2>/dev/null || true
|
|
1163
|
+
|
|
1164
|
+
# hcxtools + hcxdumptool — modern WiFi PMKID capture
|
|
1165
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1166
|
+
hcxtools \
|
|
1167
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1168
|
+
RUN git clone https://github.com/ZerBea/hcxdumptool /opt/hcxdumptool && \
|
|
1169
|
+
cd /opt/hcxdumptool && make && make install 2>/dev/null || true
|
|
1170
|
+
|
|
1171
|
+
# hostapd-wpe — Evil Twin / WPA Enterprise attack
|
|
1172
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1173
|
+
hostapd-wpe \
|
|
1174
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1175
|
+
|
|
1176
|
+
# ubertooth — Bluetooth classic sniffing hardware tool
|
|
1177
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1178
|
+
ubertooth \
|
|
1179
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1180
|
+
|
|
1181
|
+
# ─────────────────────────────────────────────
|
|
1182
|
+
# Phishing & Social Engineering — Advanced
|
|
1183
|
+
# (rt-exploit-phishing, rt-social-engineering)
|
|
1184
|
+
# ─────────────────────────────────────────────
|
|
1185
|
+
|
|
1186
|
+
# phishery — inject URL into Office documents
|
|
1187
|
+
RUN git clone https://github.com/ryhanson/phishery /opt/phishery 2>/dev/null || true
|
|
1188
|
+
|
|
1189
|
+
# o365spray — O365 user enumeration + spray
|
|
1190
|
+
RUN pip3 install --no-cache-dir --break-system-packages o365spray 2>/dev/null || \
|
|
1191
|
+
git clone https://github.com/0xZDH/o365spray /opt/o365spray && \
|
|
1192
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/o365spray/requirements.txt 2>/dev/null || true
|
|
1193
|
+
|
|
1194
|
+
# msf-phishing — generate malicious Office documents
|
|
1195
|
+
RUN gem install msf-phishing 2>/dev/null || true
|
|
1196
|
+
|
|
1197
|
+
# credSniper — phishing framework with 2FA bypass
|
|
1198
|
+
RUN git clone https://github.com/ustayready/CredSniper /opt/CredSniper && \
|
|
1199
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/CredSniper/requirements.txt 2>/dev/null || true
|
|
1200
|
+
|
|
1201
|
+
# ─────────────────────────────────────────────
|
|
1202
|
+
# Post-Exploitation — Advanced
|
|
1203
|
+
# (rt-c2-operations, rt-lateral-movement, rt-persistence)
|
|
1204
|
+
# ─────────────────────────────────────────────
|
|
1205
|
+
|
|
1206
|
+
# Merlin C2 — HTTP/2 + TLS C2 (harder to detect than standard HTTPS)
|
|
1207
|
+
RUN go install github.com/Ne0nd0g/merlin-agent/cmd/merlinagent@latest 2>/dev/null || true
|
|
1208
|
+
|
|
1209
|
+
# DeathStar — automated BloodHound path exploitation
|
|
1210
|
+
RUN pip3 install --no-cache-dir --break-system-packages deathstar 2>/dev/null || \
|
|
1211
|
+
git clone https://github.com/byt3bl33d3r/DeathStar /opt/DeathStar && \
|
|
1212
|
+
pip3 install --no-cache-dir --break-system-packages -r /opt/DeathStar/requirements.txt 2>/dev/null || true
|
|
1213
|
+
|
|
1214
|
+
# ldeep — LDAP enumeration with less noise
|
|
1215
|
+
RUN pip3 install --no-cache-dir --break-system-packages ldeep 2>/dev/null || true
|
|
1216
|
+
|
|
1217
|
+
# windapsearch — LDAP enumeration
|
|
1218
|
+
RUN go install github.com/ropnop/windapsearch@latest 2>/dev/null || \
|
|
1219
|
+
git clone https://github.com/ropnop/windapsearch /opt/windapsearch 2>/dev/null || true
|
|
1220
|
+
|
|
1221
|
+
# impacket suite — ensure all scripts are in PATH
|
|
1222
|
+
RUN pip3 install --no-cache-dir --break-system-packages impacket 2>/dev/null || true
|
|
1223
|
+
|
|
1224
|
+
# ─────────────────────────────────────────────
|
|
1225
|
+
# Supply Chain & Code Analysis
|
|
1226
|
+
# (rt-supply-chain, rt-github-recon)
|
|
1227
|
+
# ─────────────────────────────────────────────
|
|
1228
|
+
|
|
1229
|
+
# syft — SBOM (Software Bill of Materials) generator
|
|
1230
|
+
RUN curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
|
|
1231
|
+
|
|
1232
|
+
# grype — vulnerability scanner for container images
|
|
1233
|
+
RUN curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
|
|
1234
|
+
|
|
1235
|
+
# dependency-check — OWASP SCA tool
|
|
1236
|
+
RUN mkdir -p /opt/dependency-check && \
|
|
1237
|
+
curl -sSL "https://github.com/jeremylong/DependencyCheck/releases/latest/download/dependency-check-bin.zip" \
|
|
1238
|
+
-o /tmp/dc.zip 2>/dev/null && \
|
|
1239
|
+
unzip -q /tmp/dc.zip -d /opt/ && \
|
|
1240
|
+
ln -sf /opt/dependency-check/bin/dependency-check.sh /usr/local/bin/dependency-check && \
|
|
1241
|
+
rm /tmp/dc.zip 2>/dev/null || true
|
|
1242
|
+
|
|
1243
|
+
# ─────────────────────────────────────────────
|
|
1244
|
+
# DFIR & Memory Forensics
|
|
1245
|
+
# (rt-binary-reverse-engineering, purple team)
|
|
1246
|
+
# ─────────────────────────────────────────────
|
|
1247
|
+
|
|
1248
|
+
# sleuthkit — disk image forensics (fls, icat, mactime)
|
|
1249
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1250
|
+
sleuthkit autopsy \
|
|
1251
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1252
|
+
|
|
1253
|
+
# strings + binutils extras
|
|
1254
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1255
|
+
binutils-multiarch \
|
|
1256
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1257
|
+
|
|
1258
|
+
# ─────────────────────────────────────────────
|
|
1259
|
+
# AI/LLM Security — Advanced
|
|
1260
|
+
# (rt-ai-llm-security)
|
|
1261
|
+
# ─────────────────────────────────────────────
|
|
1262
|
+
|
|
1263
|
+
# promptfoo — LLM red-teaming framework
|
|
1264
|
+
RUN npm install -g promptfoo 2>/dev/null || true
|
|
1265
|
+
|
|
1266
|
+
# llm-security tools
|
|
1267
|
+
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
1268
|
+
garak \
|
|
1269
|
+
langchain \
|
|
1270
|
+
openai \
|
|
1271
|
+
anthropic \
|
|
1272
|
+
transformers 2>/dev/null || true
|
|
1273
|
+
|
|
1274
|
+
# ─────────────────────────────────────────────
|
|
1275
|
+
# Network — Advanced Tools
|
|
1276
|
+
# (rt-network-segmentation, rt-traffic-analysis)
|
|
1277
|
+
# ─────────────────────────────────────────────
|
|
1278
|
+
|
|
1279
|
+
# suricata — IDS/IPS for traffic analysis
|
|
1280
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1281
|
+
suricata \
|
|
1282
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1283
|
+
|
|
1284
|
+
# ncrack — network authentication cracker
|
|
1285
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
1286
|
+
ncrack \
|
|
1287
|
+
2>/dev/null && apt-get clean && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
1288
|
+
|
|
1289
|
+
# ─────────────────────────────────────────────
|
|
1290
|
+
# RTExit Framework Installation
|
|
1291
|
+
# ─────────────────────────────────────────────
|
|
1292
|
+
RUN mkdir -p $RTEXIT_HOME
|
|
1293
|
+
|
|
1294
|
+
# Install RTExit skills
|
|
1295
|
+
RUN npx --yes rtexit-method install --non-interactive 2>/dev/null || true
|
|
1296
|
+
|
|
1297
|
+
# Custom aliases for RTExit workflow
|
|
1298
|
+
COPY aliases.sh /etc/profile.d/rtexit-aliases.sh
|
|
1299
|
+
RUN chmod +x /etc/profile.d/rtexit-aliases.sh
|
|
1300
|
+
|
|
1301
|
+
# RTExit scripts
|
|
1302
|
+
|
|
1303
|
+
# Nuclei RTExit custom templates
|
|
1304
|
+
|
|
1305
|
+
# Update Go path
|
|
1306
|
+
ENV PATH="/root/go/bin:${PATH}"
|
|
1307
|
+
ENV GOPATH="/root/go"
|
|
1308
|
+
|
|
1309
|
+
# ─────────────────────────────────────────────
|
|
1310
|
+
# Final Setup
|
|
1311
|
+
# ─────────────────────────────────────────────
|
|
1312
|
+
WORKDIR /workspace
|
|
1313
|
+
|
|
1314
|
+
# Verify tool installation
|
|
1315
|
+
COPY verify-tools.sh /opt/rtexit/verify-tools.sh
|
|
1316
|
+
RUN chmod +x /opt/rtexit/verify-tools.sh
|
|
1317
|
+
|
|
1318
|
+
COPY entrypoint.sh /entrypoint.sh
|
|
1319
|
+
RUN chmod +x /entrypoint.sh
|
|
1320
|
+
|
|
1321
|
+
EXPOSE 8080 4444 3000
|
|
1322
|
+
|
|
1323
|
+
ENTRYPOINT ["/entrypoint.sh"]
|
|
1324
|
+
CMD ["/bin/bash"]
|