As some of you might already know, Katoolin is a Python script to install Kali Linux tools in Ubuntu and other Deb-based systems. If you're a security researcher or enthusiast, Katoolin allows you to install any Kali Linux tools of your choice on top of your Ubuntu system in couple minutes. It seems that Katoolin is not being updated regularly (the last commit was April, 2019) and it doesn't work in recent Ubuntu versions. The Caveats started adding up due to lack of maintenance. Fortunately, someone has taken up the torch and is keeping a very stable branch of katoolin. Say hello to Katoolin3, a fork of Katoolin, that helps you to get your favorite Kali Linux tools on Debian, Ubuntu and its derivatives like Linux Mint. Katoolin3 is completely free and open source program.
Features of Katoolin3
Katoolin3 offers several improvements over katoolin as listed below.
- Katoolin3 is ported to Python 3. Katoolin is written in Python 2.x.
- It provides up-to-date packages. The old katoolin uses an outdated package list.
- The old katoolin breaks if a package isn't available in the repositories anymore. Katoolin3 detects the missing packages and simply ignores them.
- Unlike old Katoolin, it is possible to remove all packages installed by Katoolin3. You can remove packages individually or all at once.
- Some user have complained that they can’t update or upgrade their Ubuntu OS after installed old Katoolin. This issue has been addressed and fixed in the newer Katoolin3 version. The upgrade won't break your system, because the Kali repositories only get enabled during the runtime of katoolin3.
- The old katoolin modifies and even deletes important system configuration files. These potentially dangerous operations have been changed in Katoolin3.
- It is difficult to add new packages to package list in the old Katoolin. Not anymore! Maintaining the package list just got better and a lot easier with Katoolin3.
Install Katoolin3 in Ubuntu 20.04 LTS
I have tested Katoolin3 in Ubuntu 20.04 LTS server edition. However, It should work on other Ubuntu versions and derivatives.
Katoolin3 requires the following prerequisites in your Ubuntu system.
- Python >= 3.5.
- sh, bash.
These packages comes preinstalled in latest Ubuntu 20.04 LTS, so you probably don't need to install anything.
Also, make sure you have enabled [universe] repository.
$ sudo add-apt-repository universe
Clone the Katollin3 GitHub repository using command:
$ git clone https://github.com/s-h-3-l-l/katoolin3
Please make sure the repository name is correct. In the above URL, it should be two lower case “L”s in the word "s-h-3-l-l".
The command will clone the contents of Katooolin3 repository in a local folder named "katoolin3" in the current directory.
Go to the katoolin3 directory:
$ cd katoolin3/
Make the install.sh executable:
$ chmod +x ./install.sh
Then install Katoolin3 using command:
$ sudo ./install.sh
Upon successful installation, you will see the following message:
Executing: /tmp/apt-key-gpghome.r4OwC90o2Q/gpg.1.sh -qq --keyserver pool.sks-keyservers.net --recv-keys ED444FF07D8D0BF6 Successfully installed. Run it with 'sudo katoolin3'.
Please note: If you get the error "Please install the python3-apt package", please make sure katoolin3 runs with exactly the same python3 version as the python3-apt package. On modern distributions python3-apt is only for python3.7 and on older distributions python3-apt is only for python3.5. Katoolin3 has to be run accordingly with python3.7 or python3.5. In Ubuntu 20.04 LTS version, I don't have any issues with Katoolin3 installation.
Install Kali Linux Tools Using Katoolin3 In Ubuntu 20.04 LTS
To run Katoolin3, enter the following command:
$ sudo katoolin3
Katoolin3 will add necessary Kali Linux repositories on your Ubuntu machine and update the sources lists.
Once the repositories are added and the source lists are updated, you will see the Katoolin3 main menu.
[...] Main Menu 0) View Categories 1) Install All 2) Uninstall All 3) Search repository 4) List installed packages 5) List not installed packages 6) Install Kali Menu 7) Uninstall old katoolin 8) Help 9) Exit kat>
Please note that you should not update your packages, upgrade your system or modify your package cache in any other way while katoolin3 is still running. Always close Katoolin3 before updating system or modifying package cache. Unlike the old Katoolin, the new Katoolin3 will not break the system while upgrading because the Kali repositories only get enabled during the runtime of katoolin3.
As you can see in the above screenshot, the Katoolin3 main menu has 9 sub-menus and each sub-menu performs different operations. To open a sub-menu, just enter the corresponding number.
Type 0 (zero) and press ENTER to view the list of available categories.
[...] kat> 0 Select a Category 0) Exploitation Tools 8) Sniffing & Spoofing 1) Forensics Tools 9) Stress Testing 2) Hardware Hacking 10) Vulnerability Analysis 3) Information Gathering 11) Web Applications 4) Maintaining Access 12) Wireless Attacks 5) Password Attacks 13) HELP 6) Reporting Tools 14) BACK 7) Reverse Engineering kat>
As you can see, there are 12 categories available. Each category may contain one or more packages. To go back to the previous menu, type 14 and hit ENTER. To view the list of available packages in a category, simply type its corresponding number and press ENTER:
kat> 1 Select a Package 0) Bulk Extractor 12) Pdf Parser 1) Capstone Tool 13) pdfid 2) chntpw 14) Distorm3 3) dc3dd 15) Capstone 4) ddrescue 16) Distorm3 5) dumpzilla 17) regripper 6) extundelete 18) volatility 7) foremost 19) xplico 8) galleta 20) ALL 9) guymager 21) HELP 10) Libdistorm3 3 22) BACK 11) p0f kat>
The above output shows the list of available packages under "Forensics Tools" category.
You can install all packages at once. However, it is not recommended and not necessary. To install a package, go to the category of your choice and enter the corresponding number. For example, I am going to install "foremost" tool (number 7).
[...] Select a Package 0) Bulk Extractor 12) Pdf Parser 1) Capstone Tool 13) pdfid 2) chntpw 14) Distorm3 3) dc3dd 15) Capstone 4) ddrescue 16) Distorm3 5) dumpzilla 17) regripper 6) extundelete 18) volatility 7) foremost 19) xplico 8) galleta 20) ALL 9) guymager 21) HELP 10) Libdistorm3 3 22) BACK 11) p0f kat> 7
The selected package will be downloaded from Kali Linux repositories and installed in your Ubuntu system.
Reading package lists... Installing 1 package... Get:1 http://ftp.harukasan.org/kali kali-rolling/main amd64 foremost amd64 1.5.7-9+b1 [42.1 kB] Fetched 42.1 kB in 6s (0 B/s) Selecting previously unselected package foremost. (Reading database ... 108229 files and directories currently installed.) Preparing to unpack .../foremost_1.5.7-9+b1_amd64.deb ... Unpacking foremost (1.5.7-9+b1) ... Setting up foremost (1.5.7-9+b1) ... Processing triggers for man-db (2.9.1-1) ...
To install multiple packages at once specify a range like 3-5, a list like 1,2,3 or combine them like 1,2,5-7,9.
To uninstall all Kali Linux tool from your Ubuntu system, type 2 from main menu.
Search Kali Linux repositories
To search for a specific tool, enter number 3 from main menu and then enter a package name to get information about a package or enter a keyword to search for package. Here I am searching for "recovery" related tools.
[...] kat> 3 Enter a package name to get information about a package or enter a keyword to search for packages... Search: recovery bacula/kali-rolling 9.6.3-1 all network backup service - metapackage bacula-bscan/kali-rolling 9.6.3-1 amd64 network backup service - bscan tool bacula-client/kali-rolling 9.6.3-1 all network backup service - client metapackage bacula-common/kali-rolling 9.6.3-1 amd64 network backup service - common support files bacula-common-mysql/kali-rolling 9.6.3-1 amd64 network backup service - MySQL common files [...]
List installed packages
To view all installed kali linux tools, enter number 4 from the Katollin3 main menu:
Main Menu 0) View Categories 1) Install All 2) Uninstall All 3) Search repository 4) List installed packages 5) List not installed packages 6) Install Kali Menu 7) Uninstall old katoolin 8) Help 9) Exit kat> 4 foremost
As you can see, I have installed "foremost" tool.
List not installed packages
To view all not installed packages, type number 5 from main menu.
[...] kat> 5 Ace Voip aircrack-ng airgraph-ng amap Android Sdk Apache Users apktool arachni arduino armitage [...]
Install Kali Menu
This option will install Kali Menu on your Ubuntu system. This will add a dedicated menu for all installed Kali Linux tools, so you can qucikly find and launch any tools from this menu. To install Kali Menu, type number 6 from main menu and press ENTER.
Uninstall old katoolin
It removes the old Katoolin version if it is already installed.
Don't know how to use Katoolin3? Just open the Help section by entering number 8.
kat> 8 The program flow of this program is realized by presenting a list of options that you can choose from. When selecting packages you can select more than one by passing a comma-separated list like '0,1,2,3' or specifying a range like '12-24' or combining those two '0,1,3-5,12'. If you want to remove packages simply prepend '~' before a string like above. If you want information about a specific package presented to you enter the number of the package followed by a '?'. If the list of options gets out of sight type '!!' to print it again. Packages which you have already installed are shown in this color.
To quit Katoolin3, type number 9 and hit ENTER.
Go to the directory where you have cloned Katoolin3:
$ cd katoolin3/
Make the update script executable:
$ chmod +x ./update.sh
Run update script to update Katoolin3 to latest available version.
$ sudo ./update.sh
It would be better if the developer included an option to update Katoolin3 from the main menu.
Don't use Katoolin3 anymore? Simply uninstall it as shown below.
Go to the directory where you have cloned Katoolin3:
$ cd katoolin3/
Make the uninstall script executable:
$ chmod +x ./uninstall.sh
Finally, remove Katoolin3 from your system using command:
$ sudo ./uninstall.sh
Hope this helps.