This step by step guide explains what is Katoolin3 and how to install Kali Linux tools in Ubuntu, Debian and other DEB-based systems like Linux Mint and Pop_OS!.
Important: It seems the development of Katoolin 3 has been stopped. There is no update since February 2020. So Katoolin 3 may not work as expected.
Table of Contents
Introduction to Katoolin3
As some of you might already know, Katoolin is a Python script to install Kali Linux tools in Ubuntu, Debian 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.
Important Warning: It looks like the Katoolin3 messes up the existing repositories. Many users have complained that Katoolin3 removes the GNOME DE, and other packages that are not even related to Katoolin when they try to uninstall Katoolin. So I strongly suggest you to try it in a test machine for a while and see if it works perfectly.
Katoolin3 Features
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.
Recommended Download – Free Video: “Kali 101 – FREE Video Training Course (a $19 value!)”
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.
- Git.
- sh, bash.
- python3-apt.
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” letters 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>
Important note: 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.
View categories
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.
Installing packages
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
.
Uninstall packages
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.
Display Katoolin3 Help
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.
Exit Katoolin3
To quit Katoolin3, type number 9
and hit ENTER.
Update Katoolin3
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.
Uninstall Katoolin3
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
Conclusion
In this guide, we discussed what is Katoolin3, and its features and then how to install Kali Linux tools using katoolin3 in Ubuntu, Debian and other DEB-based systems.
Resource:
56 comments
OK, following a guide set up manually google’s nameservers and to connect to the wifi via cli, I repaired the broken Ubuntu with the guide you suggested me.
Now the machine is booting on cli, with network interfaces down. At least I don’t have to modify anything from grub to start it.
Any suggestion on how to proceed now? I got Ubuntu running on cli, network manager down on boot up.
How can I set the wlan0 interface to start at boot? How could I check if GUI is there or not at this point?
Sorry, I know you’re not supposed to clean up my mess, but you were so nice to help me.
To check if GUI is installed, use any one of these commands:
$ ls /usr/bin/*session
You will see an output like this:
/usr/bin/dbus-run-session /usr/bin/gnome-session /usr/bin/gnome-session-custom-session
Also you can use this command:
$ ls /usr/share/xsessions/
Output should be:
ubuntu.desktop
Next, connect to the wifi as shown in this link -> https://askubuntu.com/questions/461825/how-to-connect-to-wifi-from-the-command-line
Yeah I wouldn’t recommend trying this. Totally screwed my system and all I installed was airodump-ng. First the network manager shat itself, upon trying to restart it just wouldn’t boot Ubuntu. Tried the method https://ostechnix.com/how-to-fix-broken-ubuntu-os-without-reinstalling-it/ and it didn’t fix anything.
I can get to CLI and get the networking up, but can’t seem to fix it.
Super pissed as this is a dual boot, fully encrypted (including encrypted bootloader) drive. Now I’ve got to reinstall a distro and go through the whole crap of fully encrypting everything again.
Yes don’t try to install from katoolin3 it is removing all things related to gnome, probably because kali is a rolling release and it packages are up to date and it tries to update those packages while removing old packages but ubuntu gnome depends on these old packages so it removes entire gnome related packages because there are no dependency packages. ubuntu uses stable packages even though they are not up to date.
it’s probably late but is grub showing up?. If it shows up then go to advanced ubuntu and select option that contains recovery in it, then select root prompt option which gives you a shell. Try to fix it from there.
katoolin3 is removing all gnome related things while trying to solve dependencies. I have to through a lot to bring my system back. All my apps are removed that relates to apt but the data still exists ,so we have reinstall gnome but to do that we have to reinstall python to < 3.9 and remove some packages. It's not actually worth it
Executing: /tmp/apt-key-gpghome.Z2D5x5WyTW/gpg.1.sh -qq –keyserver pool.sks-keyservers.net –recv-keys ED444FF07D8D0BF6
i am getting this error when running sudo ./install.sh
gpg: keyserver receive failed: No name
Executing: /tmp/apt-key-gpghome.DUjIo288AO/gpg.1.sh -qq –keyserver hkp://pool.sks-keyservers.net:80 –recv-keys ED444FF07D8D0BF6
gpg: keyserver receive failed: No name
This may be a server issue. Please try again later
how do i solve this ??
It seems to be the development of this project is stopped. I don’t see any updates in the project’s github repository for more than an year and the repository is currently archived. You may need to contact the Kattolin3 project developer.
For those having this issue… You fix it by entering these commands.
sudo wget -q -O – https://archive.kali.org/archive-key.asc | sudo apt-key add
Now you must edit install.sh in a text editor
sudo vi install.sh
comment out by inserting # the line that begins with: apt-key adv -qq
For those unfamiliar with how to use vi go to the line that needs edited and press i
enter the #
press :
press w
press enter
Now you should be able to run sudo ./install.sh. and Katoolin3 install should succeed.
I am filling with the following error on sudo ./install.sh
quote:
gig: keyserverreceive failed: No name
This may be a server issue . Please try again later
unquote:
I tried it serval times still the same.
Katoolin3 project is archived. There is no active development right now. You may need to contact the author via GitHub. Link is given at the end of the guide.
This tool no longer works, but I found a workaround. try to download repository key for kali linux package with command “sudo wget -q -O – https://archive.kali.org/archive-key.asc | apt-key add” and add kali linux repository to the sources.list ubuntu ” echo “deb http://http.kali.org/kali kali-rolling main non-free contrib $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list” then run update “sudo apt update” if no problem try to install the kali linux tool you want to install on ubuntu.
Thanks for the workaround. This will definitely help someone.
Good day,
When running the sudo ./install.sh command I get the following message, repeadetly:
“Executing: /tmp/apt-key-gpghome.ARC5RBcQ2p/gpg.1.sh -qq –keyserver hkp://pool.sks-keyservers.net:80 –recv-keys ED444FF07D8D0BF6
gpg: Empfangen vom Schlüsselserver fehlgeschlagen: Server zeigt einen unbestimmten Fehler an
This may be a server issue. Please try again later”
The part in German mentions an unspecified error when trying to receive information from a key server.
Could that really be an ongoing server issue for several days or might there be another problem?
Thank you!
Philipp
Hi,
As I noticed in the project’s GitHub page, the development of Katoolin3 is stopped two years ago. I guess it will not work anymore. You may need to contact the developer via GitHub to know further details.