My Notes
Void
Catch-all dump. Installs, workarounds, misconfigurations, tool setups — anything that needs to be remembered but doesn't belong anywhere else.
Install Ghidra (GUI)
Step 1 — Install Java 21 (Temurin)
sudo apt install wget apt-transport-https gpg -y wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" | sudo tee /etc/apt/sources.list.d/adoptium.list sudo apt update sudo apt install temurin-21-jdk -y
Step 2 — Download and Install Ghidra
wget https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.4.2_build/ghidra_11.4.2_PUBLIC_20250826.zip unzip ghidra_11.4.2_PUBLIC_20250826.zip sudo mv ghidra_11.4.2_PUBLIC /opt/ghidra sudo ln -s /opt/ghidra/ghidraRun /usr/local/bin/ghidra
Step 3 — Launch
ghidra
Binary Exploitation Tools
ROPgadget, ropper, strace, ltrace
pip3 install ROPgadget pip3 install ropper --break-system-packages sudo apt install strace ltrace -y
32-bit Library Support
Needed to run 32-bit ELF binaries on a 64-bit system (CTF pwn challenges etc.).
Enable i386 architecture and install libs
sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
Install VSCode (as root)
VSCode refuses to run as root by default. The workaround is --no-sandbox with a separate user data dir.
Download and install
wget -O code.deb https://update.code.visualstudio.com/latest/linux-deb-x64/stable sudo apt install ./code.deb -y
Fix for running as root — add to ~/.bashrc
echo "code() { command code --no-sandbox --user-data-dir=/root/.vscode-root \"\$@\"; }" >> ~/.bashrc
source ~/.bashrc
Install Radare2 (from source)
Dependencies + build
sudo apt install git build-essential pkg-config meson ninja-build python3 -y git clone https://github.com/radareorg/radare2.git cd radare2 ./sys/install.sh
Install Node.js v20
NodeSource setup + install
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs node -v
Add Kali Linux Repos
Adds the Kali rolling repo to a Debian-based system so you can install Kali tools directly.
Add Kali keyring and repo
sudo apt install gnupg dirmngr -y echo "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list.d/kali.list sudo apt update
Install Docker
Install and start Docker
sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker docker --version
Create a Swap File
Useful on low-RAM VPS/VMs. The example below creates 1 GB of swap and makes it permanent across reboots.
1 GB swap — persistent
fallocate -l 1G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab free -h
Run n8n with Docker
n8n is a self-hostable workflow automation tool. Change strongpassword before running.
Create data dir
mkdir -p /root/n8n_data
Run n8n container
docker run -d \ --name n8n \ -p 5678:5678 \ --restart unless-stopped \ -e N8N_BASIC_AUTH_ACTIVE=true \ -e N8N_BASIC_AUTH_USER=admin \ -e N8N_BASIC_AUTH_PASSWORD=strongpassword \ -e NODE_OPTIONS="--max-old-space-size=512" \ -e EXECUTIONS_DATA_MAX_AGE=168 \ -e EXECUTIONS_DATA_PRUNE=true \ -v /root/n8n_data:/home/node/.n8n \ n8nio/n8n
Access
http://localhost:5678 # or replace localhost with your server IP