Updated on 2026-02-14
TLDR: Personal Kali Linux configuration (dotfiles, terminal/prompt config, browser policies/extensions and Burp/BApps settings).
Use at your own risk on a fresh Kali install pasting the following commands on the terminal:
1git clone https://github.com/haxowl/kaliconfig.git2cd kaliconfig3chmod 777 install.sh4./install.sh⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡟⢿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠄⠐⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠄⢾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡉⡀⠄⠄⣀⠛⠛⠉⠁⠄⠄⠈⠉⠛⠛⣀⠤⠄⢀⢩⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡠⠄⠑⣿⣅⡀⠄⢐⢂⡰⡀⡀⣄⣼⣿⠊⠄⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢁⢔⠄⠄⠛⣿⣶⣮⠛⢟⣤⣾⡿⠛⠄⡀⡢⡈⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡁⠎⣼⡇⠄⣶⣷⠉⠹⠃⠸⠏⠉⣶⣦⠄⢸⣧⢱⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠄⢆⢿⣿⣄⡈⠁⣀⡼⢡⡄⢕⣀⡈⢁⣠⣿⡛⡸⠄⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠈⠢⣙⡛⠻⠟⠛⠃⢸⡇⠘⠟⠻⠛⢋⣉⠜⠁⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠄⠄⠈⠉⠋⠛⠉⠶⡘⢁⠶⠙⠙⠙⠉⠁⢀⠄⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⡟⠄⠄⠄⠐⡽⡰⠄⡠⡄⠄⠁⠈⣀⢠⢀⣐⣄⠻⠢⠄⠄⠠⢻⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⡏⠄⠄⠄⠄⠃⠗⡜⣿⣿⣽⡄⠰⣯⣿⣿⠢⠹⠔⠄⠄⠄⠄⢽⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡯⢢⠂⠄⠄⠄⠄⠄⠘⢇⠉⣸⣼⣻⢇⢇⡸⠁⠄⠄⠄⠄⠄⠐⡄⣟⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣧⠄⠄⠄⠄⠄⠄⠄⠄⠄⠑⢄⢻⡟⠠⢉⠁⠄⠄⠄⠄⠄⠄⠄⢸⣾⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡧⠤⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠊⠁⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣷⣶⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠐⣾⣾⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣗⣠⡆⢐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠆⢰⡐⣺⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡷⠠⢰⠁⡀⠄⠄⠄⠄⠄⠄⠄⠄⡀⠄⠄⠄⡄⠈⢷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣀⣗⣶⠃⡐⠈⠂⠄⠄⠄⠄⠘⠁⢀⠈⣶⣧⡀⢷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣾⣶⡅⠄⠢⡄⢠⡔⠄⢿⣤⣧⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣶⣿⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
This is my personal config, nothing fancy and far from perfect but it works for me and it might work for you too.
Tested on Kali 2025.4 running on VMWare Workstation 17.x
My main intention for this project is to have a ready-to-go kali VM for each new client.
Credits: thegoodhackertv ippsec pimpmykali blacklanternsecurity
About the files
README.md - usage notes and quick instructions. It instructs cloning the repo and running install.sh.
install.sh - bash script to perform the setup, full details below.
zshrc , p10k.zsh , kitty.conf , qterminal.ini , tmux.conf.local - shell prompt and shell config: full prompt setup, ZSH plugins, terminal config and tmux shortcuts.
policies.json , UserConfigCommunity.json - Firefox / BurpSuite policies: installs specific Firefox extensions and configures Firefox prefs, same for Burp.
install.sh dissection
- A Kali Linux post-install automation script
- Installs red-team toolkit
- Customizes XFCE desktop
- Configures Zsh + tmux
- Sets up Burp, Metasploit, AD tools
- Adds privilege escalation binaries
- Tweaks system settings
1#!/bin/bashTells the system to run the script using Bash.
1if [ "$UID" -eq 0 ]; then2 echo "Cannot run as root."3 exit 14if [ -n "$SUDO_USER" ]; then5 echo "Do not use sudo"6 exit 1If current user is root, stop execution.
If script is launched with sudo, stop execution.
The script wants to run as a normal user, and only use sudo internally.
1RPATH=`pwd`Stores current working directory in variable RPATH.
Used later to copy config files from the script’s directory.
1xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/presentation-mode -s true --create --type bool2xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/show-tray-icon -s true --create --type boolEnables presentation mode.
Shows power manager tray icon.
Prevents sleep/auto-lock/screensaver.
1sudo apt update -y2sudo DEBIAN_FRONTEND=noninteractive apt upgrade -yUpdates package lists.
Upgrades all installed packages.
Avoids interaction during installation.
1sudo apt remove -y python3-httpxRemoves python3-httpx to avoid conflict prevention.
1sudo DEBIAN_FRONTEND=noninteractive apt install -y python3 python3-pip feh scrot scrub xclip xsel fastfetch wmname acpi imagemagick python3-pip lsd bpython open-vm-tools-desktop open-vm-tools pipx git python3-argcomplete netexec bat bloodhound gowitness eaphammer seclists bettercap jq kitty rlwrap font-manager cyberchef gobuster nuclei neovim golang subfinder docker.io docker-compose bloodyad certipy-ad feroxbuster oscanner redis-tools sipvicious tnscmd10g libpcap-dev sshpass sliver nishang ssh-audit dnsx airgeddon wifiphisher autorecon coercer openfortivpn libpcap-devInstalls:
Core tools: python3, pip, git, golang
Recon tools: nuclei, gobuster, subfinder, dnsx
AD tools: bloodhound, certipy-ad
Wireless tools: airgeddon, wifiphisher
Offensive tools: bettercap, sliver
Docker
Editors: neovim
Terminal tools: kitty, bat, lsd
And many more
1rm -rf ~/.oh-my-zsh2yes | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"3git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions4git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting5rm -f ~/.zshrc6cp -v $RPATH/zshrc ~/.zshrcDeletes existing Oh My Zsh.
Installs fresh version automatically.
Adds shell autocompletion & syntax highlighting.
Replaces user’s .zshrc config with custom one.
1rm -rf ~/.tmux2git clone https://github.com/gpakosz/.tmux.git ~/.tmux3ln -s -f ~/.tmux/.tmux.conf ~/4cp -v $RPATH/tmux.conf.local ~/.tmux.conf.localInstalls popular tmux config.
Applies custom configuration.
1git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k2rm -f ~/.p10k.zsh3cp -v $RPATH/p10k.zsh ~/.p10k.zshInstalls fancy Zsh theme.
Applies config.
1sudo timedatectl set-timezone "Europe/Madrid"Changes system timezone.
1mkdir /tmp/fonts2wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/Hack.zip -O /tmp/fonts/Hack.zip3unzip /tmp/fonts/Hack.zip -d /tmp/fonts4sudo font-manager -i /tmp/fonts/*.ttfDownloads Hack Nerd Font:
Install via font-manager
1sudo msfdb initSets up Metasploit database.
1sudo git clone https://github.com/Flangvik/SharpCollection /opt/sharpcollection2sudo git clone https://github.com/dirkjanm/krbrelayx /opt/krbrelayx3sudo git clone https://github.com/coffinxp/loxs.git /opt/loxs4sudo pip3 install -r /opt/loxs/requirements.txt --break-system-packages5sudo wget https://download.sysinternals.com/files/SysinternalsSuite.zip -O /opt/SysinternalsSuite.zip6sudo unzip /opt/SysinternalsSuite.zip -d /opt/SysinternalsSuite7sudo rm /opt/SysinternalsSuite.zip8sudo wget https://cdn.sanity.io/files/r09655ln/production/c3f3789f35a16bbf88fa6a656a2cdab2369c3b3c.zip -O /opt/pingcastle.zip9sudo unzip /opt/pingcastle.zip -d /opt/pingcastle10sudo rm /opt/pingcastle.zipClones tools into /opt/, including:
SharpCollection
krbrelayx
pingcastle
sysinternalssuite
1sudo mkdir /opt/misc2sudo wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -O /opt/misc/linpeas.sh3sudo wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/winPEAS.bat -O /opt/misc/winPEAS.bat4sudo wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/winPEASany.exe -O /opt/misc/winPEASany.exe5sudo wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/winPEASx64.exe -O /opt/misc/winPEASx64.exe6sudo wget https://github.com/itm4n/PrivescCheck/releases/latest/download/PrivescCheck.ps1 -O /opt/misc/PrivescCheck.ps17sudo wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy32 -O /opt/misc/pspy328sudo wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy32 -O /opt/misc/pspy649sudo wget https://raw.githubusercontent.com/gladiatx0r/Powerless/refs/heads/master/Powerless.bat -O /opt/misc/Powerless.bat10sudo wget https://raw.githubusercontent.com/The-Z-Labs/linux-exploit-suggester/refs/heads/master/linux-exploit-suggester.sh -O /opt/misc/linux-exploit-suggester.sh11sudo git clone https://github.com/carlospolop/cloudpeass /opt/cloudpeass12sudo wget https://github.com/ohpe/juicy-potato/releases/download/v0.1/JuicyPotato.exe -O /opt/misc/JuicyPotato.exe13sudo wget https://raw.githubusercontent.com/topotam/PetitPotam/refs/heads/main/PetitPotam.py -O /opt/misc/PetitPotam.py14sudo wget https://github.com/topotam/PetitPotam/raw/refs/heads/main/PetitPotam.exe -O /opt/misc/PetitPotam.exe15sudo wget https://raw.githubusercontent.com/maaaaz/nmaptocsv/refs/heads/master/nmaptocsv.py -O /opt/misc/nmaptocsv.py12 collapsed lines
16sudo wget https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET4.exe -O /opt/misc/GodPotato-NET4.exe17sudo wget https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET35.exe -O /opt/misc/GodPotato-NET35.exe18sudo wget https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET2.exe -O /opt/misc/GodPotato-NET2.exe19sudo wget https://github.com/jpillora/chisel/releases/download/v1.11.3/chisel_1.11.3_linux_amd64.gz -O /opt/misc/chisel_1.11.3_linux_amd64.gz20sudo wget https://github.com/jpillora/chisel/releases/download/v1.11.3/chisel_1.11.3_windows_amd64.gz -O /opt/misc/chisel_1.11.3_windows_amd64.gz21sudo gunzip /opt/misc/chisel_1.11.3_linux_amd64.gz22sudo gunzip /opt/misc/chisel_1.11.3_windows_amd64.gz23sudo chmod 777 /opt/misc/chisel_1.11.3_linux_amd6424sudo mv /opt/misc/chisel_1.11.3_windows_amd64 /opt/misc/chisel.exe25sudo wget https://raw.githubusercontent.com/jakehildreth/Locksmith/refs/heads/main/Invoke-Locksmith.ps1 -O /opt/misc/Invoke-Locksmith.ps126sudo wget https://github.com/ropnop/kerbrute/releases/download/v1.0.3/kerbrute_linux_amd64 -O /opt/misc/kerbrute27sudo chmod 777 /opt/misc/kerbruteCreates /opt/misc and downloads:
linpeas
winPEAS
PrivescCheck
pspy
PetitPotam
JuicyPotato
GodPotato
chisel
kerbrute
nmaptocsv
Locksmith
These are red-team / pentest utilities.
1go install github.com/projectdiscovery/naabuInstalls port scanner.
1sudo wget -O code-latest.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64'2sudo DEBIAN_FRONTEND=noninteractive apt install -y ./code-latest.deb3sudo rm code-latest.debInstall VSCode.
1nuclei2sudo nucleiInitialize Nuclei Templates
1ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""Creates SSH keypair with empty passphrase.
1sudo mkdir /usr/local/lib/BurpSuite2sudo wget https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar -O /usr/local/lib/BurpSuite/jruby-complete.jar3sudo wget https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.4/jython-standalone-2.7.4.jar -O /usr/local/lib/BurpSuite/jython-standalone.jar4sudo chmod 0644 /usr/local/lib/BurpSuite/jruby-complete.jar5sudo chmod 0644 /usr/local/lib/BurpSuite/jython-standalone.jar6/bin/bash -c "timeout 45 /usr/lib/jvm/java-21-openjdk-amd64/bin/java -Djava.awt.headless=true -jar /usr/share/burpsuite/burpsuite.jar < <(echo y) &"7sleep 308curl http://localhost:8080/cert -o /tmp/cacert.der9sudo cp -v /tmp/cacert.der /usr/local/share/ca-certificates/BurpSuiteCA.der10sudo chmod 0644 /usr/local/share/ca-certificates/BurpSuiteCA.der11sudo rm /tmp/cacert.der12sudo cp -v $RPATH/UserConfigCommunity.json ~/.BurpSuite/UserConfigCommunity.jsonCreates /usr/local/lib/BurpSuite
Downloads:
jruby
jython
Generates Burp CA certificate:
Launches Burp headless
Extracts cert
Installs into system CA store
Copies custom Burp config.
1sudo cp -v $RPATH/policies.json /usr/share/firefox-esr/distribution/policies.jsonInstalls Burp certificate into Firefox.
Installs extensions.
1mkdir ~/.config/kitty2cp -v $RPATH/kitty.conf ~/.config/kitty/kitty.conf3cp -v $RPATH/qterminal.ini ~/.config/qterminal.org/qterminal.iniTerminal Config
kitty.conf
qterminal.ini
1mkdir ~/tmuxlogs2echo "tmux pipe-pane -o 'cat >>~/tmuxlogs/tmux.#H.#S.#I.#P_%Y.%m.%d_%H.%M.%S.log'" >> ~/tmux_start_logging.sh3chmod 777 ~/tmux_start_logging.shLogs all tmux sessions automatically.
1xfconf-query -c xfce4-panel -p /plugins/plugin-5/items -t string -a -s 'kali-burpsuite.desktop' --create2xfconf-query -c xfce4-panel -p /plugins/plugin-6/items -t string -a -s 'xfce-text-editor.desktop' --create3xfconf-query -c xfce4-panel -p /plugins/plugin-7/items -t string -a -s 'firefox-esr.desktop' --create4xfce4-panel --add=launcher5xfconf-query -c xfce4-panel -p /plugins/plugin-23/items -t string -a -s 'code.desktop' --create6xfce4-panel --add=launcher7xfconf-query -c xfce4-panel -p /plugins/plugin-24/items -t string -a -s 'kitty.desktop' --create8xfconf-query -c xfce4-panel -p /panels/panel-1/plugin-ids -a -t int -s 1 -t int -s 2 -t int -s 3 -t int -s 4 -t int -s 5 -t int -s 6 -t int -s 7 -t int -s 23 -t int -s 24 -t int -s 8 -t int -s 9 -t int -s 10 -t int -s 11 -t int -s 12 -t int -s 13 -t int -s 14 -t int -s 15 -t int -s 16 -t int -s 17 -t int -s 18 -t int -s 19 -t int -s 20 -t int -s 21 -t int -s 229xfconf-query -c xfce4-panel -p /plugins/plugin-19/digital-layout -t int -s 110xfconf-query -c xfce4-panel -p /plugins/plugin-1/favorites -a -n -t string -s 'kitty.desktop' -t string -s 'firefox-esr.desktop' -t string -s 'code.desktop' -t string -s 'kali-burpsuite.desktop' -t string -s 'xfce-text-editor.desktop' -t string -s 'xfce4-terminal-emulator.desktop' -t string -s 'root-terminal.desktop' -t string -s 'xfce4-file-manager.desktop' -t string -s 'exploit-database.desktop' -t string -s 'vulnhub.desktop'11xfconf-query -c thunar -p /last-show-hidden -t bool -s true --create12xfconf-query -c xfce4-panel -p /plugins/plugin-11/show-labels -t bool -s true --create13xfconf-query -c xfce4-panel -p /plugins/plugin-11/grouping -t bool -s false --createUses xfconf-query to:
Add launchers:
Burp
Firefox
VSCode
Kitty
Reorder panel
Set clock layout
Add favorites to menu
Show hidden files
Adjust window button behavior
1sudo cp -v $RPATH/idorfuzz.txt /usr/share/seclists/idorfuzz.txtAdds custom wordlist to SecLists.
1sudo wget https://github.com/bol-van/zapret/releases/download/v72.9/zapret-v72.9.zip2sudo unzip zapret-v72.9.zip3sudo mv zapret-v72.9 /opt/zapretDownloads zapret DPI Bypass.
1sudo updatedbUpdate locate Database
1sudo runuser -u postgres -- psql -c 'ALTER DATABASE postgres REFRESH COLLATION VERSION; ALTER DATABASE template1 REFRESH COLLATION VERSION;'Fix PostgreSQL Collation.
Fixes locale mismatch issues.
1sudo rm -rf ~/github2sudo rm -rf $RPATHCleanup
Deletes:
~/github
Entire directory where script was run
1echo -e "\n[+] Input new ROOT password!\n"2sudo passwd root3echo -e "\n[+] Input new KALI password!\n"4sudo passwd kaliPrompts user to:
Set root password
Set kali password
