Kali Linux is Missing Many Essential Tools. This is my solution..
Kali Linux is an excellent distro with outdated tools. Kali Linux is a Debian-derived Linux distribution designed for digital forensics and penetration testing. It’s an evolved version of backtrack. Kali Linux is one of my favorite Linux distributions. However, in the past years, I started solving HackTheBox challenges, and a lot of these challenges have some smaller patterns where, for example, you start by enumerating ports, then brute-forcing web directories and files. The typical challenges, but when you get into advanced challenges, you might need different skillsets and tools. When it comes to the tools, Kali provides only the essential tools, which many of them are outdated and slow.
To solve this issue, I started looking for neat tools in GitHub and collecting them, and I decided to write a script to deploy all the collected tools to share them easily. I was planning to deploy them using a simple Bash script, but I wanted it to be a usable project, not just a script that will be used just once. As a result, I decided to write an Ansible Playbook for the deployment. If you don’t know Ansible, it is a neat solution to automate deployment remotely and locally. I called the Playbook, Kali-TX. It deploys very helpful chosen tools. All tools listed below. My motivation behind choosing writing an Ansible Playbook is that in network penetration test engagements, usually, I spawn up new Kali instances before any engagement, so redownloading all the tools I use over and over takes a lot of time. Now, when I prepare for a new engagement, I just need to run this Playbook against all instances, and It will deploy scripts in each instance that will download an updated version of all the selected tools. That prevents wasting time downloading tools that supposed to be already installed.
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
[kali:vars] ansible_connection=ssh ansible_user=root ansible_password=toor [kali] <ip1> <ip2> <ip3> <ip4> <ip5>
$ cd Kali-TX $ ansible-playbook deploy_kali.yml -i hosts.ini