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,438 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# RTExit Native Kali Linux Installer
|
|
3
|
+
# Installs all 300+ tools directly on your Kali Linux system
|
|
4
|
+
# No Docker overhead — full GPU, WiFi, USB, Bluetooth access
|
|
5
|
+
#
|
|
6
|
+
# Usage:
|
|
7
|
+
# chmod +x rt-native-install.sh
|
|
8
|
+
# sudo bash rt-native-install.sh
|
|
9
|
+
#
|
|
10
|
+
# Recommended: Run on fresh Kali Linux 2024.x or later
|
|
11
|
+
|
|
12
|
+
set -e
|
|
13
|
+
|
|
14
|
+
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
|
|
15
|
+
BLUE='\033[0;34m'; CYAN='\033[0;36m'; NC='\033[0m'
|
|
16
|
+
|
|
17
|
+
# ── Root check ────────────────────────────────────────────────────────────────
|
|
18
|
+
if [ "$EUID" -ne 0 ]; then
|
|
19
|
+
echo -e "${RED}[!] Run as root: sudo bash rt-native-install.sh${NC}"
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
echo -e "${RED}"
|
|
24
|
+
echo " ██████╗ ████████╗███████╗██╗ ██╗██╗████████╗"
|
|
25
|
+
echo " ██╔══██╗╚══██╔══╝██╔════╝╚██╗██╔╝██║╚══██╔══╝"
|
|
26
|
+
echo " ██████╔╝ ██║ █████╗ ╚███╔╝ ██║ ██║ "
|
|
27
|
+
echo " ██╔══██╗ ██║ ██╔══╝ ██╔██╗ ██║ ██║ "
|
|
28
|
+
echo " ██║ ██║ ██║ ███████╗██╔╝ ██╗██║ ██║ "
|
|
29
|
+
echo " ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ "
|
|
30
|
+
echo -e "${NC} Native Kali Installer v3.0 — 300+ Tools"
|
|
31
|
+
echo ""
|
|
32
|
+
|
|
33
|
+
# ── Helper functions ──────────────────────────────────────────────────────────
|
|
34
|
+
install_apt() {
|
|
35
|
+
echo -e "${BLUE}[APT]${NC} $*"
|
|
36
|
+
apt-get install -y --no-install-recommends "$@" 2>/dev/null || true
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
install_pip() {
|
|
40
|
+
echo -e "${BLUE}[PIP]${NC} $*"
|
|
41
|
+
pip3 install --no-cache-dir --break-system-packages "$@" 2>/dev/null || true
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
install_go() {
|
|
45
|
+
echo -e "${BLUE}[GO ]${NC} $1"
|
|
46
|
+
go install "$1" 2>/dev/null || true
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
install_npm() {
|
|
50
|
+
echo -e "${BLUE}[NPM]${NC} $*"
|
|
51
|
+
npm install -g "$@" 2>/dev/null || true
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
install_gem() {
|
|
55
|
+
echo -e "${BLUE}[GEM]${NC} $*"
|
|
56
|
+
gem install "$@" 2>/dev/null || true
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
clone() {
|
|
60
|
+
local repo="$1" dest="$2"
|
|
61
|
+
if [ ! -d "$dest" ]; then
|
|
62
|
+
echo -e "${BLUE}[GIT]${NC} $dest"
|
|
63
|
+
git clone "$repo" "$dest" 2>/dev/null || true
|
|
64
|
+
else
|
|
65
|
+
echo -e "${YELLOW}[SKP]${NC} $dest (exists)"
|
|
66
|
+
fi
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
log_section() {
|
|
70
|
+
echo ""
|
|
71
|
+
echo -e "${CYAN}══════════════════════════════════════════${NC}"
|
|
72
|
+
echo -e "${CYAN} $1${NC}"
|
|
73
|
+
echo -e "${CYAN}══════════════════════════════════════════${NC}"
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
# ── System ────────────────────────────────────────────────────────────────────
|
|
77
|
+
log_section "System Update"
|
|
78
|
+
apt-get update && apt-get upgrade -y
|
|
79
|
+
|
|
80
|
+
# ── Core dependencies ─────────────────────────────────────────────────────────
|
|
81
|
+
log_section "Core Dependencies"
|
|
82
|
+
install_apt curl wget git vim nano tmux screen \
|
|
83
|
+
file xxd hexedit zip unzip p7zip-full tar jq \
|
|
84
|
+
build-essential python3 python3-pip python3-venv \
|
|
85
|
+
libssl-dev libffi-dev libpcap-dev \
|
|
86
|
+
golang-go nodejs npm default-jdk ruby ruby-dev
|
|
87
|
+
|
|
88
|
+
# ── Alias setup ───────────────────────────────────────────────────────────────
|
|
89
|
+
log_section "Installing rt-* Aliases"
|
|
90
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
91
|
+
ALIASES_SRC="$SCRIPT_DIR/../docker/aliases.sh"
|
|
92
|
+
|
|
93
|
+
if [ -f "$ALIASES_SRC" ]; then
|
|
94
|
+
cp "$ALIASES_SRC" /etc/profile.d/rtexit-aliases.sh
|
|
95
|
+
chmod +x /etc/profile.d/rtexit-aliases.sh
|
|
96
|
+
echo -e "${GREEN}[✓]${NC} rt-* aliases installed → /etc/profile.d/rtexit-aliases.sh"
|
|
97
|
+
echo -e "${YELLOW}[!]${NC} Run: source /etc/profile.d/rtexit-aliases.sh"
|
|
98
|
+
else
|
|
99
|
+
echo -e "${YELLOW}[!]${NC} aliases.sh not found — install from: docker/aliases.sh"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
# ── Network & Scanning ────────────────────────────────────────────────────────
|
|
103
|
+
log_section "Network & Scanning"
|
|
104
|
+
install_apt nmap ncat netcat-openbsd tcpdump tshark \
|
|
105
|
+
net-tools iproute2 iputils-ping bind9-dnsutils \
|
|
106
|
+
socat proxychains4 openvpn masscan \
|
|
107
|
+
iodine hping3 dsniff macchanger zmap \
|
|
108
|
+
bettercap ettercap-text-only sslstrip arpwatch netsniff-ng \
|
|
109
|
+
suricata ncrack
|
|
110
|
+
|
|
111
|
+
# ── Wireless ─────────────────────────────────────────────────────────────────
|
|
112
|
+
log_section "Wireless & Bluetooth"
|
|
113
|
+
install_apt aircrack-ng wireless-tools rfkill \
|
|
114
|
+
hostapd-wpe ubertooth
|
|
115
|
+
install_pip wifite2
|
|
116
|
+
# hcxdumptool
|
|
117
|
+
clone https://github.com/ZerBea/hcxdumptool /opt/hcxdumptool
|
|
118
|
+
[ -d /opt/hcxdumptool ] && cd /opt/hcxdumptool && make && make install 2>/dev/null || true
|
|
119
|
+
install_apt hcxtools 2>/dev/null || true
|
|
120
|
+
|
|
121
|
+
# ── Recon & OSINT ─────────────────────────────────────────────────────────────
|
|
122
|
+
log_section "Recon & OSINT"
|
|
123
|
+
install_apt amass subfinder fierce dnsrecon dnsenum \
|
|
124
|
+
nbtscan smbmap enum4linux
|
|
125
|
+
install_pip theHarvester shodan censys trufflehog \
|
|
126
|
+
sherlock-project h8mail maigret holehe socialscan \
|
|
127
|
+
enum4linux-ng ipinfo duckduckgo-search PyGithub git-dumper
|
|
128
|
+
clone https://github.com/lanmaster53/recon-ng /opt/recon-ng
|
|
129
|
+
install_pip -r /opt/recon-ng/REQUIREMENTS 2>/dev/null || true
|
|
130
|
+
ln -sf /opt/recon-ng/recon-ng /usr/local/bin/recon-ng 2>/dev/null || true
|
|
131
|
+
# Go recon tools
|
|
132
|
+
install_go github.com/projectdiscovery/httpx/cmd/httpx@latest
|
|
133
|
+
install_go github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
|
134
|
+
install_go github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
|
|
135
|
+
install_go github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
|
|
136
|
+
install_go github.com/projectdiscovery/katana/cmd/katana@latest
|
|
137
|
+
install_go github.com/projectdiscovery/dnsx/cmd/dnsx@latest
|
|
138
|
+
install_go github.com/hakluke/hakrawler@latest
|
|
139
|
+
install_go github.com/tomnomnom/waybackurls@latest
|
|
140
|
+
install_go github.com/lc/gau/v2/cmd/gau@latest
|
|
141
|
+
install_go github.com/ffuf/ffuf/v2@latest
|
|
142
|
+
install_go github.com/OJ/gobuster/v3@latest
|
|
143
|
+
install_go github.com/LukaSikic/subzy@latest
|
|
144
|
+
install_go github.com/hahwul/dalfox/v2@latest
|
|
145
|
+
install_go github.com/gwen001/github-subdomains@latest
|
|
146
|
+
# gitleaks
|
|
147
|
+
curl -sSfL https://github.com/gitleaks/gitleaks/releases/latest/download/gitleaks_linux_x64.tar.gz | \
|
|
148
|
+
tar xz -C /usr/local/bin 2>/dev/null || true
|
|
149
|
+
# SecLists
|
|
150
|
+
clone https://github.com/danielmiessler/SecLists /opt/SecLists
|
|
151
|
+
|
|
152
|
+
# ── Web Application ───────────────────────────────────────────────────────────
|
|
153
|
+
log_section "Web Application Testing"
|
|
154
|
+
install_apt sqlmap nikto wfuzz dirb whatweb wafw00f testssl.sh
|
|
155
|
+
install_pip mitmproxy impacket requests pwntools \
|
|
156
|
+
PyJWT python-jose grpcio grpcio-tools websocket-client scapy \
|
|
157
|
+
arjun padding-oracle-attacker jsbeautifier semgrep graphql-cop inql
|
|
158
|
+
clone https://github.com/defparam/smuggler /opt/smuggler
|
|
159
|
+
ln -sf /opt/smuggler/smuggler.py /usr/local/bin/smuggler
|
|
160
|
+
chmod +x /opt/smuggler/smuggler.py 2>/dev/null || true
|
|
161
|
+
clone https://github.com/ticarpi/jwt_tool /opt/jwt_tool
|
|
162
|
+
install_pip -r /opt/jwt_tool/requirements.txt 2>/dev/null || true
|
|
163
|
+
ln -sf /opt/jwt_tool/jwt_tool.py /usr/local/bin/jwt_tool
|
|
164
|
+
chmod +x /opt/jwt_tool/jwt_tool.py 2>/dev/null || true
|
|
165
|
+
clone https://github.com/GerbenJavado/LinkFinder /opt/LinkFinder
|
|
166
|
+
install_pip -r /opt/LinkFinder/requirements.txt 2>/dev/null || true
|
|
167
|
+
ln -sf /opt/LinkFinder/linkfinder.py /usr/local/bin/linkfinder
|
|
168
|
+
clone https://github.com/enjoiz/XXEinjector /opt/XXEinjector
|
|
169
|
+
clone https://github.com/epinna/tplmap /opt/tplmap
|
|
170
|
+
install_pip -r /opt/tplmap/requirements.txt 2>/dev/null || true
|
|
171
|
+
ln -sf /opt/tplmap/tplmap.py /usr/local/bin/tplmap
|
|
172
|
+
chmod +x /opt/tplmap/tplmap.py 2>/dev/null || true
|
|
173
|
+
# GraphQL tools
|
|
174
|
+
install_pip graphw00f clairvoyance
|
|
175
|
+
# Go web tools
|
|
176
|
+
install_go github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
|
|
177
|
+
install_go github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
|
|
178
|
+
install_go github.com/Sh1Yo/x8@latest
|
|
179
|
+
install_go github.com/tomnomnom/qsreplace@latest
|
|
180
|
+
install_go github.com/Emoe/kxss@latest
|
|
181
|
+
# ghauri
|
|
182
|
+
install_pip ghauri 2>/dev/null || true
|
|
183
|
+
clone https://github.com/r0oth3x49/ghauri /opt/ghauri
|
|
184
|
+
install_pip -r /opt/ghauri/requirements.txt 2>/dev/null || true
|
|
185
|
+
ln -sf /opt/ghauri/ghauri.py /usr/local/bin/ghauri
|
|
186
|
+
# CORScanner
|
|
187
|
+
clone https://github.com/chenjj/CORScanner /opt/CORScanner
|
|
188
|
+
install_pip -r /opt/CORScanner/requirements.txt 2>/dev/null || true
|
|
189
|
+
# npm web tools
|
|
190
|
+
install_npm wappalyzer-cli js-beautify
|
|
191
|
+
|
|
192
|
+
# ── Password & Credentials ────────────────────────────────────────────────────
|
|
193
|
+
log_section "Password Attacks & Credentials"
|
|
194
|
+
install_apt hashcat john hydra medusa cewl crunch
|
|
195
|
+
install_pip pypykatz patator
|
|
196
|
+
install_go github.com/ropnop/kerbrute@latest
|
|
197
|
+
clone https://github.com/Mebus/cupp /opt/cupp
|
|
198
|
+
ln -sf /opt/cupp/cupp.py /usr/local/bin/cupp
|
|
199
|
+
chmod +x /opt/cupp/cupp.py
|
|
200
|
+
|
|
201
|
+
# ── Active Directory ──────────────────────────────────────────────────────────
|
|
202
|
+
log_section "Active Directory & Windows"
|
|
203
|
+
install_pip impacket bloodhound certipy-ad pywhisker netexec mitm6 coercer \
|
|
204
|
+
bloodyAD ldeep pyrdp
|
|
205
|
+
install_gem evil-winrm
|
|
206
|
+
clone https://github.com/dirkjanm/PKINITtools /opt/PKINITtools
|
|
207
|
+
install_pip -r /opt/PKINITtools/requirements.txt 2>/dev/null || true
|
|
208
|
+
clone https://github.com/topotam/PetitPotam /opt/PetitPotam
|
|
209
|
+
clone https://github.com/login-securite/DonPAPI /opt/DonPAPI
|
|
210
|
+
install_pip -r /opt/DonPAPI/requirements.txt 2>/dev/null || true
|
|
211
|
+
clone https://github.com/Ridter/noPac /opt/noPac
|
|
212
|
+
clone https://github.com/Dec0ne/KrbRelayUp /opt/KrbRelayUp
|
|
213
|
+
clone https://github.com/dirkjanm/CVE-2020-1472 /opt/CVE-2020-1472
|
|
214
|
+
clone https://github.com/cube0x0/CVE-2021-1675 /opt/PrintNightmare
|
|
215
|
+
clone https://github.com/dirkjanm/krbrelayx /opt/krbrelayx
|
|
216
|
+
install_pip dnspython ldap3 pyOpenSSL 2>/dev/null || true
|
|
217
|
+
clone https://github.com/fireeye/ADFSpoof /opt/ADFSpoof
|
|
218
|
+
install_pip -r /opt/ADFSpoof/requirements.txt 2>/dev/null || true
|
|
219
|
+
clone https://github.com/klezVirus/SysWhispers3 /opt/SysWhispers3
|
|
220
|
+
clone https://github.com/Hackndo/pyGPOAbuse /opt/pyGPOAbuse
|
|
221
|
+
install_pip -r /opt/pyGPOAbuse/requirements.txt 2>/dev/null || true
|
|
222
|
+
install_pip roadtools roadrecon bloodyAD
|
|
223
|
+
# windapsearch
|
|
224
|
+
install_go github.com/ropnop/windapsearch@latest 2>/dev/null || true
|
|
225
|
+
|
|
226
|
+
# ── C2 & Post-Exploitation ────────────────────────────────────────────────────
|
|
227
|
+
log_section "C2 & Post-Exploitation"
|
|
228
|
+
install_apt metasploit-framework
|
|
229
|
+
curl https://sliver.sh/install | bash 2>/dev/null || true
|
|
230
|
+
install_go github.com/jpillora/chisel@latest
|
|
231
|
+
install_go github.com/nicocha30/ligolo-ng/cmd/proxy@latest
|
|
232
|
+
install_go github.com/nicocha30/ligolo-ng/cmd/agent@latest
|
|
233
|
+
install_go github.com/Ne0nd0g/merlin-agent/cmd/merlinagent@latest
|
|
234
|
+
clone https://github.com/BC-SECURITY/Empire /opt/Empire
|
|
235
|
+
install_pip -r /opt/Empire/requirements.txt 2>/dev/null || true
|
|
236
|
+
ln -sf /opt/Empire/empire /usr/local/bin/empire 2>/dev/null || true
|
|
237
|
+
clone https://github.com/nettitude/PoshC2 /opt/PoshC2
|
|
238
|
+
install_pip -r /opt/PoshC2/requirements.txt 2>/dev/null || true
|
|
239
|
+
clone https://github.com/t3l3machus/Villain /opt/Villain
|
|
240
|
+
install_pip -r /opt/Villain/requirements.txt 2>/dev/null || true
|
|
241
|
+
install_pip deathstar 2>/dev/null || true
|
|
242
|
+
clone https://github.com/byt3bl33d3r/DeathStar /opt/DeathStar
|
|
243
|
+
install_pip -r /opt/DeathStar/requirements.txt 2>/dev/null || true
|
|
244
|
+
install_apt iodine
|
|
245
|
+
clone https://github.com/iagox86/dnscat2 /opt/dnscat2
|
|
246
|
+
cd /opt/dnscat2/client && make 2>/dev/null || true
|
|
247
|
+
|
|
248
|
+
# ── Cloud ─────────────────────────────────────────────────────────────────────
|
|
249
|
+
log_section "Cloud Platforms"
|
|
250
|
+
install_pip awscli boto3 azure-cli google-cloud-storage google-auth \
|
|
251
|
+
scoutsuite prowler pacu kube-hunter principalmapper \
|
|
252
|
+
checkov s3scanner gcp-scanner
|
|
253
|
+
install_go github.com/BishopFox/cloudfox@latest
|
|
254
|
+
install_go github.com/DataDog/stratus-red-team/v2/cmd/stratus@latest
|
|
255
|
+
install_go github.com/liamg/awswhoami@latest
|
|
256
|
+
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" 2>/dev/null && \
|
|
257
|
+
install -m 0755 kubectl /usr/local/bin/kubectl && rm kubectl 2>/dev/null || true
|
|
258
|
+
clone https://github.com/andresriancho/enumerate-iam /opt/enumerate-iam
|
|
259
|
+
install_pip -r /opt/enumerate-iam/requirements.txt 2>/dev/null || true
|
|
260
|
+
ln -sf /opt/enumerate-iam/enumerate-iam.py /usr/local/bin/enumerate-iam
|
|
261
|
+
chmod +x /opt/enumerate-iam/enumerate-iam.py 2>/dev/null || true
|
|
262
|
+
# kubectx + kubens
|
|
263
|
+
clone https://github.com/ahmetb/kubectx /opt/kubectx
|
|
264
|
+
ln -sf /opt/kubectx/kubectx /usr/local/bin/kubectx
|
|
265
|
+
ln -sf /opt/kubectx/kubens /usr/local/bin/kubens 2>/dev/null || true
|
|
266
|
+
install_go github.com/aquasecurity/kube-bench@latest
|
|
267
|
+
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2>/dev/null || true
|
|
268
|
+
# azcopy
|
|
269
|
+
curl -sSL "https://aka.ms/downloadazcopy-v10-linux" | tar xz --strip-components=1 -C /usr/local/bin/ 2>/dev/null || true
|
|
270
|
+
# cloud_enum
|
|
271
|
+
clone https://github.com/initstring/cloud_enum /opt/cloud_enum
|
|
272
|
+
install_pip -r /opt/cloud_enum/requirements.txt 2>/dev/null || true
|
|
273
|
+
|
|
274
|
+
# ── Mobile ────────────────────────────────────────────────────────────────────
|
|
275
|
+
log_section "Mobile Testing"
|
|
276
|
+
install_apt apktool dex2jar android-tools-adb
|
|
277
|
+
clone https://github.com/skylot/jadx /opt/jadx_src 2>/dev/null || true
|
|
278
|
+
mkdir -p /opt/jadx
|
|
279
|
+
curl -sSL "https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.0.zip" \
|
|
280
|
+
-o /tmp/jadx.zip 2>/dev/null && \
|
|
281
|
+
unzip -q /tmp/jadx.zip -d /opt/jadx && \
|
|
282
|
+
ln -sf /opt/jadx/bin/jadx /usr/local/bin/jadx && \
|
|
283
|
+
ln -sf /opt/jadx/bin/jadx-gui /usr/local/bin/jadx-gui && \
|
|
284
|
+
rm /tmp/jadx.zip 2>/dev/null || true
|
|
285
|
+
install_pip frida-tools objection apkleaks drozer \
|
|
286
|
+
reFlutter hermes-dec hbctool doldrums androguard \
|
|
287
|
+
"qrcode[pil]" Pillow lz4
|
|
288
|
+
install_npm apk-mitm js-beautify
|
|
289
|
+
install_apt mono-complete mono-utils 2>/dev/null || true
|
|
290
|
+
# uber-apk-signer
|
|
291
|
+
mkdir -p /opt/uber-apk-signer
|
|
292
|
+
curl -sSL "https://github.com/patrickfav/uber-apk-signer/releases/download/v1.3.0/uber-apk-signer-1.3.0.jar" \
|
|
293
|
+
-o /opt/uber-apk-signer/uber-apk-signer.jar 2>/dev/null || true
|
|
294
|
+
echo '#!/bin/bash\nexec java -jar /opt/uber-apk-signer/uber-apk-signer.jar "$@"' \
|
|
295
|
+
> /usr/local/bin/uber-apk-signer && chmod +x /usr/local/bin/uber-apk-signer
|
|
296
|
+
# frida-server setup script
|
|
297
|
+
cat > /usr/local/bin/setup-frida-server << 'SCRIPT'
|
|
298
|
+
#!/bin/bash
|
|
299
|
+
FRIDA_VER=$(python3 -c "import frida; print(frida.__version__)" 2>/dev/null || pip3 show frida | grep Version | awk '{print $2}')
|
|
300
|
+
ARCH=$(adb shell getprop ro.product.cpu.abi 2>/dev/null | tr -d '\r')
|
|
301
|
+
case $ARCH in
|
|
302
|
+
arm64-v8a) A="arm64" ;; armeabi-v7a) A="arm" ;;
|
|
303
|
+
x86_64) A="x86_64" ;; x86) A="x86" ;; *) echo "Unknown arch: $ARCH"; exit 1 ;;
|
|
304
|
+
esac
|
|
305
|
+
echo "[*] Frida $FRIDA_VER | arch: $A"
|
|
306
|
+
wget -q "https://github.com/frida/frida/releases/download/${FRIDA_VER}/frida-server-${FRIDA_VER}-android-${A}.xz" -O /tmp/frida-server.xz
|
|
307
|
+
unxz /tmp/frida-server.xz && mv /tmp/frida-server "/tmp/frida-server-${A}"
|
|
308
|
+
adb push "/tmp/frida-server-${A}" /data/local/tmp/frida-server
|
|
309
|
+
adb shell chmod 755 /data/local/tmp/frida-server
|
|
310
|
+
echo "[+] Done. Start: adb shell /data/local/tmp/frida-server &"
|
|
311
|
+
SCRIPT
|
|
312
|
+
chmod +x /usr/local/bin/setup-frida-server
|
|
313
|
+
|
|
314
|
+
# ── Binary Analysis & RE ──────────────────────────────────────────────────────
|
|
315
|
+
log_section "Binary Analysis & Reverse Engineering"
|
|
316
|
+
install_apt gdb radare2 ltrace strace binutils patchelf nasm yara \
|
|
317
|
+
binutils-multiarch sleuthkit
|
|
318
|
+
install_pip pwntools floss capstone keystone-engine unicorn \
|
|
319
|
+
ropgadget ropper angr yara-python
|
|
320
|
+
clone https://github.com/pwndbg/pwndbg /opt/pwndbg
|
|
321
|
+
cd /opt/pwndbg && ./setup.sh 2>/dev/null || true
|
|
322
|
+
bash -c "$(curl -sSL https://gef.blah.cat/sh)" 2>/dev/null || true
|
|
323
|
+
clone https://github.com/Yara-Rules/rules /opt/yara-rules
|
|
324
|
+
# Ghidra
|
|
325
|
+
if ! command -v ghidra &>/dev/null; then
|
|
326
|
+
curl -sSL "https://github.com/NationalSecurityAgency/ghidra/releases/latest/download/ghidra_11.1_PUBLIC_20240607.zip" \
|
|
327
|
+
-o /tmp/ghidra.zip 2>/dev/null && \
|
|
328
|
+
unzip -q /tmp/ghidra.zip -d /opt && \
|
|
329
|
+
ln -sf /opt/ghidra_*/ghidraRun /usr/local/bin/ghidra && \
|
|
330
|
+
rm /tmp/ghidra.zip 2>/dev/null || true
|
|
331
|
+
fi
|
|
332
|
+
|
|
333
|
+
# ── Crypto ────────────────────────────────────────────────────────────────────
|
|
334
|
+
log_section "Cryptography"
|
|
335
|
+
install_apt libgmp-dev libmpfr-dev libmpc-dev
|
|
336
|
+
install_pip pycryptodome hashpumpy cryptography sympy ecdsa gmpy2
|
|
337
|
+
|
|
338
|
+
# ── Fuzzing ───────────────────────────────────────────────────────────────────
|
|
339
|
+
log_section "Fuzzing"
|
|
340
|
+
install_apt afl++
|
|
341
|
+
install_pip boofuzz
|
|
342
|
+
clone https://gitlab.com/akihe/radamsa /opt/radamsa
|
|
343
|
+
cd /opt/radamsa && make 2>/dev/null && ln -sf /opt/radamsa/bin/radamsa /usr/local/bin/radamsa 2>/dev/null || true
|
|
344
|
+
|
|
345
|
+
# ── Social Engineering & Phishing ────────────────────────────────────────────
|
|
346
|
+
log_section "Social Engineering & Phishing"
|
|
347
|
+
clone https://github.com/trustedsec/social-engineer-toolkit /opt/setoolkit
|
|
348
|
+
install_pip -r /opt/setoolkit/requirements.txt 2>/dev/null || true
|
|
349
|
+
install_pip o365spray
|
|
350
|
+
clone https://github.com/ustayready/CredSniper /opt/CredSniper
|
|
351
|
+
install_pip -r /opt/CredSniper/requirements.txt 2>/dev/null || true
|
|
352
|
+
clone https://github.com/ryhanson/phishery /opt/phishery
|
|
353
|
+
wget -q "https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip" \
|
|
354
|
+
-O /tmp/gophish.zip 2>/dev/null && \
|
|
355
|
+
unzip -q /tmp/gophish.zip -d /opt/gophish && \
|
|
356
|
+
chmod +x /opt/gophish/gophish && \
|
|
357
|
+
ln -s /opt/gophish/gophish /usr/local/bin/gophish && \
|
|
358
|
+
rm /tmp/gophish.zip 2>/dev/null || true
|
|
359
|
+
install_go github.com/kgretzky/evilginx2@latest 2>/dev/null || true
|
|
360
|
+
|
|
361
|
+
# ── Hardware & IoT ────────────────────────────────────────────────────────────
|
|
362
|
+
log_section "Hardware & IoT"
|
|
363
|
+
install_apt openocd flashrom avrdude minicom screen
|
|
364
|
+
install_pip bleak pyserial pyModbusTCP
|
|
365
|
+
|
|
366
|
+
# ── Steganography ─────────────────────────────────────────────────────────────
|
|
367
|
+
log_section "Steganography"
|
|
368
|
+
install_apt steghide sox binwalk exiftool
|
|
369
|
+
install_pip stegoveritas
|
|
370
|
+
install_gem zsteg
|
|
371
|
+
|
|
372
|
+
# ── VoIP ─────────────────────────────────────────────────────────────────────
|
|
373
|
+
log_section "VoIP"
|
|
374
|
+
install_apt sipvicious rtpbreak pjsua 2>/dev/null || true
|
|
375
|
+
install_pip sipvicious 2>/dev/null || true
|
|
376
|
+
|
|
377
|
+
# ── Supply Chain & IaC ────────────────────────────────────────────────────────
|
|
378
|
+
log_section "Supply Chain & IaC"
|
|
379
|
+
install_pip checkov
|
|
380
|
+
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
|
|
381
|
+
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin 2>/dev/null || true
|
|
382
|
+
install_go github.com/aquasecurity/trivy@latest 2>/dev/null || true
|
|
383
|
+
curl -sSfL https://raw.githubusercontent.com/wagoodman/dive/main/get-dive.sh | sh 2>/dev/null || true
|
|
384
|
+
|
|
385
|
+
# ── Container & Kubernetes ────────────────────────────────────────────────────
|
|
386
|
+
log_section "Container & Kubernetes"
|
|
387
|
+
install_go github.com/cdk-team/CDK/cmd/cdk@latest
|
|
388
|
+
curl -sSL https://github.com/stealthcopter/deepce/releases/latest/download/deepce \
|
|
389
|
+
-o /usr/local/bin/deepce && chmod +x /usr/local/bin/deepce 2>/dev/null || true
|
|
390
|
+
install_go github.com/brompwnie/botb@latest
|
|
391
|
+
install_pip kube-hunter
|
|
392
|
+
|
|
393
|
+
# ── OSINT Specialized ─────────────────────────────────────────────────────────
|
|
394
|
+
log_section "OSINT Specialized"
|
|
395
|
+
install_pip spiderfoot ghunt crosslinked
|
|
396
|
+
clone https://github.com/m8sec/CrossLinked /opt/CrossLinked
|
|
397
|
+
install_pip -r /opt/CrossLinked/requirements.txt 2>/dev/null || true
|
|
398
|
+
|
|
399
|
+
# ── AI/LLM Security ───────────────────────────────────────────────────────────
|
|
400
|
+
log_section "AI/LLM Security"
|
|
401
|
+
install_pip garak openai anthropic langchain transformers
|
|
402
|
+
install_npm promptfoo
|
|
403
|
+
|
|
404
|
+
# ── Purple Team ───────────────────────────────────────────────────────────────
|
|
405
|
+
log_section "Purple Team"
|
|
406
|
+
clone https://github.com/redcanaryco/atomic-red-team /opt/atomic-red-team
|
|
407
|
+
clone https://github.com/mitre/caldera /opt/caldera
|
|
408
|
+
install_pip -r /opt/caldera/requirements.txt 2>/dev/null || true
|
|
409
|
+
|
|
410
|
+
# ── Nuclei Templates ─────────────────────────────────────────────────────────
|
|
411
|
+
log_section "Nuclei Templates"
|
|
412
|
+
nuclei -update-templates 2>/dev/null || true
|
|
413
|
+
|
|
414
|
+
# ── PATH & Environment ────────────────────────────────────────────────────────
|
|
415
|
+
log_section "Environment Setup"
|
|
416
|
+
cat >> /etc/profile.d/rtexit-env.sh << 'EOF'
|
|
417
|
+
export PATH="$PATH:/root/go/bin:/usr/local/bin:/opt/rtexit/scripts"
|
|
418
|
+
export SECLISTS='/opt/SecLists'
|
|
419
|
+
export GOPATH='/root/go'
|
|
420
|
+
EOF
|
|
421
|
+
chmod +x /etc/profile.d/rtexit-env.sh
|
|
422
|
+
|
|
423
|
+
# ── Summary ───────────────────────────────────────────────────────────────────
|
|
424
|
+
echo ""
|
|
425
|
+
echo -e "${GREEN}════════════════════════════════════════════${NC}"
|
|
426
|
+
echo -e "${GREEN} RTExit Native Install Complete!${NC}"
|
|
427
|
+
echo -e "${GREEN}════════════════════════════════════════════${NC}"
|
|
428
|
+
echo ""
|
|
429
|
+
echo -e " ${CYAN}Next steps:${NC}"
|
|
430
|
+
echo -e " 1. source /etc/profile.d/rtexit-aliases.sh"
|
|
431
|
+
echo -e " 2. source /etc/profile.d/rtexit-env.sh"
|
|
432
|
+
echo -e " 3. rt-verify ← check all tools"
|
|
433
|
+
echo -e " 4. rt-help ← start your engagement"
|
|
434
|
+
echo ""
|
|
435
|
+
echo -e " ${YELLOW}GPU hashcat:${NC} hashcat with --opencl-device-types 1,2"
|
|
436
|
+
echo -e " ${YELLOW}WiFi:${NC} airmon-ng start wlan0"
|
|
437
|
+
echo -e " ${YELLOW}Bluetooth:${NC} hciconfig hci0 up"
|
|
438
|
+
echo ""
|
|
@@ -1,48 +1,91 @@
|
|
|
1
|
-
const { renderBanner } = require('../lib/banner');
|
|
2
|
-
const { resolveRepoRoot, resolveTargetRoot } = require('../lib/paths');
|
|
3
|
-
const { copyPackagedAssets } = require('../lib/copy-assets');
|
|
4
|
-
const { writeUserConfig } = require('../lib/write-config');
|
|
5
|
-
const { askInstallQuestions } = require('../lib/prompts');
|
|
6
|
-
const { resolveSkillSet } = require('../lib/profiles');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
io.log('
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
1
|
+
const { renderBanner } = require('../lib/banner');
|
|
2
|
+
const { resolveRepoRoot, resolveTargetRoot } = require('../lib/paths');
|
|
3
|
+
const { copyPackagedAssets } = require('../lib/copy-assets');
|
|
4
|
+
const { writeUserConfig } = require('../lib/write-config');
|
|
5
|
+
const { askInstallQuestions } = require('../lib/prompts');
|
|
6
|
+
const { resolveSkillSet } = require('../lib/profiles');
|
|
7
|
+
const path = require('node:path');
|
|
8
|
+
const fs = require('node:fs');
|
|
9
|
+
|
|
10
|
+
async function installCommand(options = {}) {
|
|
11
|
+
const repoRoot = options.repoRoot || resolveRepoRoot();
|
|
12
|
+
const cwd = options.cwd || process.cwd();
|
|
13
|
+
const io = options.io || console;
|
|
14
|
+
const promptAdapter = options.promptAdapter || askInstallQuestions;
|
|
15
|
+
|
|
16
|
+
io.log(renderBanner());
|
|
17
|
+
|
|
18
|
+
const answers = await promptAdapter({ cwd });
|
|
19
|
+
if (!answers.confirmed) {
|
|
20
|
+
io.log('RTExit install cancelled.');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const targetRoot = resolveTargetRoot(answers.targetDirectory);
|
|
25
|
+
|
|
26
|
+
const ides = answers.ides && answers.ides.length ? answers.ides : ['agents'];
|
|
27
|
+
const allowedSkills = resolveSkillSet(answers.profiles || ['all']);
|
|
28
|
+
await copyPackagedAssets({ repoRoot, targetRoot, ides, allowedSkills });
|
|
29
|
+
await writeUserConfig({
|
|
30
|
+
targetRoot,
|
|
31
|
+
answers: {
|
|
32
|
+
language: answers.language,
|
|
33
|
+
document_output_language: answers.document_output_language,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const ideFolders = ides.map((ide) => {
|
|
38
|
+
const map = { agents: '.agents/skills', claude: '.claude/skills', trae: '.trae/skills', codex: '.codex/skills' };
|
|
39
|
+
return map[ide] || `.${ide}/skills`;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const dockerComposePath = path.join(targetRoot, 'docker', 'docker-compose.yml');
|
|
43
|
+
const dockerInstalled = fs.existsSync(dockerComposePath);
|
|
44
|
+
|
|
45
|
+
io.log('');
|
|
46
|
+
io.log('════════════════════════════════════════════');
|
|
47
|
+
io.log(' RTExit installed successfully!');
|
|
48
|
+
io.log('════════════════════════════════════════════');
|
|
49
|
+
io.log('');
|
|
50
|
+
io.log(` Skills: ${allowedSkills.size} skills → ${ideFolders.join(', ')}`);
|
|
51
|
+
io.log('');
|
|
52
|
+
|
|
53
|
+
if (dockerInstalled) {
|
|
54
|
+
io.log(' ┌─ STEP 1: Start the Docker Lab ─────────────────────────────┐');
|
|
55
|
+
io.log(' │ │');
|
|
56
|
+
io.log(' │ cd docker │');
|
|
57
|
+
io.log(' │ docker compose up -d │');
|
|
58
|
+
io.log(' │ │');
|
|
59
|
+
io.log(' │ First run downloads ~4GB image. Subsequent starts: <5s │');
|
|
60
|
+
io.log(' └─────────────────────────────────────────────────────────────┘');
|
|
61
|
+
io.log('');
|
|
62
|
+
io.log(' ┌─ STEP 2: Enter the Shell ───────────────────────────────────┐');
|
|
63
|
+
io.log(' │ │');
|
|
64
|
+
io.log(' │ docker exec -it rtexit-kali bash │');
|
|
65
|
+
io.log(' │ │');
|
|
66
|
+
io.log(' │ 300+ tools ready. Your project is at /workspace │');
|
|
67
|
+
io.log(' └─────────────────────────────────────────────────────────────┘');
|
|
68
|
+
io.log('');
|
|
69
|
+
io.log(' ┌─ STEP 3: Configure & Start ─────────────────────────────────┐');
|
|
70
|
+
io.log(' │ │');
|
|
71
|
+
io.log(' │ 1. Edit _rtexit/config.user.toml (client/project info) │');
|
|
72
|
+
io.log(' │ 2. Open your AI IDE in this directory │');
|
|
73
|
+
io.log(' │ 3. Start with: rt-help │');
|
|
74
|
+
io.log(' │ │');
|
|
75
|
+
io.log(' └─────────────────────────────────────────────────────────────┘');
|
|
76
|
+
io.log('');
|
|
77
|
+
io.log(' Docker README: docker/README.md');
|
|
78
|
+
io.log(' Build locally: see docker/README.md → "Build Locally" section');
|
|
79
|
+
} else {
|
|
80
|
+
io.log(' Next steps:');
|
|
81
|
+
io.log(' 1. Edit _rtexit/config.user.toml with your engagement details');
|
|
82
|
+
io.log(' 2. Open your AI IDE in this project');
|
|
83
|
+
io.log(' 3. Start with rt-help');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
io.log('');
|
|
87
|
+
io.log('════════════════════════════════════════════');
|
|
88
|
+
io.log('');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
module.exports = { installCommand };
|
|
@@ -24,6 +24,7 @@ function getInstallEntries(ides = ['agents'], allowedSkills = null) {
|
|
|
24
24
|
{ type: 'path', value: 'packaged-assets/templates', target: 'templates' },
|
|
25
25
|
{ type: 'path', value: 'packaged-assets/resources', target: 'resources' },
|
|
26
26
|
{ type: 'path', value: 'packaged-assets/RTEXIT.md', target: 'RTEXIT.md' },
|
|
27
|
+
{ type: 'path', value: 'packaged-assets/docker', target: 'docker' },
|
|
27
28
|
];
|
|
28
29
|
}
|
|
29
30
|
|