Kali Ctf tools setup

#!/bin/bash
# ==============================================================================
# Kali Linux Ultimate CTF & Red Team Master Setup Script
# Includes: Steganography Arsenal (stegseek, steghide, zsteg, stegoveritas),
# Impacket, NetExec, Ligolo-ng, Chisel, Active Directory Suite, Python Pwn,
# Reverse Engineering, Advanced Crypto, OSINT, & Android Lock Crackers
# ==============================================================================
set -e
echo "[+] Starting Kali Linux Master CTF Setup..."
# ------------------------------------------------------------------------------
# 0. RESOLVE APT LOCKS IF PRESENT
# ------------------------------------------------------------------------------
if pgrep -x "apt" > /dev/null || pgrep -x "dpkg" > /dev/null; then
echo "[!] APT/DPKG process detected running in background. Waiting for lock to release..."
while pgrep -x "apt" > /dev/null || pgrep -x "dpkg" > /dev/null; do
sleep 2
done
fi
echo "[+] Updating system packages..."
sudo apt update && sudo apt upgrade -y
# ------------------------------------------------------------------------------
# 1. ESSENTIAL BUILD TOOLS & DEPENDENCIES
# ------------------------------------------------------------------------------
echo "[+] Installing Core Dependencies & Build Tools..."
sudo apt install -y build-essential git curl wget python3 python3-pip python3-venv \
python3-dev libssl-dev libffi-dev cmake pkg-config p7zip-full jq tmux \
sqlite3 libsqlite3-dev npm nodejs awscli docker.io docker-compose kubectl ruby-full
# ------------------------------------------------------------------------------
# 2. STEGANOGRAPHY & FORENSICS ARSENAL
# ------------------------------------------------------------------------------
echo "[+] Installing Steganography & Forensics Tools..."
# APT Package Installations
sudo apt install -y steghide outguess stegsnow qsstv openstego ffmpeg \
pngcheck audacity sonic-visualiser libimage-exiftool-perl exiftool \
wireshark tshark tcpdump binwalk foremost volatility3 sleuthkit autopsy \
hashcat john
# Ruby-based Stego Tools (zsteg for PNG/BMP LSB analysis)
sudo gem install zsteg
# Python-based Stego Tools (stegoveritas, stegpy)
pip3 install stegoveritas stegpy --break-system-packages 2>/dev/null || true
stegoveritas_install_deps 2>/dev/null || true
# Install Stegseek (Lightning fast Steghide cracker)
if ! command -v stegseek &> /dev/null; then
echo "[+] Installing Stegseek..."
STEGSEEK_URL=$(curl -s https://api.github.com/repos/RickdeJager/stegseek/releases/latest | jq -r '.assets[] | select(.name | ends_with(".deb")) | .browser_download_url')
if [ -n "$STEGSEEK_URL" ]; then
wget -q "$STEGSEEK_URL" -O /tmp/stegseek.deb
sudo dpkg -i /tmp/stegseek.deb || sudo apt install -f -y
rm -f /tmp/stegseek.deb
else
sudo apt install -y stegseek 2>/dev/null || true
fi
fi
# Install Stegsolve GUI
if [ ! -f "$HOME/stegsolve.jar" ]; then
echo "[+] Downloading Stegsolve..."
wget http://www.caesum.com/handbook/Stegsolve.jar -O "$HOME/stegsolve.jar"
chmod +x "$HOME/stegsolve.jar"
fi
# ------------------------------------------------------------------------------
# 3. IMPACKET & ACTIVE DIRECTORY / PIVOTING SUITE
# ------------------------------------------------------------------------------
echo "[+] Installing Impacket, NetExec, Active Directory & Pivoting Tools..."
sudo apt install -y python3-impacket impacket-scripts bloodhound bloodhound-python \
evil-winrm responder ldap-utils kerberoast nbtscan enum4linux-ng \
chisel socat certipy-ad bloodyad rubeus crackmapexec
# Ensure Impacket library & NetExec are available via pip
pip3 install impacket netexec --break-system-packages
# Install Ligolo-ng (Modern Subnet Pivoting Tool)
if ! command -v ligolo-proxy &> /dev/null; then
echo "[+] Installing Ligolo-ng Proxy & Agent..."
LIGOLO_VER=$(curl -s https://api.github.com/repos/nicocha30/ligolo-ng/releases/latest | jq -r '.tag_name' | tr -d 'v')
wget -q "https://github.com/nicocha30/ligolo-ng/releases/download/v${LIGOLO_VER}/ligolo-ng_proxy_${LIGOLO_VER}_Linux_64-bit.tar.gz" -O /tmp/ligolo_proxy.tar.gz
wget -q "https://github.com/nicocha30/ligolo-ng/releases/download/v${LIGOLO_VER}/ligolo-ng_agent_${LIGOLO_VER}_Linux_64-bit.tar.gz" -O /tmp/ligolo_agent.tar.gz
sudo tar -xvf /tmp/ligolo_proxy.tar.gz -C /usr/local/bin proxy
sudo mv /usr/local/bin/proxy /usr/local/bin/ligolo-proxy
mkdir -p "$HOME/ctf/templates/ligolo"
tar -xvf /tmp/ligolo_agent.tar.gz -C "$HOME/ctf/templates/ligolo/" agent
mv "$HOME/ctf/templates/ligolo/agent" "$HOME/ctf/templates/ligolo/ligolo-agent-linux"
rm -f /tmp/ligolo_*.tar.gz
fi
# Configure Ligolo TUN interface
sudo ip tuntap add mode tun dev ligolo 2>/dev/null || true
sudo ip link set dev ligolo up 2>/dev/null || true
# Clone PEASS-ng (LinPEAS / WinPEAS)
sudo git clone https://github.com/carlospolop/PEASS-ng /opt/PEASS-ng 2>/dev/null || true
# ------------------------------------------------------------------------------
# 4. PYTHON PWN & EXPLOITATION LIBRARIES
# ------------------------------------------------------------------------------
echo "[+] Setting up Python Pwn & Exploitation Libraries..."
pip3 install --upgrade pip --break-system-packages 2>/dev/null || true
pip3 install pwntools ropper pwninit z3-solver ROPgadget pycryptodome xortool \
sympy gmpy2 ecdsa lockknife --break-system-packages
# ------------------------------------------------------------------------------
# 5. PWN, REVERSE ENGINEERING & CROSS-ARCH
# ------------------------------------------------------------------------------
echo "[+] Installing Pwn, RE & Cross-Architecture Tools..."
sudo apt install -y gdb gdb-multiarch ghidra radare2 rizin strace ltrace checksec \
qemu-user qemu-user-static qemu-system elfutils patchelf \
gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu gcc-mips-linux-gnu \
libc6-dev-arm64-cross libc6-dev-armel-cross libc6-dev-mips-cross
sudo gem install one_gadget
# Python Decompilers (.pyc RE)
sudo apt install -y python3-decompyle++
pip3 install uncompyle6 pycdc --break-system-packages 2>/dev/null || true
# Install pwndbg & GEF
if [ ! -d "$HOME/pwndbg" ]; then
echo "[+] Installing pwndbg..."
git clone https://github.com/pwndbg/pwndbg "$HOME/pwndbg"
cd "$HOME/pwndbg" && ./setup.sh
cd "$HOME"
fi
if [ ! -d "$HOME/gef" ]; then
echo "[+] Cloning GEF for GDB..."
git clone https://github.com/hugsy/gef.git "$HOME/gef"
fi
# ------------------------------------------------------------------------------
# 6. WEB EXPLOITATION & WORDLISTS (SECLISTS)
# ------------------------------------------------------------------------------
echo "[+] Installing Web Exploitation & Cracking Tools..."
sudo apt install -y burpsuite sqlmap nikto ffuf gobuster dirsearch wpscan \
commix hydra john hashcat medusa wfuzz xsser seclists
if [ -f /usr/share/wordlists/rockyou.txt.gz ]; then
echo "[+] Extracting rockyou.txt..."
sudo gunzip -f /usr/share/wordlists/rockyou.txt.gz 2>/dev/null || true
fi
# ------------------------------------------------------------------------------
# 7. OSINT (OPEN SOURCE INTELLIGENCE)
# ------------------------------------------------------------------------------
echo "[+] Installing OSINT Frameworks & Scrapers..."
sudo apt install -y theharvester maltego recon-ng osmedeus holehe spiderfoot
pip3 install sherlock-project ghunt-osint --break-system-packages 2>/dev/null || true
# ------------------------------------------------------------------------------
# 8. ADVANCED CRYPTOGRAPHY & MATH SOLVERS
# ------------------------------------------------------------------------------
echo "[+] Installing Cryptography Tools..."
sudo apt install -y sagemath hash-identifier pkcrack
if [ ! -d "$HOME/RsaCftTool" ]; then
echo "[+] Cloning RsaCftTool..."
git clone https://github.com/RsaCftTool/RsaCftTool.git "$HOME/RsaCftTool"
pip3 install -r "$HOME/RsaCftTool/requirements.txt" --break-system-packages 2>/dev/null || true
fi
# ------------------------------------------------------------------------------
# 9. ANDROID RE & PATTERN LOCK CRACKING
# ------------------------------------------------------------------------------
echo "[+] Installing Android RE & Pattern Cracking Tools..."
sudo apt install -y apktool jadx androguard google-android-platform-tools-installer \
android-tools-adb android-tools-fastboot
if [ ! -d "$HOME/Android-Lock-Pattern-Finder" ]; then
git clone https://github.com/dz-root/Android-Lock-Pattern-Finder.git "$HOME/Android-Lock-Pattern-Finder"
cd "$HOME/Android-Lock-Pattern-Finder" && npm install 2>/dev/null || true
cd "$HOME"
fi
if [ ! -d "$HOME/android-pattern-decoder" ]; then
git clone https://github.com/bolisettynihith/android-pattern-decoder.git "$HOME/android-pattern-decoder"
fi
cat << 'EOF' > "$HOME/crack_pattern.py"
#!/usr/bin/env python3
import hashlib, sys, itertools
GRID = {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9}
def crack_gesture_key(target_hash_hex):
target_hash = bytes.fromhex(target_hash_hex)
for length in range(4, 10):
for pattern in itertools.permutations(range(9), length):
if hashlib.sha1(bytes(pattern)).digest() == target_hash:
sequence = [GRID[p] for p in pattern]
print(f"[+] PATTERN FOUND! Grid sequence: {sequence}")
return sequence
print("[-] Pattern not found.")
if __name__ == "__main__":
if len(sys.argv) < 2: sys.exit(1)
crack_gesture_key(sys.argv[1])
EOF
chmod +x "$HOME/crack_pattern.py"
# ------------------------------------------------------------------------------
# 10. CTF WORKSPACE CREATOR & TEMPLATES GENERATOR
# ------------------------------------------------------------------------------
echo "[+] Building Structured CTF Workspace Template (~/ctf)..."
mkdir -p "$HOME/ctf/templates"
mkdir -p "$HOME/ctf/web"
mkdir -p "$HOME/ctf/pwn"
mkdir -p "$HOME/ctf/reverse"
mkdir -p "$HOME/ctf/crypto"
mkdir -p "$HOME/ctf/forensics"
mkdir -p "$HOME/ctf/stego"
mkdir -p "$HOME/ctf/osint"
mkdir -p "$HOME/ctf/active-directory"
# Pwn Exploit Template
cat << 'EOF' > "$HOME/ctf/templates/exploit.py"
#!/usr/bin/env python3
from pwn import *
context.binary = elf = ELF('./target', checksec=False)
context.terminal = ['tmux', 'splitw', '-h']
HOST = 'challenge.ctf.site'
PORT = 1337
def start():
if args.REMOTE:
return remote(HOST, PORT)
elif args.GDB:
return gdb.debug(elf.path, gdbscript='''
continue
''')
else:
return process(elf.path)
io = start()
# payload = flat({40: elf.symbols['win']})
# io.sendlineafter(b'Input: ', payload)
io.interactive()
EOF
# Generic Script Solver Template
cat << 'EOF' > "$HOME/ctf/templates/solve.py"
#!/usr/bin/env python3
import requests
from Crypto.Util.number import *
def solve():
print("[*] Solve script initialized...")
if __name__ == "__main__":
solve()
EOF
# Challenge Writeup Template
cat << 'EOF' > "$HOME/ctf/templates/notes.md"
# Challenge Name
- **Category:**
- **Points:**
## Description
> Challenge details...
## Solution / Exploitation
- Step 1:
## Flag
`FLAG{...}`
EOF
# Helper script to initialize new CTF event
cat << 'EOF' > "$HOME/ctf/new_ctf.sh"
#!/bin/bash
if [ -z "$1" ]; then
echo "Usage: ./new_ctf.sh "
exit 1
fi
CTF_NAME="$1"
TARGET_DIR="$HOME/ctf/$CTF_NAME"
mkdir -p "$TARGET_DIR"/{web,pwn,reverse,crypto,forensics,stego,osint,active-directory}
cp "$HOME/ctf/templates/exploit.py" "$TARGET_DIR/pwn/"
cp "$HOME/ctf/templates/solve.py" "$TARGET_DIR/crypto/"
cp "$HOME/ctf/templates/solve.py" "$TARGET_DIR/web/"
cp "$HOME/ctf/templates/notes.md" "$TARGET_DIR/NOTES.md"
echo "[+] Created CTF Workspace for '$CTF_NAME' at$TARGET_DIR"
EOF
chmod +x "$HOME/ctf/new_ctf.sh"
# ------------------------------------------------------------------------------
# 11. CONFIGURE ENVIRONMENT VARIABLES & SHORTCUTS IN ~/.bashrc
# ------------------------------------------------------------------------------
echo "[+] Setting up Environment Variables & Shortcuts in ~/.bashrc..."
if ! grep -q "# CTF ENVIRONMENT VARIABLES" "$HOME/.bashrc"; then
cat << 'EOF' >> "$HOME/.bashrc"
# CTF ENVIRONMENT VARIABLES & WORDLIST PATHS
export CTF_DIR="$HOME/ctf"
export SECLISTS="/usr/share/seclists"
export WORDLISTS="/usr/share/wordlists"
export ROCKYOU="/usr/share/wordlists/rockyou.txt"
export PEASS="/opt/PEASS-ng"
# GDB Plugin Switcher Aliases
alias gdb-pwndbg="gdb -q -ex 'source ~/pwndbg/gdbinit.py'"
alias gdb-gef="gdb -q -ex 'source ~/gef/gef.py'"
alias gdb-vanilla="gdb -nx"
# Quick Tool Aliases
alias nxe="netexec"
alias stegsolve="java -jar $HOME/stegsolve.jar"
alias ligolo-setup="sudo ip tuntap add mode tun dev ligolo && sudo ip link set dev ligolo up"
# Quick Directory Navigation Shortcuts
alias cd-ctf="cd $HOME/ctf"
alias cd-seclists="cd /usr/share/seclists"
alias cd-peass="cd /opt/PEASS-ng"
alias new-ctf="$HOME/ctf/new_ctf.sh"
EOF
fi
echo ""
echo "=============================================================================="
echo " [✔] MASTER INSTALLATION COMPLETE!"
echo "=============================================================================="
echo " Run 'source ~/.bashrc' to activate environment variables and aliases."
echo ""
echo " Steganography Arsenal Installed:"
echo " - stegseek (ultra-fast steghide cracker using rockyou.txt)"
echo " - steghide, outguess, stegsnow, openstego, stegpy"
echo " - zsteg (PNG/BMP LSB analyzer), stegoveritas (all-in-one stego check)"
echo " - Stegsolve GUI ('stegsolve' command alias)"
echo " - qsstv (SSTV audio stego decoder), Audacity, Sonic Visualiser"
echo "=============================================================================="
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论