A Golden Image for Our Pentest VMs
Kali Linux is an excellent Debian-derived distro for digital penetration testing, and an evolved version of BackTrack. It is one of my favorite distributions, and it is what my team and I use as the base for our pentest VMs. Stock Kali is a fine starting point, but it is not a team-ready image. Kali ships the essentials, and a lot of those are outdated or slower than current upstream. Worse, everyone ends up with a slightly different toolkit, so we waste time getting machines in sync. We needed a golden image we all start from, with the tools the team uses, that we can rebuild quickly.
To solve this, I wrote an Ansible playbook instead of a one-off Bash script or a frozen OVA that goes stale. If you don’t know Ansible, it is a clean way to automate deployment locally and over SSH. I called the playbook Kali-TX. It deploys the team’s toolkit — all listed below — and helper scripts so each instance pulls current versions instead of whatever was packaged last time. Run it against one box or the whole fleet, and everything is ready in one pass. Add a tool once, and every box picks it up on the next run. That cuts the setup time and keeps us from downloading tools that were supposed to be on the image already.
Kali-TX
Tools
Infrastructure
- Ansible
- Docker
- PyCharm
- PowerShell
- Tree
Recon and web
- Dirsearch
- Aquatone
- BlackWidow
- Bettercap
- QSearchSploit
- Findsploit
C2, pivoting, and post-ex
- Empire
- Rpivot
- BruteX
- Gophish
- PowerSploit
- Evil-WinRM
- CrackMapExec
- Invoke-Obfuscation
- Unicorn
- EvilURL
Wordlists and payloads
- IntruderPayloads
- PayloadsAllTheThings
- FuzzDB
- Big-list-of-naughty-strings
- RobotsDisallowed
- SecLists
How to install locally
$ git clone https://github.com/M507/Kali-TX.git
$ cd Kali-TX
$ bash deploy_locally.sh
How to deploy remotely
Clone the playbook
$ git clone https://github.com/M507/Kali-TX.git
$ cd Kali-TX
Edit hosts.ini
[kali:vars]
ansible_connection=ssh
ansible_user=root
ansible_password=toor
[kali]
<ip1>
<ip2>
<ip3>
<ip4>
<ip5>
Deploy
$ cd Kali-TX
$ ansible-playbook deploy_kali.yml -i hosts.ini
Playbook: Kali-TX.