My Notes

Void

Misc 4 September 2026

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