This guide covers ordinary Linux distributions such as Ubuntu, Debian, Linux Mint, Pop!_OS, and other Debian-family systems. Kali Linux has a dedicated path: ../../kali/README-kali.md.
The core knowledge layer is platform-agnostic. On Linux, what changes is the execution layer:
- package manager: usually
apt, sometimes distro-specific package managers; - Python isolation: prefer
pipxor a venv because modern systems may enforce PEP 668; - GUI apps: BurpSuite, IDA Pro, Ghidra paths differ by installation method;
- security tools: distro packages may be old or absent, so GitHub releases are often preferred.
sudo apt update
sudo apt install -y \
git curl wget ca-certificates unzip tar jq \
python3 python3-venv python3-pip pipx \
openjdk-17-jdk nodejs npm \
graphviz plantuml nmap sqlmap ffuf hashcat binwalk
python3 -m pipx ensurepathUbuntu repository versions can be old. For Node.js, radare2, jadx, nuclei, and Ghidra, prefer the alternatives below when the distro package is missing or outdated.
| Capability | Preferred Linux setup | Alternative | Notes |
|---|---|---|---|
| Java / JDK | sudo apt install openjdk-17-jdk |
SDKMAN / vendor JDK | Required by jadx, apktool, BurpSuite, Ghidra. |
| Node.js | NodeSource or nvm |
distro nodejs npm |
Distro Node can be old; MCP servers often prefer recent Node. |
| Python tools | pipx install <tool> |
project venv | Avoid global pip install on PEP 668 systems. |
| jadx | GitHub release ZIP | custom install under ~/tools/jadx |
Ubuntu apt may not have jadx. |
| apktool | sudo apt install apktool |
official apktool.jar + wrapper |
Distro package may be old. |
| adb | sudo apt install adb |
official Android platform-tools | Use official platform-tools for latest devices. |
| Frida | pipx install frida-tools |
venv + pip install frida-tools |
Provides frida, frida-ps, frida-trace. |
| radare2 | GitHub release / build from source | distro package when available | Ubuntu 22.04 may not provide a candidate. |
| Ghidra | GitHub release ZIP | Flatpak / distro package | Java required. |
| IDA Pro | manual Linux installer | — | Commercial tool; set IDADIR or document local path. |
| BurpSuite | manual installer / jar | distro package if available | Load burp-mcp-full extension manually. |
| jshookmcp | npx -y @jshookmcp/jshook@0.3.4 |
MCP config command | Requires Node/npm/npx. |
| anything-analyzer | project clone + pnpm install |
custom local service | Register its MCP endpoint in the Agent client. |
| nuclei | GitHub release / go install |
distro package if available | Often absent in Ubuntu apt. |
| SecLists | git clone https://github.com/danielmiessler/SecLists ~/tools/SecLists |
distro package if available | Keep path in tool index. |
~/tools/
├── jadx/
├── ghidra/
├── SecLists/
├── android-platform-tools/
└── anything-analyzer/
~/.local/bin/ # pipx / user scripts
/opt/idapro/ # optional IDA Pro install
/usr/bin/ # distro packages
mkdir -p ~/tools/jadx
curl -L https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.5.zip -o /tmp/jadx.zip
unzip -q /tmp/jadx.zip -d ~/tools/jadx
export PATH="$HOME/tools/jadx/bin:$PATH"
jadx --versionIf the release filename changes, download the latest Linux/ZIP asset from https://github.com/skylot/jadx/releases.
pipx install frida-tools
frida --version
frida-ps --versionPrefer the official release or source install when the distro package is absent:
git clone https://github.com/radareorg/radare2 ~/tools/radare2-src
cd ~/tools/radare2-src
sys/install.sh
r2 -vmkdir -p ~/tools/ghidra
# Download latest release from https://github.com/NationalSecurityAgency/ghidra/releases
# unzip ghidra_*.zip into ~/tools/ghidramkdir -p ~/tools/android-platform-tools
# Download platform-tools-latest-linux.zip from Android Developers
# unzip into ~/tools/android-platform-tools
export PATH="$HOME/tools/android-platform-tools/platform-tools:$PATH"
adb versionBuild the extension:
cd burp-mcp-full
chmod +x build.sh
./build.shThen load the generated jar in BurpSuite:
Burp Suite → Extensions → Add → Java → build/libs/burp-mcp-full.jar
MCP stdio bridge example:
{
"mcpServers": {
"burpsuite": {
"command": "node",
"args": ["/absolute/path/to/reverse-skill/burp-mcp-full/mcp-bridge.js"]
}
}
}{
"mcpServers": {
"jshook": {
"command": "npx",
"args": ["-y", "@jshookmcp/jshook@0.3.4"],
"env": {
"JSHOOK_BASE_PROFILE": "search"
}
}
}
}From the repository root, list all bootstrap capabilities:
bash skills/scripts/bootstrap-reverse.sh --listInstall/configure capabilities with the same core names as the Windows version:
bash skills/scripts/bootstrap-reverse.sh jadx apktool frida
bash skills/scripts/bootstrap-reverse.sh jshookmcp anything-analyzer
bash skills/scripts/bootstrap-reverse.sh idapro --start-servicesRefresh the tool index only:
bash skills/scripts/bootstrap-reverse.sh --list
bash skills/scripts/refresh-tool-index.shThis generates:
skills/tool-index.md
skills/tool-index.json
The bootstrap script installs or configures supported capabilities where possible using the same core capability names as Windows. The refresh script detects common Linux/macOS tools and records install hints. Manual-only tools such as IDA Pro and BurpSuite still require local installation and app-specific setup.
java -version
python3 --version
node -v
npm -v
npx -v
jadx --version || true
apktool --version || true
adb version || true
frida --version || true
r2 -v || true
ghidraRun 2>/dev/null || true
bash skills/scripts/refresh-tool-index.shUse ../../kali/README-kali.md when:
- the host is actually Kali;
- you want Kali-native security tooling and MCP integrations;
- you need Metasploit, NetExec, responder, BloodHound, Certipy, HexStrike, or other offensive-security distributions pre-wired.
For Ubuntu / Debian, keep this generic Linux guide as the default and only borrow Kali scripts when the tool is known to exist on your system.