From 2fa368b38b6b35595b49d1d4ebd62c2168c0ada2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilhem=20J=C3=A9hanno?= Date: Wed, 18 Jan 2023 10:02:25 +0100 Subject: [PATCH 01/33] [+] - Changed repository --- .DS_Store | Bin 0 -> 6148 bytes Changelog.txt => Changelog.md | 8 + README.md | 117 ++- katoolin.py | 1302 ----------------------------- katoolin3.py | 1444 +++++++++++++++++++++++++++++++++ old/katoolin.py | 1413 ++++++++++++++++++++++++++++++++ todo.md | 18 + 7 files changed, 2971 insertions(+), 1331 deletions(-) create mode 100644 .DS_Store rename Changelog.txt => Changelog.md (50%) delete mode 100644 katoolin.py create mode 100755 katoolin3.py create mode 100755 old/katoolin.py create mode 100644 todo.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0= +- Ubuntu or Debian system + +## Tested systems + +- [x] Ubuntu +- [x] ZorinOS +- [x] Debian + +## Features -# Features - Add Kali linux repositories - Remove kali linux repositories - Install Kali linux tools -# Requirements -- Python 2.7 -- An operating system (tested on Ubuntu) +## How to use + +At first, clone the repo with the command: + + git clone https://github.com/Nysioko/Katoolin3.git && cd Katoolin3 -# Installation -- sudo su -- git clone https://github.com/LionSec/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin -- chmod +x /usr/bin/katoolin -- sudo katoolin +Assign the necessary permissions to the file for it to run as a program: -# Video -https://www.youtube.com/watch?v=8VxCWVoZEEE + chmod +x katoolin3.py + +Then run the Katoolin3 script as sudo: + + sudo ./katoolin3.py + +When you started the script, you can: -# Usage - Typing the number of a tool will install it - Typing 0 will install all Kali Linux tools -- back : Go back -- gohome : Go to the main menu +- back: Go back +- gohome: Go to the main menu +- exit: To exit the script - By installing armitage , you will install metasploit -# Warning -Before updating your system , please remove all Kali-linux repositories to avoid any kind of problem . +## BE CAREFUL + +Before updating your system, please remove all Kali-linux repositories to avoid any kind of problem! -# I have some questions! +## Optimizations + +The base code is filthy, I tried to do what I could to restructure the thing but it's complicated without breaking +everything... + +Otherwise the script is only Python3 compatible, so it works on most machines now + +## FAQ + +#### I can use this script on any Linux distribution? + +No, this script was designed for Ubuntu/Debian systems by the original author. It is nonetheless usable on distributions +based on these, but remember that it was not intended for! + +#### Why didn't you make a pull request to the original author? + +I already offered my update on a previous repository, however, no news from the base author, so I decided to make it a +separate repo to be better referenced while mentioning the base author ! + +However if he wants me to delete the repo in the future or if he wants to get the code back, I'll do whatever he wants. + +#### Is using this script safe? + +Honestly, yes and no. It is clear that some tools are too old/not functional today, or even can crash your distribution. +However, it remains usable and not everything is to be thrown away, which is why I reworked it. + +#### I have a problem with the script... What to do? Please visit https://github.com/LionSec/katoolin/issues -# Donations -- Paypal : https://www.paypal.me/lionsec -- skrill : informatica98es@gmail.com +or visit https://github.com/Nysioko/Katoolin3/issues + +## Informations + +You can still find the base script in the /old/ folder in the repo, but it is not maintained anymore. + +## License + +This project is licensed under the GNU General Public License v2.0 - see +the [LICENSE](https://github.com/Nysioko/Katoolin3/blob/master/LICENCE) file for details + +## Contact +If you want to contact me you can reach me at: -# Contact -- Website : https://neodrix.com -- Youtube : https://youtube.com/inf98es -- Facebook : https://facebook.com/in98 -- Twitter: @LionSec1 -- Email : informatica98es@gmail.com +- [Email](mailto:nysioko@gmail.com) +- [Twitter](https://twitter.com/Nysioko) diff --git a/katoolin.py b/katoolin.py deleted file mode 100644 index 71ef3c6..0000000 --- a/katoolin.py +++ /dev/null @@ -1,1302 +0,0 @@ -#!/usr/bin/python - -import os -import sys, traceback - - -if os.getuid() != 0: - print "Sorry. This script requires sudo privledges" - sys.exit() -def main(): - try: - print (''' - - $$\ $$\ $$\ $$\ $$\ - $$ | $$ | $$ | $$ |\__| - $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ - $$$$$ / \____$$\ \_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ - $$ $$< $$$$$$$ | \033[1;36mKali linux tools installer\033[1;m |$$ |$$ |$$ | $$ | - \033[1;36m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ | - $$ | \$$\ \$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ | - \__| \__| \_______| \____/ \______/ \______/ \__|\__|\__| \__| V2.0 \033[1;m - - - \033[1;32m+ -- -- +=[ Author: LionSec | Homepage: www.neodrix.com\033[1;m - \033[1;32m+ -- -- +=[ 331 Tools \033[1;m - - -\033[1;91m[W] Before updating your system , please remove all Kali-linux repositories to avoid any kind of problem .\033[1;m - ''') - def inicio1(): - while True: - print (''' -1) Add Kali repositories & Update -2) View Categories -3) Install classicmenu indicator -4) Install Kali menu -5) Help - - ''') - - opcion0 = raw_input("\033[1;36mkat > \033[1;m") - - while opcion0 == "1": - print (''' -1) Add kali linux repositories -2) Update -3) Remove all kali linux repositories -4) View the contents of sources.list file - - ''') - repo = raw_input("\033[1;32mWhat do you want to do ?> \033[1;m") - if repo == "1": - cmd1 = os.system("apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED444FF07D8D0BF6") - cmd2 = os.system("echo '# Kali linux repositories | Added by Katoolin\ndeb http://http.kali.org/kali kali-rolling main contrib non-free' >> /etc/apt/sources.list") - elif repo == "2": - cmd3 = os.system("apt-get update -m") - elif repo == "3": - infile = "/etc/apt/sources.list" - outfile = "/etc/apt/sources.list" - - delete_list = ["# Kali linux repositories | Added by Katoolin\n", "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"] - fin = open(infile) - os.remove("/etc/apt/sources.list") - fout = open(outfile, "w+") - for line in fin: - for word in delete_list: - line = line.replace(word, "") - fout.write(line) - fin.close() - fout.close() - print ("\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") - elif repo == "back": - inicio1() - elif repo == "gohome": - inicio1() - elif repo == "4": - file = open('/etc/apt/sources.list', 'r') - - print (file.read()) - - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - - if opcion0 == "3": - print (''' -ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. - -It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. - -Like the classic GNOME menu, it includes Wine games and applications if you have those installed. - -For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ - -''') - repo = raw_input("\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system("add-apt-repository ppa:diesch/testing && apt-get update") - cmd = os.system("sudo apt-get install classicmenu-indicator") - - elif opcion0 == "4" : - repo = raw_input("\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system("apt-get install kali-menu") - elif opcion0 == "5": - print (''' -****************** +Commands+ ****************** - - -\033[1;32mback\033[1;m \033[1;33mGo back\033[1;m - -\033[1;32mgohome\033[1;m \033[1;33mGo to the main menu\033[1;m - - ''') - - - def inicio(): - while opcion0 == "2": - print (''' -\033[1;36m**************************** All Categories *****************************\033[1;m - -1) Information Gathering 8) Exploitation Tools -2) Vulnerability Analysis 9) Forensics Tools -3) Wireless Attacks 10) Stress Testing -4) Web Applications 11) Password Attacks -5) Sniffing & Spoofing 12) Reverse Engineering -6) Maintaining Access 13) Hardware Hacking -7) Reporting Tools 14) Extra - -0) All - - ''') - print ("\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") - - opcion1 = raw_input("\033[1;36mkat > \033[1;m") - if opcion1 == "back": - inicio1() - elif opcion1 == "gohome": - inicio1() - elif opcion1 == "0": - cmd = os.system("apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - while opcion1 == "1": - print (''' -\033[1;36m=+[ Information Gathering\033[1;m - - 1) acccheck 30) lbd - 2) ace-voip 31) Maltego Teeth - 3) Amap 32) masscan - 4) Automater 33) Metagoofil - 5) bing-ip2hosts 34) Miranda - 6) braa 35) Nmap - 7) CaseFile 36) ntop - 8) CDPSnarf 37) p0f - 9) cisco-torch 38) Parsero -10) Cookie Cadger 39) Recon-ng -11) copy-router-config 40) SET -12) DMitry 41) smtp-user-enum -13) dnmap 42) snmpcheck -14) dnsenum 43) sslcaudit -15) dnsmap 44) SSLsplit -16) DNSRecon 45) sslstrip -17) dnstracer 46) SSLyze -18) dnswalk 47) THC-IPV6 -19) DotDotPwn 48) theHarvester -20) enum4linux 49) TLSSLed -21) enumIAX 50) twofi -22) exploitdb 51) URLCrazy -23) Fierce 52) Wireshark -24) Firewalk 53) WOL-E -25) fragroute 54) Xplico -26) fragrouter 55) iSMTP -27) Ghost Phisher 56) InTrace -28) GoLismero 57) hping3 -29) goofile - -0) Install all Information Gathering tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install acccheck") - - elif opcion2 == "2": - cmd = os.system("apt-get install ace-voip") - - elif opcion2 == "3": - cmd = os.system("apt-get install amap") - elif opcion2 == "4": - cmd = os.system("apt-get install automater") - elif opcion2 == "5": - cmd = os.system("wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - elif opcion2 == "6": - cmd = os.system("apt-get install braa") - elif opcion2 == "7": - cmd = os.system("apt-get install casefile") - elif opcion2 == "8": - cmd = os.system("apt-get install cdpsnarf") - elif opcion2 == "9": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "10": - cmd = os.system("apt-get install cookie-cadger") - elif opcion2 == "11": - cmd = os.system("apt-get install copy-router-config") - elif opcion2 == "12": - cmd = os.system("apt-get install dmitry") - elif opcion2 == "13": - cmd = os.system("apt-get install dnmap") - elif opcion2 == "14": - cmd = os.system("apt-get install dnsenum") - elif opcion2 == "15": - cmd = os.system("apt-get install dnsmap") - elif opcion2 == "16": - cmd = os.system("apt-get install dnsrecon") - elif opcion2 == "17": - cmd = os.system("apt-get install dnstracer") - elif opcion2 == "18": - cmd = os.system("apt-get install dnswalk") - elif opcion2 == "19": - cmd = os.system("apt-get install dotdotpwn") - elif opcion2 == "20": - cmd = os.system("apt-get install enum4linux") - elif opcion2 == "21": - cmd = os.system("apt-get install enumiax") - elif opcion2 == "22": - cmd = os.system("apt-get install exploitdb") - elif opcion2 == "23": - cmd = os.system("apt-get install fierce") - elif opcion2 == "24": - cmd = os.system("apt-get install firewalk") - elif opcion2 == "25": - cmd = os.system("apt-get install fragroute") - elif opcion2 == "26": - cmd = os.system("apt-get install fragrouter") - elif opcion2 == "27": - cmd = os.system("apt-get install ghost-phisher") - elif opcion2 == "28": - cmd = os.system("apt-get install golismero") - elif opcion2 == "29": - cmd = os.system("apt-get install goofile") - elif opcion2 == "30": - cmd = os.system("apt-get install lbd") - elif opcion2 == "31": - cmd = os.system("apt-get install maltego-teeth") - elif opcion2 == "32": - cmd = os.system("apt-get install masscan") - elif opcion2 == "33": - cmd = os.system("apt-get install metagoofil") - elif opcion2 == "34": - cmd = os.system("apt-get install miranda") - elif opcion2 == "35": - cmd = os.system("apt-get install nmap") - elif opcion2 == "36": - print ('ntop is unavailable') - elif opcion2 == "37": - cmd = os.system("apt-get install p0f") - elif opcion2 == "38": - cmd = os.system("apt-get install parsero") - elif opcion2 == "39": - cmd = os.system("apt-get install recon-ng") - elif opcion2 == "40": - cmd = os.system("apt-get install set") - elif opcion2 == "41": - cmd = os.system("apt-get install smtp-user-enum") - elif opcion2 == "42": - cmd = os.system("apt-get install snmpcheck") - elif opcion2 == "43": - cmd = os.system("apt-get install sslcaudit") - elif opcion2 == "44": - cmd = os.system("apt-get install sslsplit") - elif opcion2 == "45": - cmd = os.system("apt-get install sslstrip") - elif opcion2 == "46": - cmd = os.system("apt-get install sslyze") - elif opcion2 == "47": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "48": - cmd = os.system("apt-get install theharvester") - elif opcion2 == "49": - cmd = os.system("apt-get install tlssled") - elif opcion2 == "50": - cmd = os.system("apt-get install twofi") - elif opcion2 == "51": - cmd = os.system("apt-get install urlcrazy") - elif opcion2 == "52": - cmd = os.system("apt-get install wireshark") - elif opcion2 == "53": - cmd = os.system("apt-get install wol-e") - elif opcion2 == "54": - cmd = os.system("apt-get install xplico") - elif opcion2 == "55": - cmd = os.system("apt-get install ismtp") - elif opcion2 == "56": - cmd = os.system("apt-get install intrace") - elif opcion2 == "57": - cmd = os.system("apt-get install hping3") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - - - while opcion1 == "2": - print (''' -\033[1;36m=+[ Vulnerability Analysis\033[1;m - - 1) BBQSQL 18) Nmap - 2) BED 19)ohrwurm - 3) cisco-auditing-tool 20) openvas-administrator - 4) cisco-global-exploiter 21) openvas-cli - 5) cisco-ocs 22) openvas-manager - 6) cisco-torch 23) openvas-scanner - 7) copy-router-config 24) Oscanner - 8) commix 25) Powerfuzzer - 9) DBPwAudit 26) sfuzz -10) DoonaDot 27) SidGuesser -11) DotPwn 28) SIPArmyKnife -12) Greenbone Security Assistant 29) sqlmap -13) GSD 30) Sqlninja -14) HexorBase 31) sqlsus -15) Inguma 32) THC-IPV6 -16) jSQL 33) tnscmd10g -17) Lynis 34) unix-privesc-check - 35) Yersinia - -0) Install all Vulnerability Analysis tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install bbqsql") - - elif opcion2 == "2": - cmd = os.system("apt-get install bed") - - elif opcion2 == "3": - cmd = os.system("apt-get install cisco-auditing-tool") - elif opcion2 == "4": - cmd = os.system("apt-get install cisco-global-exploiter") - elif opcion2 == "5": - cmd = os.system("apt-get install cisco-ocs") - elif opcion2 == "6": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "7": - cmd = os.system("apt-get install copy-router-config") - elif opcion2 == "8": - cmd = os.system("apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "9": - cmd = os.system("echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") - elif opcion2 == "10": - cmd = os.system("apt-get install doona") - elif opcion2 == "11": - cmd = os.system("apt-get install dotdotpwn") - elif opcion2 == "12": - cmd = os.system("apt-get install greenbone-security-assistant") - elif opcion2 == "13": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/gsd.git") - elif opcion2 == "14": - cmd = os.system("apt-get install hexorbase") - elif opcion2 == "15": - print ("Please download inguma from : http://inguma.sourceforge.net") - elif opcion2 == "16": - cmd = os.system("apt-get install jsql") - elif opcion2 == "17": - cmd = os.system("apt-get install lynis") - elif opcion2 == "18": - cmd = os.system("apt-get install nmap") - elif opcion2 == "19": - cmd = os.system("apt-get install ohrwurm") - elif opcion2 == "20": - cmd = os.system("apt-get install openvas-administrator") - elif opcion2 == "21": - cmd = os.system("apt-get install openvas-cli") - elif opcion2 == "22": - cmd = os.system("apt-get install openvas-manager") - elif opcion2 == "23": - cmd = os.system("apt-get install openvas-scanner") - elif opcion2 == "24": - cmd = os.system("apt-get install oscanner") - elif opcion2 == "25": - cmd = os.system("apt-get install powerfuzzer") - elif opcion2 == "26": - cmd = os.system("apt-get install sfuzz") - elif opcion2 == "27": - cmd = os.system("apt-get install sidguesser") - elif opcion2 == "28": - cmd = os.system("apt-get install siparmyknife") - elif opcion2 == "29": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "30": - cmd = os.system("apt-get install sqlninja") - elif opcion2 == "31": - cmd = os.system("apt-get install sqlsus") - elif opcion2 == "32": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "33": - cmd = os.system("apt-get install tnscmd10g") - elif opcion2 == "34": - cmd = os.system("apt-get install unix-privesc-check") - elif opcion2 == "35": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "3": - print (''' - \033[1;36m=+[ Wireless Attacks\033[1;m - - 1) Aircrack-ng 17) kalibrate-rtl - 2) Asleap 18) KillerBee - 3) Bluelog 19) Kismet - 4) BlueMaho 20) mdk3 - 5) Bluepot 21) mfcuk - 6) BlueRanger 22) mfoc - 7) Bluesnarfer 23) mfterm - 8) Bully 24) Multimon-NG - 9) coWPAtty 25) PixieWPS -10) crackle 26) Reaver -11) eapmd5pass 27) redfang -12) Fern Wifi Cracker 28) RTLSDR Scanner -13) Ghost Phisher 29) Spooftooph -14) GISKismet 30) Wifi Honey 31) Wifitap -16) gr-scan 32) Wifite - -0) Install all Wireless Attacks tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install aircrack-ng") - - elif opcion2 == "2": - cmd = os.system("apt-get install asleap") - - elif opcion2 == "3": - cmd = os.system("apt-get install bluelog") - elif opcion2 == "4": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") - elif opcion2 == "5": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/bluepot.git") - elif opcion2 == "6": - cmd = os.system("apt-get install blueranger") - elif opcion2 == "7": - cmd = os.system("apt-get install bluesnarfer") - elif opcion2 == "8": - cmd = os.system("apt-get install bully") - elif opcion2 == "9": - cmd = os.system("apt-get install cowpatty") - elif opcion2 == "10": - cmd = os.system("apt-get install crackle") - elif opcion2 == "11": - cmd = os.system("apt-get install eapmd5pass") - elif opcion2 == "12": - cmd = os.system("apt-get install fern-wifi-cracker") - elif opcion2 == "13": - cmd = os.system("apt-get install ghost-phisher") - elif opcion2 == "14": - cmd = os.system("apt-get install giskismet") - elif opcion2 == "16": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") - elif opcion2 == "17": - cmd = os.system("apt-get install kalibrate-rtl") - elif opcion2 == "18": - cmd = os.system("apt-get install killerbee") - elif opcion2 == "19": - cmd = os.system("apt-get install kismet") - elif opcion2 == "20": - cmd = os.system("apt-get install mdk3") - elif opcion2 == "21": - cmd = os.system("apt-get install mfcuk") - elif opcion2 == "22": - cmd = os.system("apt-get install mfoc") - elif opcion2 == "23": - cmd = os.system("apt-get install mfterm") - elif opcion2 == "24": - cmd = os.system("apt-get install multimon-ng") - elif opcion2 == "25": - cmd = os.system("apt-get install pixiewps") - elif opcion2 == "26": - cmd = os.system("apt-get install reaver") - elif opcion2 == "27": - cmd = os.system("apt-get install redfang") - elif opcion2 == "28": - cmd = os.system("apt-get install rtlsdr-scanner") - elif opcion2 == "29": - cmd = os.system("apt-get install spooftooph") - elif opcion2 == "30": - cmd = os.system("apt-get install wifi-honey") - elif opcion2 == "31": - cmd = os.system("apt-get install wifitap") - elif opcion2 == "32": - cmd = os.system("apt-get install wifite") - elif opcion2 == "0": - cmd = os.system("apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "4": - print (''' -\033[1;36m=+[ Web Applications\033[1;m - - 1) apache-users 21) Parsero - 2) Arachni 22) plecost - 3) BBQSQL 23) Powerfuzzer - 4) BlindElephant 24) ProxyStrike - 5) Burp Suite 25) Recon-ng - 6) commix 26) Skipfish - 7) CutyCapt 27) sqlmap - 8) DAVTest 28) Sqlninja - 9) deblaze 29) sqlsus -10) DIRB 30) ua-tester -11) DirBuster 31) Uniscan -12) fimap 32) Vega -13) FunkLoad 33) w3af -14) Grabber 34) WebScarab -15) jboss-autopwn 35) Webshag -16) joomscan 36) WebSlayer -17) jSQL 37) WebSploit -18) Maltego Teeth 38) Wfuzz -19) PadBuster 39) WPScan -20) Paros 40) XSSer - 41) zaproxy - -0) Install all Web Applications tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - - - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install apache-users") - - elif opcion2 == "2": - cmd = os.system("apt-get install arachni") - - elif opcion2 == "3": - cmd = os.system("apt-get install bbqsql") - elif opcion2 == "4": - cmd = os.system("apt-get install blindelephant") - elif opcion2 == "5": - cmd = os.system("apt-get install burpsuite") - elif opcion2 == "6": - cmd = os.system("apt-get install cutycapt") - elif opcion2 == "7": - cmd = os.system("apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "8": - cmd = os.system("apt-get install davtest") - elif opcion2 == "9": - cmd = os.system("apt-get install deblaze") - elif opcion2 == "10": - cmd = os.system("apt-get install dirb") - elif opcion2 == "11": - cmd = os.system("apt-get install dirbuster") - elif opcion2 == "12": - cmd = os.system("apt-get install fimap") - elif opcion2 == "13": - cmd = os.system("apt-get install funkload") - elif opcion2 == "14": - cmd = os.system("apt-get install grabber") - elif opcion2 == "15": - cmd = os.system("apt-get install jboss-autopwn") - elif opcion2 == "16": - cmd = os.system("apt-get install joomscan") - elif opcion2 == "17": - cmd = os.system("apt-get install jsql") - elif opcion2 == "18": - cmd = os.system("apt-get install maltego-teeth") - elif opcion2 == "19": - cmd = os.system("apt-get install padbuster") - elif opcion2 == "20": - cmd = os.system("apt-get install paros") - elif opcion2 == "21": - cmd = os.system("apt-get install parsero") - elif opcion2 == "22": - cmd = os.system("apt-get install plecost") - elif opcion2 == "23": - cmd = os.system("apt-get install powerfuzzer") - elif opcion2 == "24": - cmd = os.system("apt-get install proxystrike") - elif opcion2 == "25": - cmd = os.system("apt-get install recon-ng") - elif opcion2 == "26": - cmd = os.system("apt-get install skipfish") - elif opcion2 == "27": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "28": - cmd = os.system("apt-get install sqlninja") - elif opcion2 == "29": - cmd = os.system("apt-get install sqlsus") - elif opcion2 == "30": - cmd = os.system("apt-get install ua-tester") - elif opcion2 == "31": - cmd = os.system("apt-get install uniscan") - elif opcion2 == "32": - cmd = os.system("apt-get install vega") - elif opcion2 == "33": - cmd = os.system("apt-get install w3af") - elif opcion2 == "34": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "35": - print ("Webshag is unavailable") - elif opcion2 == "36": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/webslayer.git") - elif opcion2 == "37": - cmd = os.system("apt-get install websploit") - elif opcion2 == "38": - cmd = os.system("apt-get install wfuzz") - elif opcion2 == "39": - cmd = os.system("apt-get install wpscan") - elif opcion2 == "40": - cmd = os.system("apt-get install xsser") - elif opcion2 == "41": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "5": - print (''' -\033[1;36m=+[ Sniffing & Spoofing\033[1;m - - 1) Burp Suite 17) rtpmixsound - 2) DNSChef 18) sctpscan - 3) fiked 19) SIPArmyKnife - 4) hamster-sidejack 20) SIPp - 5) HexInject 21) SIPVicious - 6) iaxflood 22) SniffJoke - 7) inviteflood 23) SSLsplit - 8) iSMTP 24) sslstrip - 9) isr-evilgrade 25) THC-IPV6 -10) mitmproxy 26) VoIPHopper -11) ohrwurm 27) WebScarab -12) protos-sip 28) Wifi Honey -13) rebind 29) Wireshark -14) responder 30) xspy -15) rtpbreak 31) Yersinia -16) rtpinsertsound 32) zaproxy - -0) Install all Sniffing & Spoofing tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install burpsuite") - - elif opcion2 == "2": - cmd = os.system("apt-get install dnschef") - - elif opcion2 == "3": - cmd = os.system("apt-get install fiked") - elif opcion2 == "4": - cmd = os.system("apt-get install hamster-sidejack") - elif opcion2 == "5": - cmd = os.system("apt-get install hexinject") - elif opcion2 == "6": - cmd = os.system("apt-get install iaxflood") - elif opcion2 == "7": - cmd = os.system("apt-get install inviteflood") - elif opcion2 == "8": - cmd = os.system("apt-get install ismtp") - elif opcion2 == "9": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") - elif opcion2 == "10": - cmd = os.system("apt-get install mitmproxy") - elif opcion2 == "11": - cmd = os.system("apt-get install ohrwurm") - elif opcion2 == "12": - cmd = os.system("apt-get install protos-sip") - elif opcion2 == "13": - cmd = os.system("apt-get install rebind") - elif opcion2 == "14": - cmd = os.system("apt-get install responder") - elif opcion2 == "15": - cmd = os.system("apt-get install rtpbreak") - elif opcion2 == "16": - cmd = os.system("apt-get install rtpinsertsound") - elif opcion2 == "17": - cmd = os.system("apt-get install rtpmixsound") - elif opcion2 == "18": - cmd = os.system("apt-get install sctpscan") - elif opcion2 == "19": - cmd = os.system("apt-get install siparmyknife") - elif opcion2 == "20": - cmd = os.system("apt-get install sipp") - elif opcion2 == "21": - cmd = os.system("apt-get install sipvicious") - elif opcion2 == "22": - cmd = os.system("apt-get install sniffjoke") - elif opcion2 == "23": - cmd = os.system("apt-get install sslsplit") - elif opcion2 == "24": - cmd = os.system("apt-get install sslstrip") - elif opcion2 == "25": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "26": - cmd = os.system("apt-get install voiphopper") - elif opcion2 == "27": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "28": - cmd = os.system("apt-get install wifi-honey") - elif opcion2 == "29": - cmd = os.system("apt-get install wireshark") - elif opcion2 == "30": - cmd = os.system("apt-get install xspy") - elif opcion2 == "31": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "32": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - - - elif opcion2 == "0": - cmd = os.system("apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "6": - print (''' -\033[1;36m=+[ Maintaining Access\033[1;m - - 1) CryptCat - 2) Cymothoa - 3) dbd - 4) dns2tcp - 5) http-tunnel - 6) HTTPTunnel - 7) Intersect - 8) Nishang - 9) polenum -10) PowerSploit -11) pwnat -12) RidEnum -13) sbd -14) U3-Pwn -15) Webshells -16) Weevely - -0) Install all Maintaining Access tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install cryptcat") - - elif opcion2 == "2": - cmd = os.system("apt-get install cymothoa") - - elif opcion2 == "3": - cmd = os.system("apt-get install dbd") - elif opcion2 == "4": - cmd = os.system("apt-get install dns2tcp") - elif opcion2 == "5": - cmd = os.system("apt-get install http-tunnel") - elif opcion2 == "6": - cmd = os.system("apt-get install httptunnel") - elif opcion2 == "7": - cmd = os.system("apt-get install intersect") - elif opcion2 == "8": - cmd = os.system("apt-get install nishang") - elif opcion2 == "9": - cmd = os.system("apt-get install polenum") - elif opcion2 == "10": - cmd = os.system("apt-get install powersploit") - elif opcion2 == "11": - cmd = os.system("apt-get install pwnat") - elif opcion2 == "12": - cmd = os.system("apt-get install ridenum") - elif opcion2 == "13": - cmd = os.system("apt-get install sbd") - elif opcion2 == "14": - cmd = os.system("apt-get install u3-pwn") - elif opcion2 == "15": - cmd = os.system("apt-get install webshells") - elif opcion2 == "16": - cmd = os.system("apt-get install weevely") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "7": - print (''' -\033[1;36m=+[ Reporting Tools\033[1;m - -1) CaseFile -2) CutyCapt -3) dos2unix -4) Dradis -5) KeepNote -6) MagicTree -7) Metagoofil -8) Nipper-ng -9) pipal - -0) Install all Reporting Tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install casefile") - - elif opcion2 == "2": - cmd = os.system("apt-get install cutycapt") - - elif opcion2 == "3": - cmd = os.system("apt-get install dos2unix") - elif opcion2 == "4": - cmd = os.system("apt-get install dradis") - elif opcion2 == "5": - cmd = os.system("apt-get install keepnote") - elif opcion2 == "6": - cmd = os.system("apt-get install magictree") - elif opcion2 == "7": - cmd = os.system("apt-get install metagoofil") - elif opcion2 == "8": - cmd = os.system("apt-get install nipper-ng") - elif opcion2 == "9": - cmd = os.system("apt-get install pipal") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "8": - print (''' -\033[1;36m=+[ Exploitation Tools\033[1;m - - 1) Armitage - 2) Backdoor Factory - 3) BeEF - 4) cisco-auditing-tool - 5) cisco-global-exploiter - 6) cisco-ocs - 7) cisco-torch - 8) commix - 9) crackle -10) jboss-autopwn -11) Linux Exploit Suggester -12) Maltego Teeth -13) SET -14) ShellNoob -15) sqlmap -16) THC-IPV6 -17) Yersinia - -0) Install all Exploitation Tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install armitage") - - elif opcion2 == "2": - cmd = os.system("apt-get install backdoor-factory") - - elif opcion2 == "3": - cmd = os.system("apt-get install beef-xss") - elif opcion2 == "4": - cmd = os.system("apt-get install cisco-auditing-tool") - elif opcion2 == "5": - cmd = os.system("apt-get install cisco-global-exploiter") - elif opcion2 == "6": - cmd = os.system("apt-get install cisco-ocs") - elif opcion2 == "7": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "8": - cmd = os.system("apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "9": - cmd = os.system("apt-get install crackle") - elif opcion2 == "10": - cmd = os.system("apt-get install jboss-autopwn") - elif opcion2 == "11": - cmd = os.system("apt-get install linux-exploit-suggester") - elif opcion2 == "12": - cmd = os.system("apt-get install maltego-teeth") - elif opcion2 == "13": - cmd = os.system("apt-get install set") - elif opcion2 == "14": - cmd = os.system("apt-get install shellnoob") - elif opcion2 == "15": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "16": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "17": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "9": - print (''' -\033[1;36m=+[ Forensics Tools\033[1;m - - 1) Binwalk 11) extundelete - 2) bulk-extractor 12) Foremost - 3) Capstone 13) Galleta - 4) chntpw 14) Guymager - 5) Cuckoo 15) iPhone Backup Analyzer - 6) dc3dd 16) p0f - 7) ddrescue 17) pdf-parser - 8) DFF 18) pdfid - 9) diStorm3 19) pdgmail -10) Dumpzilla 20) peepdf - 21) RegRipper - 22) Volatility - 23) Xplico - -0) Install all Forensics Tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install binwalk") - - elif opcion2 == "2": - cmd = os.system("apt-get install bulk-extractor") - - elif opcion2 == "3": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/capstone.git") - elif opcion2 == "4": - cmd = os.system("apt-get install chntpw") - elif opcion2 == "5": - cmd = os.system("apt-get install cuckoo") - elif opcion2 == "6": - cmd = os.system("apt-get install dc3dd") - elif opcion2 == "7": - cmd = os.system("apt-get install ddrescue") - elif opcion2 == "8": - print ('dff is unavailable') - elif opcion2 == "9": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/distorm3.git") - elif opcion2 == "10": - cmd = os.system("apt-get install dumpzilla") - elif opcion2 == "11": - cmd = os.system("apt-get install extundelete") - elif opcion2 == "12": - cmd = os.system("apt-get install foremost") - elif opcion2 == "13": - cmd = os.system("apt-get install galleta") - elif opcion2 == "14": - cmd = os.system("apt-get install guymager") - elif opcion2 == "15": - cmd = os.system("apt-get install iphone-backup-analyzer") - elif opcion2 == "16": - cmd = os.system("apt-get install p0f") - elif opcion2 == "17": - cmd = os.system("apt-get install pdf-parser") - elif opcion2 == "18": - cmd = os.system("apt-get install pdfid") - elif opcion2 == "19": - cmd = os.system("apt-get install pdgmail") - elif opcion2 == "20": - cmd = os.system("apt-get install peepdf") - elif opcion2 == "21": - print ("Regripper is unavailable") - elif opcion2 == "22": - cmd = os.system("apt-get install volatility") - elif opcion2 == "23": - cmd = os.system("apt-get install xplico") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "10": - print (''' -\033[1;36m=+[ Stress Testing\033[1;m - - 1) DHCPig - 2) FunkLoad - 3) iaxflood - 4) Inundator - 5) inviteflood - 6) ipv6-toolkit - 7) mdk3 - 8) Reaver - 9) rtpflood -10) SlowHTTPTest -11) t50 -12) Termineter -13) THC-IPV6 -14) THC-SSL-DOS - -0) Install all Stress Testing tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install dhcpig") - - elif opcion2 == "2": - cmd = os.system("apt-get install funkload") - - elif opcion2 == "3": - cmd = os.system("apt-get install iaxflood") - elif opcion2 == "4": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/inundator.git") - elif opcion2 == "5": - cmd = os.system("apt-get install inviteflood") - elif opcion2 == "6": - cmd = os.system("apt-get install ipv6-toolkit") - elif opcion2 == "7": - cmd = os.system("apt-get install mdk3") - elif opcion2 == "8": - cmd = os.system("apt-get install reaver") - elif opcion2 == "9": - cmd = os.system("apt-get install rtpflood") - elif opcion2 == "10": - cmd = os.system("apt-get install slowhttptest") - elif opcion2 == "11": - cmd = os.system("apt-get install t50") - elif opcion2 == "12": - cmd = os.system("apt-get install termineter") - elif opcion2 == "13": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "14": - cmd = os.system("apt-get install thc-ssl-dos ") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "11": - print (''' -\033[1;36m=+[ Password Attacks\033[1;m - - 1) acccheck 19) Maskprocessor - 2) Burp Suite 20) multiforcer - 3) CeWL 21) Ncrack - 4) chntpw 22) oclgausscrack - 5) cisco-auditing-tool 23) PACK - 6) CmosPwd 24) patator - 7) creddump 25) phrasendrescher - 8) crunch 26) polenum - 9) DBPwAudit 27) RainbowCrack -10) findmyhash 28) rcracki-mt -11) gpp-decrypt 29) RSMangler -12) hash-identifier 30) SQLdict -13) HexorBase 31) Statsprocessor -14) THC-Hydra 32) THC-pptp-bruter -15) John the Ripper 33) TrueCrack -16) Johnny 34) WebScarab -17) keimpx 35) wordlists -18) Maltego Teeth 36) zaproxy - -0) Install all Password Attacks tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install acccheck") - - elif opcion2 == "2": - cmd = os.system("apt-get install burpsuite") - - elif opcion2 == "3": - cmd = os.system("apt-get install cewl") - elif opcion2 == "4": - cmd = os.system("apt-get install chntpw") - elif opcion2 == "5": - cmd = os.system("apt-get install cisco-auditing-tool") - elif opcion2 == "6": - cmd = os.system("apt-get install cmospwd") - elif opcion2 == "7": - cmd = os.system("apt-get install creddump") - elif opcion2 == "8": - cmd = os.system("apt-get install crunch") - elif opcion2 == "9": - cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") - elif opcion2 == "10": - cmd = os.system("apt-get install findmyhash") - elif opcion2 == "11": - cmd = os.system("apt-get install gpp-decrypt") - elif opcion2 == "12": - cmd = os.system("apt-get install hash-identifier") - elif opcion2 == "13": - cmd = os.system("apt-get install hexorbase") - elif opcion2 == "14": - cmd = os.system("echo 'please visit : https://www.thc.org/thc-hydra/' ") - elif opcion2 == "15": - cmd = os.system("apt-get install john") - elif opcion2 == "16": - cmd = os.system("apt-get install johnny") - elif opcion2 == "17": - cmd = os.system("apt-get install keimpx") - elif opcion2 == "18": - cmd = os.system("apt-get install maltego-teeth") - elif opcion2 == "19": - cmd = os.system("apt-get install maskprocessor") - elif opcion2 == "20": - cmd = os.system("apt-get install multiforcer") - elif opcion2 == "21": - cmd = os.system("apt-get install ncrack") - elif opcion2 == "22": - cmd = os.system("apt-get install oclgausscrack") - elif opcion2 == "23": - cmd = os.system("apt-get install pack") - elif opcion2 == "24": - cmd = os.system("apt-get install patator") - elif opcion2 == "25": - cmd = os.system("echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") - elif opcion2 == "26": - cmd = os.system("apt-get install polenum") - elif opcion2 == "27": - cmd = os.system("apt-get install rainbowcrack") - elif opcion2 == "28": - cmd = os.system("apt-get install rcracki-mt") - elif opcion2 == "29": - cmd = os.system("apt-get install rsmangler") - elif opcion2 == "30": - print ("Sqldict is unavailable") - elif opcion2 == "31": - cmd = os.system("apt-get install statsprocessor") - elif opcion2 == "32": - cmd = os.system("apt-get install thc-pptp-bruter") - elif opcion2 == "33": - cmd = os.system("apt-get install truecrack") - elif opcion2 == "34": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "35": - cmd = os.system("apt-get install wordlists") - elif opcion2 == "36": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "12" : - print (''' -\033[1;36m=+[ Reverse Engineering\033[1;m - - 1) apktool - 2) dex2jar - 3) diStorm3 - 4) edb-debugger - 5) jad - 6) javasnoop - 7) JD-GUI - 8) OllyDbg - 9) smali -10) Valgrind -11) YARA - -0) Install all Reverse Engineering tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install apktool") - - elif opcion2 == "2": - cmd = os.system("apt-get install dex2jar") - - elif opcion2 == "3": - cmd = os.system("apt-get install python-diStorm3") - elif opcion2 == "4": - cmd = os.system("apt-get install edb-debugger") - elif opcion2 == "5": - cmd = os.system("apt-get install jad") - elif opcion2 == "6": - cmd = os.system("apt-get install javasnoop") - elif opcion2 == "7": - cmd = os.system("apt-get install JD") - elif opcion2 == "8": - cmd = os.system("apt-get install OllyDbg") - elif opcion2 == "9": - cmd = os.system("apt-get install smali") - elif opcion2 == "10": - cmd = os.system("apt-get install Valgrind") - elif opcion2 == "11": - cmd = os.system("apt-get install YARA") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "13" : - print (''' -\033[1;36m=+[ Hardware Hacking\033[1;m - - 1) android-sdk - 2) apktool - 3) Arduino - 4) dex2jar - 5) Sakis3G - 6) smali - -0) Install all Hardware Hacking tools - - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install android-sdk") - - elif opcion2 == "2": - cmd = os.system("apt-get install apktool") - - elif opcion2 == "3": - cmd = os.system("apt-get install arduino") - elif opcion2 == "4": - cmd = os.system("apt-get install dex2jar") - elif opcion2 == "5": - cmd = os.system("apt-get install sakis3g") - elif opcion2 == "6": - cmd = os.system("apt-get install smali") - - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") - else: - print ("\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "14" : - print (''' -\033[1;36m=+[ Extra\033[1;m - -1) Wifresti -2) Squid3 - ''') - print ("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") - print (" ") - elif opcion2 == "2": - cmd = os.system("apt-get install squid3") - print (" ") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - - inicio() - inicio1() - except KeyboardInterrupt: - print ("Shutdown requested...Goodbye...") - except Exception: - traceback.print_exc(file=sys.stdout) - sys.exit(0) - -if __name__ == "__main__": - main() diff --git a/katoolin3.py b/katoolin3.py new file mode 100755 index 0000000..d234299 --- /dev/null +++ b/katoolin3.py @@ -0,0 +1,1444 @@ +#!/usr/bin/python3 + +import os +import sys +import traceback + + +def setup(): + if os.geteuid() != 0: + print( + "You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") + sys.exit() + else: + os.system("clear") + + +def help_menu(): + print("****************** +Commands+ ******************\n") + print("\033[1;32mback\033[1;m \033[1;33mGo back\033[1;m") + print("\033[1;32mgohome\033[1;m \033[1;33mGo to the main menu\033[1;m") + print("\033[1;32mhelp\033[1;m \033[1;33mShow this help menu\033[1;m") + print("\033[1;32mExit\033[1;m \033[1;33mExit the script\033[1;m") + + +def main_menu(): + print("") + print(" $$\ $$\ $$\ $$\ $$\ $$$$$$\ ") + print(" $$ | $$ | $$ | $$ |\__| $$ ___$$\ ") + print(" $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ |") + print(" $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / ") + print(" $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ ") + print(" \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ |") + print(" $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ |") + print(" \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m") + print("") + print("") + print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") + print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: Nysioko\033[1;m") + print(" \033[1;32m+ -- -- +=[ Latest update: 17/05/2022\033[1;m") + print("") + print("") + print("\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to " + "avoid any kind of problem.\033[1;m") + print("\033[1;91m[W] In some cases, Kali-Linux repositories can destabilize your system or worse, completely " + "destroy it.\033[1;m") + print("") + + +def main(): + try: + setup() + main_menu() + + def initio1(): + while True: + print("1) Add Kali repositories & Update") + print("2) View Categories") + print("3) Install classicmenu indicator") + print("4) Install Kali menu") + print("5) Help") + print("") + + option0 = input("\033[1;36mkat > \033[1;m") + if option0 == "exit" or option0 == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + while option0 == "1": + print("") + print("1) Add kali linux repositories") + print("2) Update") + print("3) Remove all kali linux repositories") + print("4) View the contents of sources.list file") + print("") + repo = input( + "\033[1;32mWhat do you want to do ?> \033[1;m") + if repo == "1": + cmd1 = os.system( + "wget -q -O - archive.kali.org/archive-key.asc | sudo apt-key add") + cmd2 = os.system( + "echo '# Kali linux repositories | Added by Katoolin\ndeb http://http.kali.org/kali " + "kali-rolling main contrib non-free' >> /etc/apt/sources.list") + elif repo == "2": + cmd3 = os.system("apt-get update -m") + elif repo == "3": + infile = '/etc/apt/sources.list' + outfile: str = "/etc/apt/sources.list" + + delete_list: list[str] = ["# Kali linux repositories | Added by Katoolin\n", + "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"] + fin = open(infile) + os.remove("/etc/apt/sources.list") + out = open(outfile, "w+") + for line in fin: + for word in delete_list: + line = line.replace(word, "") + out.write(line) + fin.close() + out.close() + print( + "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") + elif repo == "back": + initio1() + elif repo == "gohome": + initio1() + elif repo == "exit" or repo == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif repo == "4": + file = open('/etc/apt/sources.list', 'r') + + print(file.read()) + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + if option0 == "3": + print(''' +ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. + +It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. + +Like the classic GNOME menu, it includes Wine games and applications if you have those installed. + +For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ + +''') + repo = input( + "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system( + "add-apt-repository ppa:diesch/testing && apt-get update") + cmd = os.system( + "sudo apt-get install classicmenu-indicator") + elif option0 == "help": + print("") + help_menu() + elif option0 == "4": + repo = input( + "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system("apt-get install kali-menu") + elif option0 == "5": + help_menu() + + def inicio(): + while option0 == "2": + print(''' +\033[1;36m**************************** All Categories *****************************\033[1;m + +1) Information Gathering 8) Exploitation Tools +2) Vulnerability Analysis 9) Forensics Tools +3) Wireless Attacks 10) Stress Testing +4) Web Applications 11) Password Attacks +5) Sniffing & Spoofing 12) Reverse Engineering +6) Maintaining Access 13) Hardware Hacking +7) Reporting Tools 14) Extra + +0) All + + ''') + print( + "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") + + opcion1 = input("\033[1;36mkat > \033[1;m") + if opcion1 == "back": + initio1() + elif opcion1 == "gohome": + initio1() + elif opcion1 == "exit" or opcion1 == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif opcion1 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + elif opcion1 == "0": + cmd = os.system( + "apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + while opcion1 == "1": + print(''' +\033[1;36m=+[ Information Gathering\033[1;m + + 1) acccheck 30) lbd + 2) ace-voip 31) Maltego Teeth + 3) Amap 32) masscan + 4) Automater 33) Metagoofil + 5) bing-ip2hosts 34) Miranda + 6) braa 35) Nmap + 7) CaseFile 36) ntop + 8) CDPSnarf 37) p0f + 9) cisco-torch 38) Parsero +10) Cookie Cadger 39) Recon-ng +11) copy-router-config 40) SET +12) DMitry 41) smtp-user-enum +13) dnmap 42) snmpcheck +14) dnsenum 43) sslcaudit +15) dnsmap 44) SSLsplit +16) DNSRecon 45) sslstrip +17) dnstracer 46) SSLyze +18) dnswalk 47) THC-IPV6 +19) DotDotPwn 48) theHarvester +20) enum4linux 49) TLSSLed +21) enumIAX 50) twofi +22) exploitdb 51) URLCrazy +23) Fierce 52) Wireshark +24) Firewalk 53) WOL-E +25) fragroute 54) Xplico +26) fragrouter 55) iSMTP +27) Ghost Phisher 56) InTrace +28) GoLismero 57) hping3 +29) goofile + +0) Install all Information Gathering tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install acccheck") + + elif option2 == "2": + cmd = os.system("apt-get install ace-voip") + + elif option2 == "3": + cmd = os.system("apt-get install amap") + elif option2 == "4": + cmd = os.system("apt-get install automater") + elif option2 == "5": + cmd = os.system( + "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + elif option2 == "6": + cmd = os.system("apt-get install braa") + elif option2 == "7": + cmd = os.system("apt-get install casefile") + elif option2 == "8": + cmd = os.system("apt-get install cdpsnarf") + elif option2 == "9": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "10": + cmd = os.system( + "apt-get install cookie-cadger") + elif option2 == "11": + cmd = os.system( + "apt-get install copy-router-config") + elif option2 == "12": + cmd = os.system("apt-get install dmitry") + elif option2 == "13": + cmd = os.system("apt-get install dnmap") + elif option2 == "14": + cmd = os.system("apt-get install dnsenum") + elif option2 == "15": + cmd = os.system("apt-get install dnsmap") + elif option2 == "16": + cmd = os.system("apt-get install dnsrecon") + elif option2 == "17": + cmd = os.system("apt-get install dnstracer") + elif option2 == "18": + cmd = os.system("apt-get install dnswalk") + elif option2 == "19": + cmd = os.system("apt-get install dotdotpwn") + elif option2 == "20": + cmd = os.system("apt-get install enum4linux") + elif option2 == "21": + cmd = os.system("apt-get install enumiax") + elif option2 == "22": + cmd = os.system("apt-get install exploitdb") + elif option2 == "23": + cmd = os.system("apt-get install fierce") + elif option2 == "24": + cmd = os.system("apt-get install firewalk") + elif option2 == "25": + cmd = os.system("apt-get install fragroute") + elif option2 == "26": + cmd = os.system("apt-get install fragrouter") + elif option2 == "27": + cmd = os.system( + "apt-get install ghost-phisher") + elif option2 == "28": + cmd = os.system("apt-get install golismero") + elif option2 == "29": + cmd = os.system("apt-get install goofile") + elif option2 == "30": + cmd = os.system("apt-get install lbd") + elif option2 == "31": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "32": + cmd = os.system("apt-get install masscan") + elif option2 == "33": + cmd = os.system("apt-get install metagoofil") + elif option2 == "34": + cmd = os.system("apt-get install miranda") + elif option2 == "35": + cmd = os.system("apt-get install nmap") + elif option2 == "36": + print('ntop is unavailable') + elif option2 == "37": + cmd = os.system("apt-get install p0f") + elif option2 == "38": + cmd = os.system("apt-get install parsero") + elif option2 == "39": + cmd = os.system("apt-get install recon-ng") + elif option2 == "40": + cmd = os.system("apt-get install set") + elif option2 == "41": + cmd = os.system( + "apt-get install smtp-user-enum") + elif option2 == "42": + cmd = os.system("apt-get install snmpcheck") + elif option2 == "43": + cmd = os.system("apt-get install sslcaudit") + elif option2 == "44": + cmd = os.system("apt-get install sslsplit") + elif option2 == "45": + cmd = os.system("apt-get install sslstrip") + elif option2 == "46": + cmd = os.system("apt-get install sslyze") + elif option2 == "47": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "48": + cmd = os.system("apt-get install theharvester") + elif option2 == "49": + cmd = os.system("apt-get install tlssled") + elif option2 == "50": + cmd = os.system("apt-get install twofi") + elif option2 == "51": + cmd = os.system("apt-get install urlcrazy") + elif option2 == "52": + cmd = os.system("apt-get install wireshark") + elif option2 == "53": + cmd = os.system("apt-get install wol-e") + elif option2 == "54": + cmd = os.system("apt-get install xplico") + elif option2 == "55": + cmd = os.system("apt-get install ismtp") + elif option2 == "56": + cmd = os.system("apt-get install intrace") + elif option2 == "57": + cmd = os.system("apt-get install hping3") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + elif option2 == "0": + cmd = os.system( + "apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "2": + print(''' +\033[1;36m=+[ Vulnerability Analysis\033[1;m + + 1) BBQSQL 18) Nmap + 2) BED 19)ohrwurm + 3) cisco-auditing-tool 20) openvas-administrator + 4) cisco-global-exploiter 21) openvas-cli + 5) cisco-ocs 22) openvas-manager + 6) cisco-torch 23) openvas-scanner + 7) copy-router-config 24) Oscanner + 8) commix 25) Powerfuzzer + 9) DBPwAudit 26) sfuzz +10) DoonaDot 27) SidGuesser +11) DotPwn 28) SIPArmyKnife +12) Greenbone Security Assistant 29) sqlmap +13) GSD 30) Sqlninja +14) HexorBase 31) sqlsus +15) Inguma 32) THC-IPV6 +16) jSQL 33) tnscmd10g +17) Lynis 34) unix-privesc-check + 35) Yersinia + +0) Install all Vulnerability Analysis tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install bbqsql") + + elif option2 == "2": + cmd = os.system("apt-get install bed") + + elif option2 == "3": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "4": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif option2 == "5": + cmd = os.system("apt-get install cisco-ocs") + elif option2 == "6": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "7": + cmd = os.system( + "apt-get install copy-router-config") + elif option2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "9": + cmd = os.system( + "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") + elif option2 == "10": + cmd = os.system("apt-get install doona") + elif option2 == "11": + cmd = os.system("apt-get install dotdotpwn") + elif option2 == "12": + cmd = os.system( + "apt-get install greenbone-security-assistant") + elif option2 == "13": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gsd.git") + elif option2 == "14": + cmd = os.system("apt-get install hexorbase") + elif option2 == "15": + print( + "Please download inguma from : http://inguma.sourceforge.net") + elif option2 == "16": + cmd = os.system("apt-get install jsql") + elif option2 == "17": + cmd = os.system("apt-get install lynis") + elif option2 == "18": + cmd = os.system("apt-get install nmap") + elif option2 == "19": + cmd = os.system("apt-get install ohrwurm") + elif option2 == "20": + cmd = os.system( + "apt-get install openvas-administrator") + elif option2 == "21": + cmd = os.system("apt-get install openvas-cli") + elif option2 == "22": + cmd = os.system( + "apt-get install openvas-manager") + elif option2 == "23": + cmd = os.system( + "apt-get install openvas-scanner") + elif option2 == "24": + cmd = os.system("apt-get install oscanner") + elif option2 == "25": + cmd = os.system("apt-get install powerfuzzer") + elif option2 == "26": + cmd = os.system("apt-get install sfuzz") + elif option2 == "27": + cmd = os.system("apt-get install sidguesser") + elif option2 == "28": + cmd = os.system("apt-get install siparmyknife") + elif option2 == "29": + cmd = os.system("apt-get install sqlmap") + elif option2 == "30": + cmd = os.system("apt-get install sqlninja") + elif option2 == "31": + cmd = os.system("apt-get install sqlsus") + elif option2 == "32": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "33": + cmd = os.system("apt-get install tnscmd10g") + elif option2 == "34": + cmd = os.system( + "apt-get install unix-privesc-check") + elif option2 == "35": + cmd = os.system("apt-get install yersinia") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "3": + print(''' + \033[1;36m=+[ Wireless Attacks\033[1;m + + 1) Aircrack-ng 17) kalibrate-rtl + 2) Asleap 18) KillerBee + 3) Bluelog 19) Kismet + 4) BlueMaho 20) mdk3 + 5) Bluepot 21) mfcuk + 6) BlueRanger 22) mfoc + 7) Bluesnarfer 23) mfterm + 8) Bully 24) Multimon-NG + 9) coWPAtty 25) PixieWPS +10) crackle 26) Reaver +11) eapmd5pass 27) redfang +12) Fern Wifi Cracker 28) RTLSDR Scanner +13) Ghost Phisher 29) Spooftooph +14) GISKismet 30) Wifi Honey 31) Wifitap +16) gr-scan 32) Wifite + +0) Install all Wireless Attacks tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install aircrack-ng") + + elif option2 == "2": + cmd = os.system("apt-get install asleap") + + elif option2 == "3": + cmd = os.system("apt-get install bluelog") + elif option2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") + elif option2 == "5": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") + elif option2 == "6": + cmd = os.system("apt-get install blueranger") + elif option2 == "7": + cmd = os.system("apt-get install bluesnarfer") + elif option2 == "8": + cmd = os.system("apt-get install bully") + elif option2 == "9": + cmd = os.system("apt-get install cowpatty") + elif option2 == "10": + cmd = os.system("apt-get install crackle") + elif option2 == "11": + cmd = os.system("apt-get install eapmd5pass") + elif option2 == "12": + cmd = os.system( + "apt-get install fern-wifi-cracker") + elif option2 == "13": + cmd = os.system( + "apt-get install ghost-phisher") + elif option2 == "14": + cmd = os.system("apt-get install giskismet") + elif option2 == "16": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") + elif option2 == "17": + cmd = os.system( + "apt-get install kalibrate-rtl") + elif option2 == "18": + cmd = os.system("apt-get install killerbee") + elif option2 == "19": + cmd = os.system("apt-get install kismet") + elif option2 == "20": + cmd = os.system("apt-get install mdk3") + elif option2 == "21": + cmd = os.system("apt-get install mfcuk") + elif option2 == "22": + cmd = os.system("apt-get install mfoc") + elif option2 == "23": + cmd = os.system("apt-get install mfterm") + elif option2 == "24": + cmd = os.system("apt-get install multimon-ng") + elif option2 == "25": + cmd = os.system("apt-get install pixiewps") + elif option2 == "26": + cmd = os.system("apt-get install reaver") + elif option2 == "27": + cmd = os.system("apt-get install redfang") + elif option2 == "28": + cmd = os.system( + "apt-get install rtlsdr-scanner") + elif option2 == "29": + cmd = os.system("apt-get install spooftooph") + elif option2 == "30": + cmd = os.system("apt-get install wifi-honey") + elif option2 == "31": + cmd = os.system("apt-get install wifitap") + elif option2 == "32": + cmd = os.system("apt-get install wifite") + elif option2 == "0": + cmd = os.system( + "apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "4": + print(''' +\033[1;36m=+[ Web Applications\033[1;m + + 1) apache-users 21) Parsero + 2) Arachni 22) plecost + 3) BBQSQL 23) Powerfuzzer + 4) BlindElephant 24) ProxyStrike + 5) Burp Suite 25) Recon-ng + 6) commix 26) Skipfish + 7) CutyCapt 27) sqlmap + 8) DAVTest 28) Sqlninja + 9) deblaze 29) sqlsus +10) DIRB 30) ua-tester +11) DirBuster 31) Uniscan +12) fimap 32) Vega +13) FunkLoad 33) w3af +14) Grabber 34) WebScarab +15) jboss-autopwn 35) Webshag +16) joomscan 36) WebSlayer +17) jSQL 37) WebSploit +18) Maltego Teeth 38) Wfuzz +19) PadBuster 39) WPScan +20) Paros 40) XSSer + 41) zaproxy + +0) Install all Web Applications tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install apache-users") + + elif option2 == "2": + cmd = os.system("apt-get install arachni") + + elif option2 == "3": + cmd = os.system("apt-get install bbqsql") + elif option2 == "4": + cmd = os.system( + "apt-get install blindelephant") + elif option2 == "5": + cmd = os.system("apt-get install burpsuite") + elif option2 == "6": + cmd = os.system("apt-get install cutycapt") + elif option2 == "7": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "8": + cmd = os.system("apt-get install davtest") + elif option2 == "9": + cmd = os.system("apt-get install deblaze") + elif option2 == "10": + cmd = os.system("apt-get install dirb") + elif option2 == "11": + cmd = os.system("apt-get install dirbuster") + elif option2 == "12": + cmd = os.system("apt-get install fimap") + elif option2 == "13": + cmd = os.system("apt-get install funkload") + elif option2 == "14": + cmd = os.system("apt-get install grabber") + elif option2 == "15": + cmd = os.system( + "apt-get install jboss-autopwn") + elif option2 == "16": + cmd = os.system("apt-get install joomscan") + elif option2 == "17": + cmd = os.system("apt-get install jsql") + elif option2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "19": + cmd = os.system("apt-get install padbuster") + elif option2 == "20": + cmd = os.system("apt-get install paros") + elif option2 == "21": + cmd = os.system("apt-get install parsero") + elif option2 == "22": + cmd = os.system("apt-get install plecost") + elif option2 == "23": + cmd = os.system("apt-get install powerfuzzer") + elif option2 == "24": + cmd = os.system("apt-get install proxystrike") + elif option2 == "25": + cmd = os.system("apt-get install recon-ng") + elif option2 == "26": + cmd = os.system("apt-get install skipfish") + elif option2 == "27": + cmd = os.system("apt-get install sqlmap") + elif option2 == "28": + cmd = os.system("apt-get install sqlninja") + elif option2 == "29": + cmd = os.system("apt-get install sqlsus") + elif option2 == "30": + cmd = os.system("apt-get install ua-tester") + elif option2 == "31": + cmd = os.system("apt-get install uniscan") + elif option2 == "32": + cmd = os.system("apt-get install vega") + elif option2 == "33": + cmd = os.system("apt-get install w3af") + elif option2 == "34": + cmd = os.system("apt-get install webscarab") + elif option2 == "35": + print("Webshag is unavailable") + elif option2 == "36": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") + elif option2 == "37": + cmd = os.system("apt-get install websploit") + elif option2 == "38": + cmd = os.system("apt-get install wfuzz") + elif option2 == "39": + cmd = os.system("apt-get install wpscan") + elif option2 == "40": + cmd = os.system("apt-get install xsser") + elif option2 == "41": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "5": + print(''' +\033[1;36m=+[ Sniffing & Spoofing\033[1;m + + 1) Burp Suite 17) rtpmixsound + 2) DNSChef 18) sctpscan + 3) fiked 19) SIPArmyKnife + 4) hamster-sidejack 20) SIPp + 5) HexInject 21) SIPVicious + 6) iaxflood 22) SniffJoke + 7) inviteflood 23) SSLsplit + 8) iSMTP 24) sslstrip + 9) isr-evilgrade 25) THC-IPV6 +10) mitmproxy 26) VoIPHopper +11) ohrwurm 27) WebScarab +12) protos-sip 28) Wifi Honey +13) rebind 29) Wireshark +14) responder 30) xspy +15) rtpbreak 31) Yersinia +16) rtpinsertsound 32) zaproxy + +0) Install all Sniffing & Spoofing tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install burpsuite") + + elif option2 == "2": + cmd = os.system("apt-get install dnschef") + + elif option2 == "3": + cmd = os.system("apt-get install fiked") + elif option2 == "4": + cmd = os.system( + "apt-get install hamster-sidejack") + elif option2 == "5": + cmd = os.system("apt-get install hexinject") + elif option2 == "6": + cmd = os.system("apt-get install iaxflood") + elif option2 == "7": + cmd = os.system("apt-get install inviteflood") + elif option2 == "8": + cmd = os.system("apt-get install ismtp") + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") + elif option2 == "10": + cmd = os.system("apt-get install mitmproxy") + elif option2 == "11": + cmd = os.system("apt-get install ohrwurm") + elif option2 == "12": + cmd = os.system("apt-get install protos-sip") + elif option2 == "13": + cmd = os.system("apt-get install rebind") + elif option2 == "14": + cmd = os.system("apt-get install responder") + elif option2 == "15": + cmd = os.system("apt-get install rtpbreak") + elif option2 == "16": + cmd = os.system( + "apt-get install rtpinsertsound") + elif option2 == "17": + cmd = os.system("apt-get install rtpmixsound") + elif option2 == "18": + cmd = os.system("apt-get install sctpscan") + elif option2 == "19": + cmd = os.system("apt-get install siparmyknife") + elif option2 == "20": + cmd = os.system("apt-get install sipp") + elif option2 == "21": + cmd = os.system("apt-get install sipvicious") + elif option2 == "22": + cmd = os.system("apt-get install sniffjoke") + elif option2 == "23": + cmd = os.system("apt-get install sslsplit") + elif option2 == "24": + cmd = os.system("apt-get install sslstrip") + elif option2 == "25": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "26": + cmd = os.system("apt-get install voiphopper") + elif option2 == "27": + cmd = os.system("apt-get install webscarab") + elif option2 == "28": + cmd = os.system("apt-get install wifi-honey") + elif option2 == "29": + cmd = os.system("apt-get install wireshark") + elif option2 == "30": + cmd = os.system("apt-get install xspy") + elif option2 == "31": + cmd = os.system("apt-get install yersinia") + elif option2 == "32": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + + elif option2 == "0": + cmd = os.system( + "apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "6": + print(''' +\033[1;36m=+[ Maintaining Access\033[1;m + + 1) CryptCat + 2) Cymothoa + 3) dbd + 4) dns2tcp + 5) http-tunnel + 6) HTTPTunnel + 7) Intersect + 8) Nishang + 9) polenum +10) PowerSploit +11) pwnat +12) RidEnum +13) sbd +14) U3-Pwn +15) Webshells +16) Weevely + +0) Install all Maintaining Access tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install cryptcat") + + elif option2 == "2": + cmd = os.system("apt-get install cymothoa") + + elif option2 == "3": + cmd = os.system("apt-get install dbd") + elif option2 == "4": + cmd = os.system("apt-get install dns2tcp") + elif option2 == "5": + cmd = os.system("apt-get install http-tunnel") + elif option2 == "6": + cmd = os.system("apt-get install httptunnel") + elif option2 == "7": + cmd = os.system("apt-get install intersect") + elif option2 == "8": + cmd = os.system("apt-get install nishang") + elif option2 == "9": + cmd = os.system("apt-get install polenum") + elif option2 == "10": + cmd = os.system("apt-get install powersploit") + elif option2 == "11": + cmd = os.system("apt-get install pwnat") + elif option2 == "12": + cmd = os.system("apt-get install ridenum") + elif option2 == "13": + cmd = os.system("apt-get install sbd") + elif option2 == "14": + cmd = os.system("apt-get install u3-pwn") + elif option2 == "15": + cmd = os.system("apt-get install webshells") + elif option2 == "16": + cmd = os.system("apt-get install weevely") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "7": + print(''' +\033[1;36m=+[ Reporting Tools\033[1;m + +1) CaseFile +2) CutyCapt +3) dos2unix +4) Dradis +5) KeepNote +6) MagicTree +7) Metagoofil +8) Nipper-ng +9) pipal + +0) Install all Reporting Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install casefile") + + elif option2 == "2": + cmd = os.system("apt-get install cutycapt") + + elif option2 == "3": + cmd = os.system("apt-get install dos2unix") + elif option2 == "4": + cmd = os.system("apt-get install dradis") + elif option2 == "5": + cmd = os.system("apt-get install keepnote") + elif option2 == "6": + cmd = os.system("apt-get install magictree") + elif option2 == "7": + cmd = os.system("apt-get install metagoofil") + elif option2 == "8": + cmd = os.system("apt-get install nipper-ng") + elif option2 == "9": + cmd = os.system("apt-get install pipal") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "8": + print(''' +\033[1;36m=+[ Exploitation Tools\033[1;m + + 1) Armitage + 2) Backdoor Factory + 3) BeEF + 4) cisco-auditing-tool + 5) cisco-global-exploiter + 6) cisco-ocs + 7) cisco-torch + 8) commix + 9) crackle +10) jboss-autopwn +11) Linux Exploit Suggester +12) Maltego Teeth +13) SET +14) ShellNoob +15) sqlmap +16) THC-IPV6 +17) Yersinia + +0) Install all Exploitation Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install armitage") + + elif option2 == "2": + cmd = os.system( + "apt-get install backdoor-factory") + + elif option2 == "3": + cmd = os.system("apt-get install beef-xss") + elif option2 == "4": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "5": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif option2 == "6": + cmd = os.system("apt-get install cisco-ocs") + elif option2 == "7": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "9": + cmd = os.system("apt-get install crackle") + elif option2 == "10": + cmd = os.system( + "apt-get install jboss-autopwn") + elif option2 == "11": + cmd = os.system( + "apt-get install linux-exploit-suggester") + elif option2 == "12": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "13": + cmd = os.system("apt-get install set") + elif option2 == "14": + cmd = os.system("apt-get install shellnoob") + elif option2 == "15": + cmd = os.system("apt-get install sqlmap") + elif option2 == "16": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "17": + cmd = os.system("apt-get install yersinia") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "9": + print(''' +\033[1;36m=+[ Forensics Tools\033[1;m + + 1) Binwalk 11) extundelete + 2) bulk-extractor 12) Foremost + 3) Capstone 13) Galleta + 4) chntpw 14) Guymager + 5) Cuckoo 15) iPhone Backup Analyzer + 6) dc3dd 16) p0f + 7) ddrescue 17) pdf-parser + 8) DFF 18) pdfid + 9) diStorm3 19) pdgmail +10) Dumpzilla 20) peepdf + 21) RegRipper + 22) Volatility + 23) Xplico + +0) Install all Forensics Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install binwalk") + + elif option2 == "2": + cmd = os.system( + "apt-get install bulk-extractor") + + elif option2 == "3": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/capstone.git") + elif option2 == "4": + cmd = os.system("apt-get install chntpw") + elif option2 == "5": + cmd = os.system("apt-get install cuckoo") + elif option2 == "6": + cmd = os.system("apt-get install dc3dd") + elif option2 == "7": + cmd = os.system("apt-get install ddrescue") + elif option2 == "8": + print('dff is unavailable') + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") + elif option2 == "10": + cmd = os.system("apt-get install dumpzilla") + elif option2 == "11": + cmd = os.system("apt-get install extundelete") + elif option2 == "12": + cmd = os.system("apt-get install foremost") + elif option2 == "13": + cmd = os.system("apt-get install galleta") + elif option2 == "14": + cmd = os.system("apt-get install guymager") + elif option2 == "15": + cmd = os.system( + "apt-get install iphone-backup-analyzer") + elif option2 == "16": + cmd = os.system("apt-get install p0f") + elif option2 == "17": + cmd = os.system("apt-get install pdf-parser") + elif option2 == "18": + cmd = os.system("apt-get install pdfid") + elif option2 == "19": + cmd = os.system("apt-get install pdgmail") + elif option2 == "20": + cmd = os.system("apt-get install peepdf") + elif option2 == "21": + print("Regripper is unavailable") + elif option2 == "22": + cmd = os.system("apt-get install volatility") + elif option2 == "23": + cmd = os.system("apt-get install xplico") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "10": + print(''' +\033[1;36m=+[ Stress Testing\033[1;m + + 1) DHCPig + 2) FunkLoad + 3) iaxflood + 4) Inundator + 5) inviteflood + 6) ipv6-toolkit + 7) mdk3 + 8) Reaver + 9) rtpflood +10) SlowHTTPTest +11) t50 +12) Termineter +13) THC-IPV6 +14) THC-SSL-DOS + +0) Install all Stress Testing tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install dhcpig") + + elif option2 == "2": + cmd = os.system("apt-get install funkload") + + elif option2 == "3": + cmd = os.system("apt-get install iaxflood") + elif option2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/inundator.git") + elif option2 == "5": + cmd = os.system("apt-get install inviteflood") + elif option2 == "6": + cmd = os.system("apt-get install ipv6-toolkit") + elif option2 == "7": + cmd = os.system("apt-get install mdk3") + elif option2 == "8": + cmd = os.system("apt-get install reaver") + elif option2 == "9": + cmd = os.system("apt-get install rtpflood") + elif option2 == "10": + cmd = os.system("apt-get install slowhttptest") + elif option2 == "11": + cmd = os.system("apt-get install t50") + elif option2 == "12": + cmd = os.system("apt-get install termineter") + elif option2 == "13": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "14": + cmd = os.system("apt-get install thc-ssl-dos ") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "11": + print(''' +\033[1;36m=+[ Password Attacks\033[1;m + + 1) acccheck 19) Maskprocessor + 2) Burp Suite 20) multiforcer + 3) CeWL 21) Ncrack + 4) chntpw 22) oclgausscrack + 5) cisco-auditing-tool 23) PACK + 6) CmosPwd 24) patator + 7) creddump 25) phrasendrescher + 8) crunch 26) polenum + 9) DBPwAudit 27) RainbowCrack +10) findmyhash 28) rcracki-mt +11) gpp-decrypt 29) RSMangler +12) hash-identifier 30) SQLdict +13) HexorBase 31) Statsprocessor +14) THC-Hydra 32) THC-pptp-bruter +15) John the Ripper 33) TrueCrack +16) Johnny 34) WebScarab +17) keimpx 35) wordlists +18) Maltego Teeth 36) zaproxy + +0) Install all Password Attacks tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install acccheck") + + elif option2 == "2": + cmd = os.system("apt-get install burpsuite") + + elif option2 == "3": + cmd = os.system("apt-get install cewl") + elif option2 == "4": + cmd = os.system("apt-get install chntpw") + elif option2 == "5": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "6": + cmd = os.system("apt-get install cmospwd") + elif option2 == "7": + cmd = os.system("apt-get install creddump") + elif option2 == "8": + cmd = os.system("apt-get install crunch") + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") + elif option2 == "10": + cmd = os.system("apt-get install findmyhash") + elif option2 == "11": + cmd = os.system("apt-get install gpp-decrypt") + elif option2 == "12": + cmd = os.system( + "apt-get install hash-identifier") + elif option2 == "13": + cmd = os.system("apt-get install hexorbase") + elif option2 == "14": + cmd = os.system( + "echo 'please visit : https://www.thc.org/thc-hydra/' ") + elif option2 == "15": + cmd = os.system("apt-get install john") + elif option2 == "16": + cmd = os.system("apt-get install johnny") + elif option2 == "17": + cmd = os.system("apt-get install keimpx") + elif option2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "19": + cmd = os.system( + "apt-get install maskprocessor") + elif option2 == "20": + cmd = os.system("apt-get install multiforcer") + elif option2 == "21": + cmd = os.system("apt-get install ncrack") + elif option2 == "22": + cmd = os.system( + "apt-get install oclgausscrack") + elif option2 == "23": + cmd = os.system("apt-get install pack") + elif option2 == "24": + cmd = os.system("apt-get install patator") + elif option2 == "25": + cmd = os.system( + "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") + elif option2 == "26": + cmd = os.system("apt-get install polenum") + elif option2 == "27": + cmd = os.system("apt-get install rainbowcrack") + elif option2 == "28": + cmd = os.system("apt-get install rcracki-mt") + elif option2 == "29": + cmd = os.system("apt-get install rsmangler") + elif option2 == "30": + print("Sqldict is unavailable") + elif option2 == "31": + cmd = os.system( + "apt-get install statsprocessor") + elif option2 == "32": + cmd = os.system( + "apt-get install thc-pptp-bruter") + elif option2 == "33": + cmd = os.system("apt-get install truecrack") + elif option2 == "34": + cmd = os.system("apt-get install webscarab") + elif option2 == "35": + cmd = os.system("apt-get install wordlists") + elif option2 == "36": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "12": + print(''' +\033[1;36m=+[ Reverse Engineering\033[1;m + + 1) apktool + 2) dex2jar + 3) diStorm3 + 4) edb-debugger + 5) jad + 6) javasnoop + 7) JD-GUI + 8) OllyDbg + 9) smali +10) Valgrind +11) YARA + +0) Install all Reverse Engineering tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install apktool") + + elif option2 == "2": + cmd = os.system("apt-get install dex2jar") + + elif option2 == "3": + cmd = os.system( + "apt-get install python-diStorm3") + elif option2 == "4": + cmd = os.system("apt-get install edb-debugger") + elif option2 == "5": + cmd = os.system("apt-get install jad") + elif option2 == "6": + cmd = os.system("apt-get install javasnoop") + elif option2 == "7": + cmd = os.system("apt-get install JD") + elif option2 == "8": + cmd = os.system("apt-get install OllyDbg") + elif option2 == "9": + cmd = os.system("apt-get install smali") + elif option2 == "10": + cmd = os.system("apt-get install Valgrind") + elif option2 == "11": + cmd = os.system("apt-get install YARA") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "13": + print(''' +\033[1;36m=+[ Hardware Hacking\033[1;m + + 1) android-sdk + 2) apktool + 3) Arduino + 4) dex2jar + 5) Sakis3G + 6) smali + +0) Install all Hardware Hacking tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install android-sdk") + + elif option2 == "2": + cmd = os.system("apt-get install apktool") + + elif option2 == "3": + cmd = os.system("apt-get install arduino") + elif option2 == "4": + cmd = os.system("apt-get install dex2jar") + elif option2 == "5": + cmd = os.system("apt-get install sakis3g") + elif option2 == "6": + cmd = os.system("apt-get install smali") + + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + elif option2 == "0": + cmd = os.system( + "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "14": + print('\n' + '\033[1;36m=+[ Extra\033[1;m\n' + '\n' + '1) Wifresti\n' + '2) Squid3\n' + ' ') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system( + "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") + print(" ") + elif option2 == "2": + cmd = os.system("apt-get install squid3") + print(" ") + elif option2 == "back": + inicio() + elif option2 == "gohome": + initio1() + + inicio() + + initio1() + except KeyboardInterrupt: + print("Shutdown requested...Goodbye...") + except Exception: + traceback.print_exc(file=sys.stdout) + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/old/katoolin.py b/old/katoolin.py new file mode 100755 index 0000000..9c39e99 --- /dev/null +++ b/old/katoolin.py @@ -0,0 +1,1413 @@ +#!/usr/bin/python2.7 + +import os +import sys +import traceback + +if os.geteuid() != 0: + print ("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") + sys.exit() + +def main(): + try: + print(''' + + $$\ $$\ $$\ $$\ $$\ + $$ | $$ | $$ | $$ |\__| + $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ + $$$$$ / \____$$\ \_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ + $$ $$< $$$$$$$ | \033[1;36mKali linux tools installer\033[1;m |$$ |$$ |$$ | $$ | + \033[1;36m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ | + $$ | \$$\ \$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ | + \__| \__| \_______| \____/ \______/ \______/ \__|\__|\__| \__| V2.3 \033[1;m + + + \033[1;32m+ -- -- +=[ Author: LionSec | Homepage: www.neodrix.com \033[1;m + \033[1;32m+ -- -- +=[ Updated by: Nysioko | 04/13/2022 \033[1;m + \033[1;32m+ -- -- +=[ 331 Tools \033[1;m + + +\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to avoid any kind of problem.\033[1;m +\033[1;91m[W] In somes cases, Kali-linux repositories can destabilize your system or worse, completely destroy it.\033[1;m + ''') + + def inicio1(): + while True: + print(''' +1) Add Kali repositories & Update +2) View Categories +3) Install classicmenu indicator +4) Install Kali menu +5) Help + + ''') + + opcion0 = raw_input("\033[1;36mkat > \033[1;m") + if opcion0 == "exit" or opcion0 == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + while opcion0 == "1": + print(''' +1) Add kali linux repositories +2) Update +3) Remove all kali linux repositories +4) View the contents of sources.list file + + ''') + repo = raw_input( + "\033[1;32mWhat do you want to do ?> \033[1;m") + if repo == "1": + cmd1 = os.system( + "wget -q -O - archive.kali.org/archive-key.asc | sudo apt-key add") + cmd2 = os.system( + "echo '# Kali linux repositories | Added by Katoolin\ndeb http://http.kali.org/kali kali-rolling main contrib non-free' >> /etc/apt/sources.list") + elif repo == "2": + cmd3 = os.system("apt-get update -m") + elif repo == "3": + infile = "/etc/apt/sources.list" + outfile = "/etc/apt/sources.list" + + delete_list = ["# Kali linux repositories | Added by Katoolin\n", + "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"] + fin = open(infile) + os.remove("/etc/apt/sources.list") + fout = open(outfile, "w+") + for line in fin: + for word in delete_list: + line = line.replace(word, "") + fout.write(line) + fin.close() + fout.close() + print( + "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") + elif repo == "back": + inicio1() + elif repo == "gohome": + inicio1() + elif repo == "exit" or repo == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif repo == "4": + file = open('/etc/apt/sources.list', 'r') + + print(file.read()) + + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + if opcion0 == "3": + print(''' +ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. + +It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. + +Like the classic GNOME menu, it includes Wine games and applications if you have those installed. + +For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ + +''') + repo = raw_input( + "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system( + "add-apt-repository ppa:diesch/testing && apt-get update") + cmd = os.system( + "sudo apt-get install classicmenu-indicator") + + elif opcion0 == "4": + repo = raw_input( + "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system("apt-get install kali-menu") + elif opcion0 == "5": + print(''' +****************** +Commands+ ****************** + + +\033[1;32mback\033[1;m \033[1;33mGo back\033[1;m + +\033[1;32mgohome\033[1;m \033[1;33mGo to the main menu\033[1;m + +\033[1;32mExit\033[1;m \033[1;33mExit the script\033[1;m + + ''') + + def inicio(): + while opcion0 == "2": + print(''' +\033[1;36m**************************** All Categories *****************************\033[1;m + +1) Information Gathering 8) Exploitation Tools +2) Vulnerability Analysis 9) Forensics Tools +3) Wireless Attacks 10) Stress Testing +4) Web Applications 11) Password Attacks +5) Sniffing & Spoofing 12) Reverse Engineering +6) Maintaining Access 13) Hardware Hacking +7) Reporting Tools 14) Extra + +0) All + + ''') + print( + "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") + + opcion1 = raw_input("\033[1;36mkat > \033[1;m") + if opcion1 == "back": + inicio1() + elif opcion1 == "gohome": + inicio1() + elif opcion1 == "exit" or opcion1 == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif opcion1 == "0": + cmd = os.system("apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + while opcion1 == "1": + print(''' +\033[1;36m=+[ Information Gathering\033[1;m + + 1) acccheck 30) lbd + 2) ace-voip 31) Maltego Teeth + 3) Amap 32) masscan + 4) Automater 33) Metagoofil + 5) bing-ip2hosts 34) Miranda + 6) braa 35) Nmap + 7) CaseFile 36) ntop + 8) CDPSnarf 37) p0f + 9) cisco-torch 38) Parsero +10) Cookie Cadger 39) Recon-ng +11) copy-router-config 40) SET +12) DMitry 41) smtp-user-enum +13) dnmap 42) snmpcheck +14) dnsenum 43) sslcaudit +15) dnsmap 44) SSLsplit +16) DNSRecon 45) sslstrip +17) dnstracer 46) SSLyze +18) dnswalk 47) THC-IPV6 +19) DotDotPwn 48) theHarvester +20) enum4linux 49) TLSSLed +21) enumIAX 50) twofi +22) exploitdb 51) URLCrazy +23) Fierce 52) Wireshark +24) Firewalk 53) WOL-E +25) fragroute 54) Xplico +26) fragrouter 55) iSMTP +27) Ghost Phisher 56) InTrace +28) GoLismero 57) hping3 +29) goofile + +0) Install all Information Gathering tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install acccheck") + + elif opcion2 == "2": + cmd = os.system("apt-get install ace-voip") + + elif opcion2 == "3": + cmd = os.system("apt-get install amap") + elif opcion2 == "4": + cmd = os.system("apt-get install automater") + elif opcion2 == "5": + cmd = os.system( + "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + elif opcion2 == "6": + cmd = os.system("apt-get install braa") + elif opcion2 == "7": + cmd = os.system("apt-get install casefile") + elif opcion2 == "8": + cmd = os.system("apt-get install cdpsnarf") + elif opcion2 == "9": + cmd = os.system("apt-get install cisco-torch") + elif opcion2 == "10": + cmd = os.system( + "apt-get install cookie-cadger") + elif opcion2 == "11": + cmd = os.system( + "apt-get install copy-router-config") + elif opcion2 == "12": + cmd = os.system("apt-get install dmitry") + elif opcion2 == "13": + cmd = os.system("apt-get install dnmap") + elif opcion2 == "14": + cmd = os.system("apt-get install dnsenum") + elif opcion2 == "15": + cmd = os.system("apt-get install dnsmap") + elif opcion2 == "16": + cmd = os.system("apt-get install dnsrecon") + elif opcion2 == "17": + cmd = os.system("apt-get install dnstracer") + elif opcion2 == "18": + cmd = os.system("apt-get install dnswalk") + elif opcion2 == "19": + cmd = os.system("apt-get install dotdotpwn") + elif opcion2 == "20": + cmd = os.system("apt-get install enum4linux") + elif opcion2 == "21": + cmd = os.system("apt-get install enumiax") + elif opcion2 == "22": + cmd = os.system("apt-get install exploitdb") + elif opcion2 == "23": + cmd = os.system("apt-get install fierce") + elif opcion2 == "24": + cmd = os.system("apt-get install firewalk") + elif opcion2 == "25": + cmd = os.system("apt-get install fragroute") + elif opcion2 == "26": + cmd = os.system("apt-get install fragrouter") + elif opcion2 == "27": + cmd = os.system( + "apt-get install ghost-phisher") + elif opcion2 == "28": + cmd = os.system("apt-get install golismero") + elif opcion2 == "29": + cmd = os.system("apt-get install goofile") + elif opcion2 == "30": + cmd = os.system("apt-get install lbd") + elif opcion2 == "31": + cmd = os.system( + "apt-get install maltego-teeth") + elif opcion2 == "32": + cmd = os.system("apt-get install masscan") + elif opcion2 == "33": + cmd = os.system("apt-get install metagoofil") + elif opcion2 == "34": + cmd = os.system("apt-get install miranda") + elif opcion2 == "35": + cmd = os.system("apt-get install nmap") + elif opcion2 == "36": + print('ntop is unavailable') + elif opcion2 == "37": + cmd = os.system("apt-get install p0f") + elif opcion2 == "38": + cmd = os.system("apt-get install parsero") + elif opcion2 == "39": + cmd = os.system("apt-get install recon-ng") + elif opcion2 == "40": + cmd = os.system("apt-get install set") + elif opcion2 == "41": + cmd = os.system( + "apt-get install smtp-user-enum") + elif opcion2 == "42": + cmd = os.system("apt-get install snmpcheck") + elif opcion2 == "43": + cmd = os.system("apt-get install sslcaudit") + elif opcion2 == "44": + cmd = os.system("apt-get install sslsplit") + elif opcion2 == "45": + cmd = os.system("apt-get install sslstrip") + elif opcion2 == "46": + cmd = os.system("apt-get install sslyze") + elif opcion2 == "47": + cmd = os.system("apt-get install thc-ipv6") + elif opcion2 == "48": + cmd = os.system("apt-get install theharvester") + elif opcion2 == "49": + cmd = os.system("apt-get install tlssled") + elif opcion2 == "50": + cmd = os.system("apt-get install twofi") + elif opcion2 == "51": + cmd = os.system("apt-get install urlcrazy") + elif opcion2 == "52": + cmd = os.system("apt-get install wireshark") + elif opcion2 == "53": + cmd = os.system("apt-get install wol-e") + elif opcion2 == "54": + cmd = os.system("apt-get install xplico") + elif opcion2 == "55": + cmd = os.system("apt-get install ismtp") + elif opcion2 == "56": + cmd = os.system("apt-get install intrace") + elif opcion2 == "57": + cmd = os.system("apt-get install hping3") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system("apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "2": + print(''' +\033[1;36m=+[ Vulnerability Analysis\033[1;m + + 1) BBQSQL 18) Nmap + 2) BED 19)ohrwurm + 3) cisco-auditing-tool 20) openvas-administrator + 4) cisco-global-exploiter 21) openvas-cli + 5) cisco-ocs 22) openvas-manager + 6) cisco-torch 23) openvas-scanner + 7) copy-router-config 24) Oscanner + 8) commix 25) Powerfuzzer + 9) DBPwAudit 26) sfuzz +10) DoonaDot 27) SidGuesser +11) DotPwn 28) SIPArmyKnife +12) Greenbone Security Assistant 29) sqlmap +13) GSD 30) Sqlninja +14) HexorBase 31) sqlsus +15) Inguma 32) THC-IPV6 +16) jSQL 33) tnscmd10g +17) Lynis 34) unix-privesc-check + 35) Yersinia + +0) Install all Vulnerability Analysis tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install bbqsql") + + elif opcion2 == "2": + cmd = os.system("apt-get install bed") + + elif opcion2 == "3": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif opcion2 == "4": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif opcion2 == "5": + cmd = os.system("apt-get install cisco-ocs") + elif opcion2 == "6": + cmd = os.system("apt-get install cisco-torch") + elif opcion2 == "7": + cmd = os.system( + "apt-get install copy-router-config") + elif opcion2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif opcion2 == "9": + cmd = os.system( + "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") + elif opcion2 == "10": + cmd = os.system("apt-get install doona") + elif opcion2 == "11": + cmd = os.system("apt-get install dotdotpwn") + elif opcion2 == "12": + cmd = os.system( + "apt-get install greenbone-security-assistant") + elif opcion2 == "13": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gsd.git") + elif opcion2 == "14": + cmd = os.system("apt-get install hexorbase") + elif opcion2 == "15": + print( + "Please download inguma from : http://inguma.sourceforge.net") + elif opcion2 == "16": + cmd = os.system("apt-get install jsql") + elif opcion2 == "17": + cmd = os.system("apt-get install lynis") + elif opcion2 == "18": + cmd = os.system("apt-get install nmap") + elif opcion2 == "19": + cmd = os.system("apt-get install ohrwurm") + elif opcion2 == "20": + cmd = os.system( + "apt-get install openvas-administrator") + elif opcion2 == "21": + cmd = os.system("apt-get install openvas-cli") + elif opcion2 == "22": + cmd = os.system( + "apt-get install openvas-manager") + elif opcion2 == "23": + cmd = os.system( + "apt-get install openvas-scanner") + elif opcion2 == "24": + cmd = os.system("apt-get install oscanner") + elif opcion2 == "25": + cmd = os.system("apt-get install powerfuzzer") + elif opcion2 == "26": + cmd = os.system("apt-get install sfuzz") + elif opcion2 == "27": + cmd = os.system("apt-get install sidguesser") + elif opcion2 == "28": + cmd = os.system("apt-get install siparmyknife") + elif opcion2 == "29": + cmd = os.system("apt-get install sqlmap") + elif opcion2 == "30": + cmd = os.system("apt-get install sqlninja") + elif opcion2 == "31": + cmd = os.system("apt-get install sqlsus") + elif opcion2 == "32": + cmd = os.system("apt-get install thc-ipv6") + elif opcion2 == "33": + cmd = os.system("apt-get install tnscmd10g") + elif opcion2 == "34": + cmd = os.system( + "apt-get install unix-privesc-check") + elif opcion2 == "35": + cmd = os.system("apt-get install yersinia") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system("apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "3": + print(''' + \033[1;36m=+[ Wireless Attacks\033[1;m + + 1) Aircrack-ng 17) kalibrate-rtl + 2) Asleap 18) KillerBee + 3) Bluelog 19) Kismet + 4) BlueMaho 20) mdk3 + 5) Bluepot 21) mfcuk + 6) BlueRanger 22) mfoc + 7) Bluesnarfer 23) mfterm + 8) Bully 24) Multimon-NG + 9) coWPAtty 25) PixieWPS +10) crackle 26) Reaver +11) eapmd5pass 27) redfang +12) Fern Wifi Cracker 28) RTLSDR Scanner +13) Ghost Phisher 29) Spooftooph +14) GISKismet 30) Wifi Honey 31) Wifitap +16) gr-scan 32) Wifite + +0) Install all Wireless Attacks tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install aircrack-ng") + + elif opcion2 == "2": + cmd = os.system("apt-get install asleap") + + elif opcion2 == "3": + cmd = os.system("apt-get install bluelog") + elif opcion2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") + elif opcion2 == "5": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") + elif opcion2 == "6": + cmd = os.system("apt-get install blueranger") + elif opcion2 == "7": + cmd = os.system("apt-get install bluesnarfer") + elif opcion2 == "8": + cmd = os.system("apt-get install bully") + elif opcion2 == "9": + cmd = os.system("apt-get install cowpatty") + elif opcion2 == "10": + cmd = os.system("apt-get install crackle") + elif opcion2 == "11": + cmd = os.system("apt-get install eapmd5pass") + elif opcion2 == "12": + cmd = os.system( + "apt-get install fern-wifi-cracker") + elif opcion2 == "13": + cmd = os.system( + "apt-get install ghost-phisher") + elif opcion2 == "14": + cmd = os.system("apt-get install giskismet") + elif opcion2 == "16": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") + elif opcion2 == "17": + cmd = os.system( + "apt-get install kalibrate-rtl") + elif opcion2 == "18": + cmd = os.system("apt-get install killerbee") + elif opcion2 == "19": + cmd = os.system("apt-get install kismet") + elif opcion2 == "20": + cmd = os.system("apt-get install mdk3") + elif opcion2 == "21": + cmd = os.system("apt-get install mfcuk") + elif opcion2 == "22": + cmd = os.system("apt-get install mfoc") + elif opcion2 == "23": + cmd = os.system("apt-get install mfterm") + elif opcion2 == "24": + cmd = os.system("apt-get install multimon-ng") + elif opcion2 == "25": + cmd = os.system("apt-get install pixiewps") + elif opcion2 == "26": + cmd = os.system("apt-get install reaver") + elif opcion2 == "27": + cmd = os.system("apt-get install redfang") + elif opcion2 == "28": + cmd = os.system( + "apt-get install rtlsdr-scanner") + elif opcion2 == "29": + cmd = os.system("apt-get install spooftooph") + elif opcion2 == "30": + cmd = os.system("apt-get install wifi-honey") + elif opcion2 == "31": + cmd = os.system("apt-get install wifitap") + elif opcion2 == "32": + cmd = os.system("apt-get install wifite") + elif opcion2 == "0": + cmd = os.system("apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "4": + print(''' +\033[1;36m=+[ Web Applications\033[1;m + + 1) apache-users 21) Parsero + 2) Arachni 22) plecost + 3) BBQSQL 23) Powerfuzzer + 4) BlindElephant 24) ProxyStrike + 5) Burp Suite 25) Recon-ng + 6) commix 26) Skipfish + 7) CutyCapt 27) sqlmap + 8) DAVTest 28) Sqlninja + 9) deblaze 29) sqlsus +10) DIRB 30) ua-tester +11) DirBuster 31) Uniscan +12) fimap 32) Vega +13) FunkLoad 33) w3af +14) Grabber 34) WebScarab +15) jboss-autopwn 35) Webshag +16) joomscan 36) WebSlayer +17) jSQL 37) WebSploit +18) Maltego Teeth 38) Wfuzz +19) PadBuster 39) WPScan +20) Paros 40) XSSer + 41) zaproxy + +0) Install all Web Applications tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install apache-users") + + elif opcion2 == "2": + cmd = os.system("apt-get install arachni") + + elif opcion2 == "3": + cmd = os.system("apt-get install bbqsql") + elif opcion2 == "4": + cmd = os.system( + "apt-get install blindelephant") + elif opcion2 == "5": + cmd = os.system("apt-get install burpsuite") + elif opcion2 == "6": + cmd = os.system("apt-get install cutycapt") + elif opcion2 == "7": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif opcion2 == "8": + cmd = os.system("apt-get install davtest") + elif opcion2 == "9": + cmd = os.system("apt-get install deblaze") + elif opcion2 == "10": + cmd = os.system("apt-get install dirb") + elif opcion2 == "11": + cmd = os.system("apt-get install dirbuster") + elif opcion2 == "12": + cmd = os.system("apt-get install fimap") + elif opcion2 == "13": + cmd = os.system("apt-get install funkload") + elif opcion2 == "14": + cmd = os.system("apt-get install grabber") + elif opcion2 == "15": + cmd = os.system( + "apt-get install jboss-autopwn") + elif opcion2 == "16": + cmd = os.system("apt-get install joomscan") + elif opcion2 == "17": + cmd = os.system("apt-get install jsql") + elif opcion2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif opcion2 == "19": + cmd = os.system("apt-get install padbuster") + elif opcion2 == "20": + cmd = os.system("apt-get install paros") + elif opcion2 == "21": + cmd = os.system("apt-get install parsero") + elif opcion2 == "22": + cmd = os.system("apt-get install plecost") + elif opcion2 == "23": + cmd = os.system("apt-get install powerfuzzer") + elif opcion2 == "24": + cmd = os.system("apt-get install proxystrike") + elif opcion2 == "25": + cmd = os.system("apt-get install recon-ng") + elif opcion2 == "26": + cmd = os.system("apt-get install skipfish") + elif opcion2 == "27": + cmd = os.system("apt-get install sqlmap") + elif opcion2 == "28": + cmd = os.system("apt-get install sqlninja") + elif opcion2 == "29": + cmd = os.system("apt-get install sqlsus") + elif opcion2 == "30": + cmd = os.system("apt-get install ua-tester") + elif opcion2 == "31": + cmd = os.system("apt-get install uniscan") + elif opcion2 == "32": + cmd = os.system("apt-get install vega") + elif opcion2 == "33": + cmd = os.system("apt-get install w3af") + elif opcion2 == "34": + cmd = os.system("apt-get install webscarab") + elif opcion2 == "35": + print("Webshag is unavailable") + elif opcion2 == "36": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") + elif opcion2 == "37": + cmd = os.system("apt-get install websploit") + elif opcion2 == "38": + cmd = os.system("apt-get install wfuzz") + elif opcion2 == "39": + cmd = os.system("apt-get install wpscan") + elif opcion2 == "40": + cmd = os.system("apt-get install xsser") + elif opcion2 == "41": + cmd = os.system("apt-get install zaproxy") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system("apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "5": + print(''' +\033[1;36m=+[ Sniffing & Spoofing\033[1;m + + 1) Burp Suite 17) rtpmixsound + 2) DNSChef 18) sctpscan + 3) fiked 19) SIPArmyKnife + 4) hamster-sidejack 20) SIPp + 5) HexInject 21) SIPVicious + 6) iaxflood 22) SniffJoke + 7) inviteflood 23) SSLsplit + 8) iSMTP 24) sslstrip + 9) isr-evilgrade 25) THC-IPV6 +10) mitmproxy 26) VoIPHopper +11) ohrwurm 27) WebScarab +12) protos-sip 28) Wifi Honey +13) rebind 29) Wireshark +14) responder 30) xspy +15) rtpbreak 31) Yersinia +16) rtpinsertsound 32) zaproxy + +0) Install all Sniffing & Spoofing tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install burpsuite") + + elif opcion2 == "2": + cmd = os.system("apt-get install dnschef") + + elif opcion2 == "3": + cmd = os.system("apt-get install fiked") + elif opcion2 == "4": + cmd = os.system( + "apt-get install hamster-sidejack") + elif opcion2 == "5": + cmd = os.system("apt-get install hexinject") + elif opcion2 == "6": + cmd = os.system("apt-get install iaxflood") + elif opcion2 == "7": + cmd = os.system("apt-get install inviteflood") + elif opcion2 == "8": + cmd = os.system("apt-get install ismtp") + elif opcion2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") + elif opcion2 == "10": + cmd = os.system("apt-get install mitmproxy") + elif opcion2 == "11": + cmd = os.system("apt-get install ohrwurm") + elif opcion2 == "12": + cmd = os.system("apt-get install protos-sip") + elif opcion2 == "13": + cmd = os.system("apt-get install rebind") + elif opcion2 == "14": + cmd = os.system("apt-get install responder") + elif opcion2 == "15": + cmd = os.system("apt-get install rtpbreak") + elif opcion2 == "16": + cmd = os.system( + "apt-get install rtpinsertsound") + elif opcion2 == "17": + cmd = os.system("apt-get install rtpmixsound") + elif opcion2 == "18": + cmd = os.system("apt-get install sctpscan") + elif opcion2 == "19": + cmd = os.system("apt-get install siparmyknife") + elif opcion2 == "20": + cmd = os.system("apt-get install sipp") + elif opcion2 == "21": + cmd = os.system("apt-get install sipvicious") + elif opcion2 == "22": + cmd = os.system("apt-get install sniffjoke") + elif opcion2 == "23": + cmd = os.system("apt-get install sslsplit") + elif opcion2 == "24": + cmd = os.system("apt-get install sslstrip") + elif opcion2 == "25": + cmd = os.system("apt-get install thc-ipv6") + elif opcion2 == "26": + cmd = os.system("apt-get install voiphopper") + elif opcion2 == "27": + cmd = os.system("apt-get install webscarab") + elif opcion2 == "28": + cmd = os.system("apt-get install wifi-honey") + elif opcion2 == "29": + cmd = os.system("apt-get install wireshark") + elif opcion2 == "30": + cmd = os.system("apt-get install xspy") + elif opcion2 == "31": + cmd = os.system("apt-get install yersinia") + elif opcion2 == "32": + cmd = os.system("apt-get install zaproxy") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + + elif opcion2 == "0": + cmd = os.system("apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "6": + print(''' +\033[1;36m=+[ Maintaining Access\033[1;m + + 1) CryptCat + 2) Cymothoa + 3) dbd + 4) dns2tcp + 5) http-tunnel + 6) HTTPTunnel + 7) Intersect + 8) Nishang + 9) polenum +10) PowerSploit +11) pwnat +12) RidEnum +13) sbd +14) U3-Pwn +15) Webshells +16) Weevely + +0) Install all Maintaining Access tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install cryptcat") + + elif opcion2 == "2": + cmd = os.system("apt-get install cymothoa") + + elif opcion2 == "3": + cmd = os.system("apt-get install dbd") + elif opcion2 == "4": + cmd = os.system("apt-get install dns2tcp") + elif opcion2 == "5": + cmd = os.system("apt-get install http-tunnel") + elif opcion2 == "6": + cmd = os.system("apt-get install httptunnel") + elif opcion2 == "7": + cmd = os.system("apt-get install intersect") + elif opcion2 == "8": + cmd = os.system("apt-get install nishang") + elif opcion2 == "9": + cmd = os.system("apt-get install polenum") + elif opcion2 == "10": + cmd = os.system("apt-get install powersploit") + elif opcion2 == "11": + cmd = os.system("apt-get install pwnat") + elif opcion2 == "12": + cmd = os.system("apt-get install ridenum") + elif opcion2 == "13": + cmd = os.system("apt-get install sbd") + elif opcion2 == "14": + cmd = os.system("apt-get install u3-pwn") + elif opcion2 == "15": + cmd = os.system("apt-get install webshells") + elif opcion2 == "16": + cmd = os.system("apt-get install weevely") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "7": + print(''' +\033[1;36m=+[ Reporting Tools\033[1;m + +1) CaseFile +2) CutyCapt +3) dos2unix +4) Dradis +5) KeepNote +6) MagicTree +7) Metagoofil +8) Nipper-ng +9) pipal + +0) Install all Reporting Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install casefile") + + elif opcion2 == "2": + cmd = os.system("apt-get install cutycapt") + + elif opcion2 == "3": + cmd = os.system("apt-get install dos2unix") + elif opcion2 == "4": + cmd = os.system("apt-get install dradis") + elif opcion2 == "5": + cmd = os.system("apt-get install keepnote") + elif opcion2 == "6": + cmd = os.system("apt-get install magictree") + elif opcion2 == "7": + cmd = os.system("apt-get install metagoofil") + elif opcion2 == "8": + cmd = os.system("apt-get install nipper-ng") + elif opcion2 == "9": + cmd = os.system("apt-get install pipal") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "8": + print(''' +\033[1;36m=+[ Exploitation Tools\033[1;m + + 1) Armitage + 2) Backdoor Factory + 3) BeEF + 4) cisco-auditing-tool + 5) cisco-global-exploiter + 6) cisco-ocs + 7) cisco-torch + 8) commix + 9) crackle +10) jboss-autopwn +11) Linux Exploit Suggester +12) Maltego Teeth +13) SET +14) ShellNoob +15) sqlmap +16) THC-IPV6 +17) Yersinia + +0) Install all Exploitation Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install armitage") + + elif opcion2 == "2": + cmd = os.system( + "apt-get install backdoor-factory") + + elif opcion2 == "3": + cmd = os.system("apt-get install beef-xss") + elif opcion2 == "4": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif opcion2 == "5": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif opcion2 == "6": + cmd = os.system("apt-get install cisco-ocs") + elif opcion2 == "7": + cmd = os.system("apt-get install cisco-torch") + elif opcion2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif opcion2 == "9": + cmd = os.system("apt-get install crackle") + elif opcion2 == "10": + cmd = os.system( + "apt-get install jboss-autopwn") + elif opcion2 == "11": + cmd = os.system( + "apt-get install linux-exploit-suggester") + elif opcion2 == "12": + cmd = os.system( + "apt-get install maltego-teeth") + elif opcion2 == "13": + cmd = os.system("apt-get install set") + elif opcion2 == "14": + cmd = os.system("apt-get install shellnoob") + elif opcion2 == "15": + cmd = os.system("apt-get install sqlmap") + elif opcion2 == "16": + cmd = os.system("apt-get install thc-ipv6") + elif opcion2 == "17": + cmd = os.system("apt-get install yersinia") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + while opcion1 == "9": + print(''' +\033[1;36m=+[ Forensics Tools\033[1;m + + 1) Binwalk 11) extundelete + 2) bulk-extractor 12) Foremost + 3) Capstone 13) Galleta + 4) chntpw 14) Guymager + 5) Cuckoo 15) iPhone Backup Analyzer + 6) dc3dd 16) p0f + 7) ddrescue 17) pdf-parser + 8) DFF 18) pdfid + 9) diStorm3 19) pdgmail +10) Dumpzilla 20) peepdf + 21) RegRipper + 22) Volatility + 23) Xplico + +0) Install all Forensics Tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install binwalk") + + elif opcion2 == "2": + cmd = os.system( + "apt-get install bulk-extractor") + + elif opcion2 == "3": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/capstone.git") + elif opcion2 == "4": + cmd = os.system("apt-get install chntpw") + elif opcion2 == "5": + cmd = os.system("apt-get install cuckoo") + elif opcion2 == "6": + cmd = os.system("apt-get install dc3dd") + elif opcion2 == "7": + cmd = os.system("apt-get install ddrescue") + elif opcion2 == "8": + print('dff is unavailable') + elif opcion2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") + elif opcion2 == "10": + cmd = os.system("apt-get install dumpzilla") + elif opcion2 == "11": + cmd = os.system("apt-get install extundelete") + elif opcion2 == "12": + cmd = os.system("apt-get install foremost") + elif opcion2 == "13": + cmd = os.system("apt-get install galleta") + elif opcion2 == "14": + cmd = os.system("apt-get install guymager") + elif opcion2 == "15": + cmd = os.system( + "apt-get install iphone-backup-analyzer") + elif opcion2 == "16": + cmd = os.system("apt-get install p0f") + elif opcion2 == "17": + cmd = os.system("apt-get install pdf-parser") + elif opcion2 == "18": + cmd = os.system("apt-get install pdfid") + elif opcion2 == "19": + cmd = os.system("apt-get install pdgmail") + elif opcion2 == "20": + cmd = os.system("apt-get install peepdf") + elif opcion2 == "21": + print("Regripper is unavailable") + elif opcion2 == "22": + cmd = os.system("apt-get install volatility") + elif opcion2 == "23": + cmd = os.system("apt-get install xplico") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "10": + print(''' +\033[1;36m=+[ Stress Testing\033[1;m + + 1) DHCPig + 2) FunkLoad + 3) iaxflood + 4) Inundator + 5) inviteflood + 6) ipv6-toolkit + 7) mdk3 + 8) Reaver + 9) rtpflood +10) SlowHTTPTest +11) t50 +12) Termineter +13) THC-IPV6 +14) THC-SSL-DOS + +0) Install all Stress Testing tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install dhcpig") + + elif opcion2 == "2": + cmd = os.system("apt-get install funkload") + + elif opcion2 == "3": + cmd = os.system("apt-get install iaxflood") + elif opcion2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/inundator.git") + elif opcion2 == "5": + cmd = os.system("apt-get install inviteflood") + elif opcion2 == "6": + cmd = os.system("apt-get install ipv6-toolkit") + elif opcion2 == "7": + cmd = os.system("apt-get install mdk3") + elif opcion2 == "8": + cmd = os.system("apt-get install reaver") + elif opcion2 == "9": + cmd = os.system("apt-get install rtpflood") + elif opcion2 == "10": + cmd = os.system("apt-get install slowhttptest") + elif opcion2 == "11": + cmd = os.system("apt-get install t50") + elif opcion2 == "12": + cmd = os.system("apt-get install termineter") + elif opcion2 == "13": + cmd = os.system("apt-get install thc-ipv6") + elif opcion2 == "14": + cmd = os.system("apt-get install thc-ssl-dos ") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "11": + print(''' +\033[1;36m=+[ Password Attacks\033[1;m + + 1) acccheck 19) Maskprocessor + 2) Burp Suite 20) multiforcer + 3) CeWL 21) Ncrack + 4) chntpw 22) oclgausscrack + 5) cisco-auditing-tool 23) PACK + 6) CmosPwd 24) patator + 7) creddump 25) phrasendrescher + 8) crunch 26) polenum + 9) DBPwAudit 27) RainbowCrack +10) findmyhash 28) rcracki-mt +11) gpp-decrypt 29) RSMangler +12) hash-identifier 30) SQLdict +13) HexorBase 31) Statsprocessor +14) THC-Hydra 32) THC-pptp-bruter +15) John the Ripper 33) TrueCrack +16) Johnny 34) WebScarab +17) keimpx 35) wordlists +18) Maltego Teeth 36) zaproxy + +0) Install all Password Attacks tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install acccheck") + + elif opcion2 == "2": + cmd = os.system("apt-get install burpsuite") + + elif opcion2 == "3": + cmd = os.system("apt-get install cewl") + elif opcion2 == "4": + cmd = os.system("apt-get install chntpw") + elif opcion2 == "5": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif opcion2 == "6": + cmd = os.system("apt-get install cmospwd") + elif opcion2 == "7": + cmd = os.system("apt-get install creddump") + elif opcion2 == "8": + cmd = os.system("apt-get install crunch") + elif opcion2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") + elif opcion2 == "10": + cmd = os.system("apt-get install findmyhash") + elif opcion2 == "11": + cmd = os.system("apt-get install gpp-decrypt") + elif opcion2 == "12": + cmd = os.system( + "apt-get install hash-identifier") + elif opcion2 == "13": + cmd = os.system("apt-get install hexorbase") + elif opcion2 == "14": + cmd = os.system( + "echo 'please visit : https://www.thc.org/thc-hydra/' ") + elif opcion2 == "15": + cmd = os.system("apt-get install john") + elif opcion2 == "16": + cmd = os.system("apt-get install johnny") + elif opcion2 == "17": + cmd = os.system("apt-get install keimpx") + elif opcion2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif opcion2 == "19": + cmd = os.system( + "apt-get install maskprocessor") + elif opcion2 == "20": + cmd = os.system("apt-get install multiforcer") + elif opcion2 == "21": + cmd = os.system("apt-get install ncrack") + elif opcion2 == "22": + cmd = os.system( + "apt-get install oclgausscrack") + elif opcion2 == "23": + cmd = os.system("apt-get install pack") + elif opcion2 == "24": + cmd = os.system("apt-get install patator") + elif opcion2 == "25": + cmd = os.system( + "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") + elif opcion2 == "26": + cmd = os.system("apt-get install polenum") + elif opcion2 == "27": + cmd = os.system("apt-get install rainbowcrack") + elif opcion2 == "28": + cmd = os.system("apt-get install rcracki-mt") + elif opcion2 == "29": + cmd = os.system("apt-get install rsmangler") + elif opcion2 == "30": + print("Sqldict is unavailable") + elif opcion2 == "31": + cmd = os.system( + "apt-get install statsprocessor") + elif opcion2 == "32": + cmd = os.system( + "apt-get install thc-pptp-bruter") + elif opcion2 == "33": + cmd = os.system("apt-get install truecrack") + elif opcion2 == "34": + cmd = os.system("apt-get install webscarab") + elif opcion2 == "35": + cmd = os.system("apt-get install wordlists") + elif opcion2 == "36": + cmd = os.system("apt-get install zaproxy") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system("apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "12": + print(''' +\033[1;36m=+[ Reverse Engineering\033[1;m + + 1) apktool + 2) dex2jar + 3) diStorm3 + 4) edb-debugger + 5) jad + 6) javasnoop + 7) JD-GUI + 8) OllyDbg + 9) smali +10) Valgrind +11) YARA + +0) Install all Reverse Engineering tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install apktool") + + elif opcion2 == "2": + cmd = os.system("apt-get install dex2jar") + + elif opcion2 == "3": + cmd = os.system( + "apt-get install python-diStorm3") + elif opcion2 == "4": + cmd = os.system("apt-get install edb-debugger") + elif opcion2 == "5": + cmd = os.system("apt-get install jad") + elif opcion2 == "6": + cmd = os.system("apt-get install javasnoop") + elif opcion2 == "7": + cmd = os.system("apt-get install JD") + elif opcion2 == "8": + cmd = os.system("apt-get install OllyDbg") + elif opcion2 == "9": + cmd = os.system("apt-get install smali") + elif opcion2 == "10": + cmd = os.system("apt-get install Valgrind") + elif opcion2 == "11": + cmd = os.system("apt-get install YARA") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "13": + print(''' +\033[1;36m=+[ Hardware Hacking\033[1;m + + 1) android-sdk + 2) apktool + 3) Arduino + 4) dex2jar + 5) Sakis3G + 6) smali + +0) Install all Hardware Hacking tools + + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system("apt-get install android-sdk") + + elif opcion2 == "2": + cmd = os.system("apt-get install apktool") + + elif opcion2 == "3": + cmd = os.system("apt-get install arduino") + elif opcion2 == "4": + cmd = os.system("apt-get install dex2jar") + elif opcion2 == "5": + cmd = os.system("apt-get install sakis3g") + elif opcion2 == "6": + cmd = os.system("apt-get install smali") + + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + elif opcion2 == "0": + cmd = os.system( + "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + while opcion1 == "14": + print(''' +\033[1;36m=+[ Extra\033[1;m + +1) Wifresti +2) Squid3 + ''') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + opcion2 = raw_input("\033[1;36mkat > \033[1;m") + if opcion2 == "1": + cmd = os.system( + "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") + print(" ") + elif opcion2 == "2": + cmd = os.system("apt-get install squid3") + print(" ") + elif opcion2 == "back": + inicio() + elif opcion2 == "gohome": + inicio1() + + inicio() + inicio1() + except KeyboardInterrupt: + print("Shutdown requested...Goodbye...") + except Exception: + traceback.print_exc(file=sys.stdout) + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..0cc170a --- /dev/null +++ b/todo.md @@ -0,0 +1,18 @@ +Install.sh: + - Check Package Manager + - Check Dependencies + - Check Configuration + - Check Permissions + - Display Welcome Message + - Install Packages + - Install Dependencies + - Install Configuration + - Display Warning Message about the repository + - Adding GPG Key + +katoolin.py: + - Update Katoolin to python3 + - Fix GPG Key Error + - Fix Katoolin Error + - Detest Linux Distribution + - Install Katoolin on any Linux Distribution \ No newline at end of file From 089d89aab1a6fb0f8cff2871ddb1706bc9b5a3a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilhem=20J=C3=A9hanno?= Date: Wed, 18 Jan 2023 10:04:40 +0100 Subject: [PATCH 02/33] [~] - Updated .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index ba74660..631ff77 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,6 @@ docs/_build/ # PyBuilder target/ + +# Useless files +.DS_Store \ No newline at end of file From 62cae3848c02cd5022342b2af0aaf1724c7effda Mon Sep 17 00:00:00 2001 From: 0x4775696775690a0a <72016897+0xGuigui@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:48:08 +0100 Subject: [PATCH 03/33] Update README.md --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9e8a435..2cbe986 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Katoolin 3 -[![Licence - GNU General Public License v2.0](https://img.shields.io/badge/Licence-GNU_General_Public_License_v2.0-2ea44f)](https://github.com/Nysioko/Katoolin3/blob/master/LICENCE) +[![Licence - GNU General Public License v2.0](https://img.shields.io/badge/Licence-GNU_General_Public_License_v2.0-2ea44f)](https://github.com/0xGuigui/Katoolin3/blob/master/LICENCE) [![Python 3](https://img.shields.io/badge/Python_3-gray?logo=python)](https://www.python.org/) -[![Katoolin 3](https://img.shields.io/badge/Katoolin_3-darkgreen?logo=Kali+Linux&logoColor=white)](https://github.com/Nysioko/Katoolin3/) +[![Katoolin 3](https://img.shields.io/badge/Katoolin_3-darkgreen?logo=Kali+Linux&logoColor=white)](https://github.com/0xGuigui/Katoolin3/) ![Logo](https://i.imgur.com/FbsdrLU.png) @@ -11,7 +11,7 @@ Install Kali Tools on Your Ubuntu/Debian distribution! ## Authors - Original code by [@LionSec](https://github.com/LionSec) -- Updated by [@Nysioko](https://github.com/Nysioko) +- Updated by [@0xGuigui](https://github.com/0xGuigui) ## Requirements @@ -34,7 +34,7 @@ Install Kali Tools on Your Ubuntu/Debian distribution! At first, clone the repo with the command: - git clone https://github.com/Nysioko/Katoolin3.git && cd Katoolin3 + git clone https://github.com/0xGuigui/Katoolin3.git && cd Katoolin3 Assign the necessary permissions to the file for it to run as a program: @@ -87,7 +87,7 @@ However, it remains usable and not everything is to be thrown away, which is why Please visit https://github.com/LionSec/katoolin/issues -or visit https://github.com/Nysioko/Katoolin3/issues +or visit https://github.com/0xGuigui/Katoolin3/issues ## Informations @@ -96,11 +96,10 @@ You can still find the base script in the /old/ folder in the repo, but it is no ## License This project is licensed under the GNU General Public License v2.0 - see -the [LICENSE](https://github.com/Nysioko/Katoolin3/blob/master/LICENCE) file for details +the [LICENSE](https://github.com/0xGuigui/Katoolin3/blob/master/LICENCE) file for details ## Contact If you want to contact me you can reach me at: -- [Email](mailto:nysioko@gmail.com) -- [Twitter](https://twitter.com/Nysioko) +- [Email](mailto:0xguigui@proton.me) From 63593d9b56076ee1df6625035ea7307edb960458 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:00:33 +0100 Subject: [PATCH 04/33] Update .gitignore and enhance katoolin3.py functionality --- .gitignore | 5 ++- katoolin3.py | 123 +++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 99 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 631ff77..883572e 100644 --- a/.gitignore +++ b/.gitignore @@ -57,4 +57,7 @@ docs/_build/ target/ # Useless files -.DS_Store \ No newline at end of file +.DS_Store +Thumbs.db +.idea/ +.vscode/ \ No newline at end of file diff --git a/katoolin3.py b/katoolin3.py index d234299..07ae95d 100755 --- a/katoolin3.py +++ b/katoolin3.py @@ -3,15 +3,78 @@ import os import sys import traceback +import subprocess def setup(): if os.geteuid() != 0: print( "You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") - sys.exit() - else: - os.system("clear") + return False + os.system("clear") + return True + + +def run_shell(cmd): + return subprocess.run(cmd, shell=True).returncode == 0 + + +def add_kali_key(): + cmd = ( + "wget -q -O - https://archive.kali.org/archive-key.asc | " + "gpg --dearmor | tee /usr/share/keyrings/kali-archive-keyring.gpg >/dev/null" + ) + if not run_shell(cmd): + return False + try: + os.chmod("/usr/share/keyrings/kali-archive-keyring.gpg", 0o644) + except OSError: + return False + return True + + +def write_kali_repo(): + repo_path = "/etc/apt/sources.list.d/katoolin.list" + repo_line = ( + "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] " + "https://http.kali.org/kali kali-rolling main contrib non-free\n" + ) + if os.path.exists(repo_path): + return "exists" + try: + with open(repo_path, "w") as repo_file: + repo_file.write("# Kali linux repositories | Added by Katoolin\n") + repo_file.write(repo_line) + except IOError: + return "error" + return "added" + + +def remove_kali_repo(): + repo_path = "/etc/apt/sources.list.d/katoolin.list" + removed_repo = False + if os.path.exists(repo_path): + os.remove(repo_path) + removed_repo = True + sources_path = "/etc/apt/sources.list" + delete_list = [ + "# Kali linux repositories | Added by Katoolin\n", + "deb http://http.kali.org/kali kali-rolling main contrib non-free\n", + "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] " + "https://http.kali.org/kali kali-rolling main contrib non-free\n", + ] + try: + with open(sources_path, "r") as fin: + lines = fin.readlines() + with open(sources_path, "w") as fout: + for line in lines: + if line in delete_list: + removed_repo = True + continue + fout.write(line) + except IOError: + return False + return removed_repo def help_menu(): @@ -35,8 +98,8 @@ def main_menu(): print("") print("") print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") - print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: Nysioko\033[1;m") - print(" \033[1;32m+ -- -- +=[ Latest update: 17/05/2022\033[1;m") + print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: 0xGuigui\033[1;m") + print(" \033[1;32m+ -- -- +=[ Latest update: 1/12/2026\033[1;m") print("") print("") print("\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to " @@ -48,7 +111,8 @@ def main_menu(): def main(): try: - setup() + if not setup(): + return main_menu() def initio1(): @@ -74,30 +138,33 @@ def initio1(): repo = input( "\033[1;32mWhat do you want to do ?> \033[1;m") if repo == "1": - cmd1 = os.system( - "wget -q -O - archive.kali.org/archive-key.asc | sudo apt-key add") - cmd2 = os.system( - "echo '# Kali linux repositories | Added by Katoolin\ndeb http://http.kali.org/kali " - "kali-rolling main contrib non-free' >> /etc/apt/sources.list") + if not add_kali_key(): + print( + "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") + continue + repo_status = write_kali_repo() + if repo_status == "added": + print( + "\033[1;32m\nKali repositories have been added.\n\033[1;m") + elif repo_status == "exists": + print( + "\033[1;33m\nKali repositories are already present.\n\033[1;m") + else: + print( + "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") elif repo == "2": - cmd3 = os.system("apt-get update -m") + if run_shell("apt-get update"): + print("\033[1;32m\nUpdate completed.\n\033[1;m") + else: + print("\033[1;31m\nUpdate failed.\n\033[1;m") elif repo == "3": - infile = '/etc/apt/sources.list' - outfile: str = "/etc/apt/sources.list" - - delete_list: list[str] = ["# Kali linux repositories | Added by Katoolin\n", - "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"] - fin = open(infile) - os.remove("/etc/apt/sources.list") - out = open(outfile, "w+") - for line in fin: - for word in delete_list: - line = line.replace(word, "") - out.write(line) - fin.close() - out.close() - print( - "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") + removed = remove_kali_repo() + if removed: + print( + "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") + else: + print( + "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") elif repo == "back": initio1() elif repo == "gohome": From 480ed01c4a2cf8355b4fdce84e826bc9a36909b3 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:05:07 +0100 Subject: [PATCH 05/33] Refactor code structure for improved readability and maintainability --- old/katoolin.py | 1413 ----------------------------------------------- 1 file changed, 1413 deletions(-) delete mode 100755 old/katoolin.py diff --git a/old/katoolin.py b/old/katoolin.py deleted file mode 100755 index 9c39e99..0000000 --- a/old/katoolin.py +++ /dev/null @@ -1,1413 +0,0 @@ -#!/usr/bin/python2.7 - -import os -import sys -import traceback - -if os.geteuid() != 0: - print ("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") - sys.exit() - -def main(): - try: - print(''' - - $$\ $$\ $$\ $$\ $$\ - $$ | $$ | $$ | $$ |\__| - $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ - $$$$$ / \____$$\ \_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ - $$ $$< $$$$$$$ | \033[1;36mKali linux tools installer\033[1;m |$$ |$$ |$$ | $$ | - \033[1;36m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ | - $$ | \$$\ \$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ | - \__| \__| \_______| \____/ \______/ \______/ \__|\__|\__| \__| V2.3 \033[1;m - - - \033[1;32m+ -- -- +=[ Author: LionSec | Homepage: www.neodrix.com \033[1;m - \033[1;32m+ -- -- +=[ Updated by: Nysioko | 04/13/2022 \033[1;m - \033[1;32m+ -- -- +=[ 331 Tools \033[1;m - - -\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to avoid any kind of problem.\033[1;m -\033[1;91m[W] In somes cases, Kali-linux repositories can destabilize your system or worse, completely destroy it.\033[1;m - ''') - - def inicio1(): - while True: - print(''' -1) Add Kali repositories & Update -2) View Categories -3) Install classicmenu indicator -4) Install Kali menu -5) Help - - ''') - - opcion0 = raw_input("\033[1;36mkat > \033[1;m") - if opcion0 == "exit" or opcion0 == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - while opcion0 == "1": - print(''' -1) Add kali linux repositories -2) Update -3) Remove all kali linux repositories -4) View the contents of sources.list file - - ''') - repo = raw_input( - "\033[1;32mWhat do you want to do ?> \033[1;m") - if repo == "1": - cmd1 = os.system( - "wget -q -O - archive.kali.org/archive-key.asc | sudo apt-key add") - cmd2 = os.system( - "echo '# Kali linux repositories | Added by Katoolin\ndeb http://http.kali.org/kali kali-rolling main contrib non-free' >> /etc/apt/sources.list") - elif repo == "2": - cmd3 = os.system("apt-get update -m") - elif repo == "3": - infile = "/etc/apt/sources.list" - outfile = "/etc/apt/sources.list" - - delete_list = ["# Kali linux repositories | Added by Katoolin\n", - "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"] - fin = open(infile) - os.remove("/etc/apt/sources.list") - fout = open(outfile, "w+") - for line in fin: - for word in delete_list: - line = line.replace(word, "") - fout.write(line) - fin.close() - fout.close() - print( - "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") - elif repo == "back": - inicio1() - elif repo == "gohome": - inicio1() - elif repo == "exit" or repo == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - elif repo == "4": - file = open('/etc/apt/sources.list', 'r') - - print(file.read()) - - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - if opcion0 == "3": - print(''' -ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. - -It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. - -Like the classic GNOME menu, it includes Wine games and applications if you have those installed. - -For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ - -''') - repo = raw_input( - "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system( - "add-apt-repository ppa:diesch/testing && apt-get update") - cmd = os.system( - "sudo apt-get install classicmenu-indicator") - - elif opcion0 == "4": - repo = raw_input( - "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system("apt-get install kali-menu") - elif opcion0 == "5": - print(''' -****************** +Commands+ ****************** - - -\033[1;32mback\033[1;m \033[1;33mGo back\033[1;m - -\033[1;32mgohome\033[1;m \033[1;33mGo to the main menu\033[1;m - -\033[1;32mExit\033[1;m \033[1;33mExit the script\033[1;m - - ''') - - def inicio(): - while opcion0 == "2": - print(''' -\033[1;36m**************************** All Categories *****************************\033[1;m - -1) Information Gathering 8) Exploitation Tools -2) Vulnerability Analysis 9) Forensics Tools -3) Wireless Attacks 10) Stress Testing -4) Web Applications 11) Password Attacks -5) Sniffing & Spoofing 12) Reverse Engineering -6) Maintaining Access 13) Hardware Hacking -7) Reporting Tools 14) Extra - -0) All - - ''') - print( - "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") - - opcion1 = raw_input("\033[1;36mkat > \033[1;m") - if opcion1 == "back": - inicio1() - elif opcion1 == "gohome": - inicio1() - elif opcion1 == "exit" or opcion1 == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - elif opcion1 == "0": - cmd = os.system("apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - while opcion1 == "1": - print(''' -\033[1;36m=+[ Information Gathering\033[1;m - - 1) acccheck 30) lbd - 2) ace-voip 31) Maltego Teeth - 3) Amap 32) masscan - 4) Automater 33) Metagoofil - 5) bing-ip2hosts 34) Miranda - 6) braa 35) Nmap - 7) CaseFile 36) ntop - 8) CDPSnarf 37) p0f - 9) cisco-torch 38) Parsero -10) Cookie Cadger 39) Recon-ng -11) copy-router-config 40) SET -12) DMitry 41) smtp-user-enum -13) dnmap 42) snmpcheck -14) dnsenum 43) sslcaudit -15) dnsmap 44) SSLsplit -16) DNSRecon 45) sslstrip -17) dnstracer 46) SSLyze -18) dnswalk 47) THC-IPV6 -19) DotDotPwn 48) theHarvester -20) enum4linux 49) TLSSLed -21) enumIAX 50) twofi -22) exploitdb 51) URLCrazy -23) Fierce 52) Wireshark -24) Firewalk 53) WOL-E -25) fragroute 54) Xplico -26) fragrouter 55) iSMTP -27) Ghost Phisher 56) InTrace -28) GoLismero 57) hping3 -29) goofile - -0) Install all Information Gathering tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install acccheck") - - elif opcion2 == "2": - cmd = os.system("apt-get install ace-voip") - - elif opcion2 == "3": - cmd = os.system("apt-get install amap") - elif opcion2 == "4": - cmd = os.system("apt-get install automater") - elif opcion2 == "5": - cmd = os.system( - "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - elif opcion2 == "6": - cmd = os.system("apt-get install braa") - elif opcion2 == "7": - cmd = os.system("apt-get install casefile") - elif opcion2 == "8": - cmd = os.system("apt-get install cdpsnarf") - elif opcion2 == "9": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "10": - cmd = os.system( - "apt-get install cookie-cadger") - elif opcion2 == "11": - cmd = os.system( - "apt-get install copy-router-config") - elif opcion2 == "12": - cmd = os.system("apt-get install dmitry") - elif opcion2 == "13": - cmd = os.system("apt-get install dnmap") - elif opcion2 == "14": - cmd = os.system("apt-get install dnsenum") - elif opcion2 == "15": - cmd = os.system("apt-get install dnsmap") - elif opcion2 == "16": - cmd = os.system("apt-get install dnsrecon") - elif opcion2 == "17": - cmd = os.system("apt-get install dnstracer") - elif opcion2 == "18": - cmd = os.system("apt-get install dnswalk") - elif opcion2 == "19": - cmd = os.system("apt-get install dotdotpwn") - elif opcion2 == "20": - cmd = os.system("apt-get install enum4linux") - elif opcion2 == "21": - cmd = os.system("apt-get install enumiax") - elif opcion2 == "22": - cmd = os.system("apt-get install exploitdb") - elif opcion2 == "23": - cmd = os.system("apt-get install fierce") - elif opcion2 == "24": - cmd = os.system("apt-get install firewalk") - elif opcion2 == "25": - cmd = os.system("apt-get install fragroute") - elif opcion2 == "26": - cmd = os.system("apt-get install fragrouter") - elif opcion2 == "27": - cmd = os.system( - "apt-get install ghost-phisher") - elif opcion2 == "28": - cmd = os.system("apt-get install golismero") - elif opcion2 == "29": - cmd = os.system("apt-get install goofile") - elif opcion2 == "30": - cmd = os.system("apt-get install lbd") - elif opcion2 == "31": - cmd = os.system( - "apt-get install maltego-teeth") - elif opcion2 == "32": - cmd = os.system("apt-get install masscan") - elif opcion2 == "33": - cmd = os.system("apt-get install metagoofil") - elif opcion2 == "34": - cmd = os.system("apt-get install miranda") - elif opcion2 == "35": - cmd = os.system("apt-get install nmap") - elif opcion2 == "36": - print('ntop is unavailable') - elif opcion2 == "37": - cmd = os.system("apt-get install p0f") - elif opcion2 == "38": - cmd = os.system("apt-get install parsero") - elif opcion2 == "39": - cmd = os.system("apt-get install recon-ng") - elif opcion2 == "40": - cmd = os.system("apt-get install set") - elif opcion2 == "41": - cmd = os.system( - "apt-get install smtp-user-enum") - elif opcion2 == "42": - cmd = os.system("apt-get install snmpcheck") - elif opcion2 == "43": - cmd = os.system("apt-get install sslcaudit") - elif opcion2 == "44": - cmd = os.system("apt-get install sslsplit") - elif opcion2 == "45": - cmd = os.system("apt-get install sslstrip") - elif opcion2 == "46": - cmd = os.system("apt-get install sslyze") - elif opcion2 == "47": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "48": - cmd = os.system("apt-get install theharvester") - elif opcion2 == "49": - cmd = os.system("apt-get install tlssled") - elif opcion2 == "50": - cmd = os.system("apt-get install twofi") - elif opcion2 == "51": - cmd = os.system("apt-get install urlcrazy") - elif opcion2 == "52": - cmd = os.system("apt-get install wireshark") - elif opcion2 == "53": - cmd = os.system("apt-get install wol-e") - elif opcion2 == "54": - cmd = os.system("apt-get install xplico") - elif opcion2 == "55": - cmd = os.system("apt-get install ismtp") - elif opcion2 == "56": - cmd = os.system("apt-get install intrace") - elif opcion2 == "57": - cmd = os.system("apt-get install hping3") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "2": - print(''' -\033[1;36m=+[ Vulnerability Analysis\033[1;m - - 1) BBQSQL 18) Nmap - 2) BED 19)ohrwurm - 3) cisco-auditing-tool 20) openvas-administrator - 4) cisco-global-exploiter 21) openvas-cli - 5) cisco-ocs 22) openvas-manager - 6) cisco-torch 23) openvas-scanner - 7) copy-router-config 24) Oscanner - 8) commix 25) Powerfuzzer - 9) DBPwAudit 26) sfuzz -10) DoonaDot 27) SidGuesser -11) DotPwn 28) SIPArmyKnife -12) Greenbone Security Assistant 29) sqlmap -13) GSD 30) Sqlninja -14) HexorBase 31) sqlsus -15) Inguma 32) THC-IPV6 -16) jSQL 33) tnscmd10g -17) Lynis 34) unix-privesc-check - 35) Yersinia - -0) Install all Vulnerability Analysis tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install bbqsql") - - elif opcion2 == "2": - cmd = os.system("apt-get install bed") - - elif opcion2 == "3": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif opcion2 == "4": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif opcion2 == "5": - cmd = os.system("apt-get install cisco-ocs") - elif opcion2 == "6": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "7": - cmd = os.system( - "apt-get install copy-router-config") - elif opcion2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "9": - cmd = os.system( - "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") - elif opcion2 == "10": - cmd = os.system("apt-get install doona") - elif opcion2 == "11": - cmd = os.system("apt-get install dotdotpwn") - elif opcion2 == "12": - cmd = os.system( - "apt-get install greenbone-security-assistant") - elif opcion2 == "13": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gsd.git") - elif opcion2 == "14": - cmd = os.system("apt-get install hexorbase") - elif opcion2 == "15": - print( - "Please download inguma from : http://inguma.sourceforge.net") - elif opcion2 == "16": - cmd = os.system("apt-get install jsql") - elif opcion2 == "17": - cmd = os.system("apt-get install lynis") - elif opcion2 == "18": - cmd = os.system("apt-get install nmap") - elif opcion2 == "19": - cmd = os.system("apt-get install ohrwurm") - elif opcion2 == "20": - cmd = os.system( - "apt-get install openvas-administrator") - elif opcion2 == "21": - cmd = os.system("apt-get install openvas-cli") - elif opcion2 == "22": - cmd = os.system( - "apt-get install openvas-manager") - elif opcion2 == "23": - cmd = os.system( - "apt-get install openvas-scanner") - elif opcion2 == "24": - cmd = os.system("apt-get install oscanner") - elif opcion2 == "25": - cmd = os.system("apt-get install powerfuzzer") - elif opcion2 == "26": - cmd = os.system("apt-get install sfuzz") - elif opcion2 == "27": - cmd = os.system("apt-get install sidguesser") - elif opcion2 == "28": - cmd = os.system("apt-get install siparmyknife") - elif opcion2 == "29": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "30": - cmd = os.system("apt-get install sqlninja") - elif opcion2 == "31": - cmd = os.system("apt-get install sqlsus") - elif opcion2 == "32": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "33": - cmd = os.system("apt-get install tnscmd10g") - elif opcion2 == "34": - cmd = os.system( - "apt-get install unix-privesc-check") - elif opcion2 == "35": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "3": - print(''' - \033[1;36m=+[ Wireless Attacks\033[1;m - - 1) Aircrack-ng 17) kalibrate-rtl - 2) Asleap 18) KillerBee - 3) Bluelog 19) Kismet - 4) BlueMaho 20) mdk3 - 5) Bluepot 21) mfcuk - 6) BlueRanger 22) mfoc - 7) Bluesnarfer 23) mfterm - 8) Bully 24) Multimon-NG - 9) coWPAtty 25) PixieWPS -10) crackle 26) Reaver -11) eapmd5pass 27) redfang -12) Fern Wifi Cracker 28) RTLSDR Scanner -13) Ghost Phisher 29) Spooftooph -14) GISKismet 30) Wifi Honey 31) Wifitap -16) gr-scan 32) Wifite - -0) Install all Wireless Attacks tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install aircrack-ng") - - elif opcion2 == "2": - cmd = os.system("apt-get install asleap") - - elif opcion2 == "3": - cmd = os.system("apt-get install bluelog") - elif opcion2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") - elif opcion2 == "5": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") - elif opcion2 == "6": - cmd = os.system("apt-get install blueranger") - elif opcion2 == "7": - cmd = os.system("apt-get install bluesnarfer") - elif opcion2 == "8": - cmd = os.system("apt-get install bully") - elif opcion2 == "9": - cmd = os.system("apt-get install cowpatty") - elif opcion2 == "10": - cmd = os.system("apt-get install crackle") - elif opcion2 == "11": - cmd = os.system("apt-get install eapmd5pass") - elif opcion2 == "12": - cmd = os.system( - "apt-get install fern-wifi-cracker") - elif opcion2 == "13": - cmd = os.system( - "apt-get install ghost-phisher") - elif opcion2 == "14": - cmd = os.system("apt-get install giskismet") - elif opcion2 == "16": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") - elif opcion2 == "17": - cmd = os.system( - "apt-get install kalibrate-rtl") - elif opcion2 == "18": - cmd = os.system("apt-get install killerbee") - elif opcion2 == "19": - cmd = os.system("apt-get install kismet") - elif opcion2 == "20": - cmd = os.system("apt-get install mdk3") - elif opcion2 == "21": - cmd = os.system("apt-get install mfcuk") - elif opcion2 == "22": - cmd = os.system("apt-get install mfoc") - elif opcion2 == "23": - cmd = os.system("apt-get install mfterm") - elif opcion2 == "24": - cmd = os.system("apt-get install multimon-ng") - elif opcion2 == "25": - cmd = os.system("apt-get install pixiewps") - elif opcion2 == "26": - cmd = os.system("apt-get install reaver") - elif opcion2 == "27": - cmd = os.system("apt-get install redfang") - elif opcion2 == "28": - cmd = os.system( - "apt-get install rtlsdr-scanner") - elif opcion2 == "29": - cmd = os.system("apt-get install spooftooph") - elif opcion2 == "30": - cmd = os.system("apt-get install wifi-honey") - elif opcion2 == "31": - cmd = os.system("apt-get install wifitap") - elif opcion2 == "32": - cmd = os.system("apt-get install wifite") - elif opcion2 == "0": - cmd = os.system("apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "4": - print(''' -\033[1;36m=+[ Web Applications\033[1;m - - 1) apache-users 21) Parsero - 2) Arachni 22) plecost - 3) BBQSQL 23) Powerfuzzer - 4) BlindElephant 24) ProxyStrike - 5) Burp Suite 25) Recon-ng - 6) commix 26) Skipfish - 7) CutyCapt 27) sqlmap - 8) DAVTest 28) Sqlninja - 9) deblaze 29) sqlsus -10) DIRB 30) ua-tester -11) DirBuster 31) Uniscan -12) fimap 32) Vega -13) FunkLoad 33) w3af -14) Grabber 34) WebScarab -15) jboss-autopwn 35) Webshag -16) joomscan 36) WebSlayer -17) jSQL 37) WebSploit -18) Maltego Teeth 38) Wfuzz -19) PadBuster 39) WPScan -20) Paros 40) XSSer - 41) zaproxy - -0) Install all Web Applications tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install apache-users") - - elif opcion2 == "2": - cmd = os.system("apt-get install arachni") - - elif opcion2 == "3": - cmd = os.system("apt-get install bbqsql") - elif opcion2 == "4": - cmd = os.system( - "apt-get install blindelephant") - elif opcion2 == "5": - cmd = os.system("apt-get install burpsuite") - elif opcion2 == "6": - cmd = os.system("apt-get install cutycapt") - elif opcion2 == "7": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "8": - cmd = os.system("apt-get install davtest") - elif opcion2 == "9": - cmd = os.system("apt-get install deblaze") - elif opcion2 == "10": - cmd = os.system("apt-get install dirb") - elif opcion2 == "11": - cmd = os.system("apt-get install dirbuster") - elif opcion2 == "12": - cmd = os.system("apt-get install fimap") - elif opcion2 == "13": - cmd = os.system("apt-get install funkload") - elif opcion2 == "14": - cmd = os.system("apt-get install grabber") - elif opcion2 == "15": - cmd = os.system( - "apt-get install jboss-autopwn") - elif opcion2 == "16": - cmd = os.system("apt-get install joomscan") - elif opcion2 == "17": - cmd = os.system("apt-get install jsql") - elif opcion2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif opcion2 == "19": - cmd = os.system("apt-get install padbuster") - elif opcion2 == "20": - cmd = os.system("apt-get install paros") - elif opcion2 == "21": - cmd = os.system("apt-get install parsero") - elif opcion2 == "22": - cmd = os.system("apt-get install plecost") - elif opcion2 == "23": - cmd = os.system("apt-get install powerfuzzer") - elif opcion2 == "24": - cmd = os.system("apt-get install proxystrike") - elif opcion2 == "25": - cmd = os.system("apt-get install recon-ng") - elif opcion2 == "26": - cmd = os.system("apt-get install skipfish") - elif opcion2 == "27": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "28": - cmd = os.system("apt-get install sqlninja") - elif opcion2 == "29": - cmd = os.system("apt-get install sqlsus") - elif opcion2 == "30": - cmd = os.system("apt-get install ua-tester") - elif opcion2 == "31": - cmd = os.system("apt-get install uniscan") - elif opcion2 == "32": - cmd = os.system("apt-get install vega") - elif opcion2 == "33": - cmd = os.system("apt-get install w3af") - elif opcion2 == "34": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "35": - print("Webshag is unavailable") - elif opcion2 == "36": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") - elif opcion2 == "37": - cmd = os.system("apt-get install websploit") - elif opcion2 == "38": - cmd = os.system("apt-get install wfuzz") - elif opcion2 == "39": - cmd = os.system("apt-get install wpscan") - elif opcion2 == "40": - cmd = os.system("apt-get install xsser") - elif opcion2 == "41": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "5": - print(''' -\033[1;36m=+[ Sniffing & Spoofing\033[1;m - - 1) Burp Suite 17) rtpmixsound - 2) DNSChef 18) sctpscan - 3) fiked 19) SIPArmyKnife - 4) hamster-sidejack 20) SIPp - 5) HexInject 21) SIPVicious - 6) iaxflood 22) SniffJoke - 7) inviteflood 23) SSLsplit - 8) iSMTP 24) sslstrip - 9) isr-evilgrade 25) THC-IPV6 -10) mitmproxy 26) VoIPHopper -11) ohrwurm 27) WebScarab -12) protos-sip 28) Wifi Honey -13) rebind 29) Wireshark -14) responder 30) xspy -15) rtpbreak 31) Yersinia -16) rtpinsertsound 32) zaproxy - -0) Install all Sniffing & Spoofing tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install burpsuite") - - elif opcion2 == "2": - cmd = os.system("apt-get install dnschef") - - elif opcion2 == "3": - cmd = os.system("apt-get install fiked") - elif opcion2 == "4": - cmd = os.system( - "apt-get install hamster-sidejack") - elif opcion2 == "5": - cmd = os.system("apt-get install hexinject") - elif opcion2 == "6": - cmd = os.system("apt-get install iaxflood") - elif opcion2 == "7": - cmd = os.system("apt-get install inviteflood") - elif opcion2 == "8": - cmd = os.system("apt-get install ismtp") - elif opcion2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") - elif opcion2 == "10": - cmd = os.system("apt-get install mitmproxy") - elif opcion2 == "11": - cmd = os.system("apt-get install ohrwurm") - elif opcion2 == "12": - cmd = os.system("apt-get install protos-sip") - elif opcion2 == "13": - cmd = os.system("apt-get install rebind") - elif opcion2 == "14": - cmd = os.system("apt-get install responder") - elif opcion2 == "15": - cmd = os.system("apt-get install rtpbreak") - elif opcion2 == "16": - cmd = os.system( - "apt-get install rtpinsertsound") - elif opcion2 == "17": - cmd = os.system("apt-get install rtpmixsound") - elif opcion2 == "18": - cmd = os.system("apt-get install sctpscan") - elif opcion2 == "19": - cmd = os.system("apt-get install siparmyknife") - elif opcion2 == "20": - cmd = os.system("apt-get install sipp") - elif opcion2 == "21": - cmd = os.system("apt-get install sipvicious") - elif opcion2 == "22": - cmd = os.system("apt-get install sniffjoke") - elif opcion2 == "23": - cmd = os.system("apt-get install sslsplit") - elif opcion2 == "24": - cmd = os.system("apt-get install sslstrip") - elif opcion2 == "25": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "26": - cmd = os.system("apt-get install voiphopper") - elif opcion2 == "27": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "28": - cmd = os.system("apt-get install wifi-honey") - elif opcion2 == "29": - cmd = os.system("apt-get install wireshark") - elif opcion2 == "30": - cmd = os.system("apt-get install xspy") - elif opcion2 == "31": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "32": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - - elif opcion2 == "0": - cmd = os.system("apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "6": - print(''' -\033[1;36m=+[ Maintaining Access\033[1;m - - 1) CryptCat - 2) Cymothoa - 3) dbd - 4) dns2tcp - 5) http-tunnel - 6) HTTPTunnel - 7) Intersect - 8) Nishang - 9) polenum -10) PowerSploit -11) pwnat -12) RidEnum -13) sbd -14) U3-Pwn -15) Webshells -16) Weevely - -0) Install all Maintaining Access tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install cryptcat") - - elif opcion2 == "2": - cmd = os.system("apt-get install cymothoa") - - elif opcion2 == "3": - cmd = os.system("apt-get install dbd") - elif opcion2 == "4": - cmd = os.system("apt-get install dns2tcp") - elif opcion2 == "5": - cmd = os.system("apt-get install http-tunnel") - elif opcion2 == "6": - cmd = os.system("apt-get install httptunnel") - elif opcion2 == "7": - cmd = os.system("apt-get install intersect") - elif opcion2 == "8": - cmd = os.system("apt-get install nishang") - elif opcion2 == "9": - cmd = os.system("apt-get install polenum") - elif opcion2 == "10": - cmd = os.system("apt-get install powersploit") - elif opcion2 == "11": - cmd = os.system("apt-get install pwnat") - elif opcion2 == "12": - cmd = os.system("apt-get install ridenum") - elif opcion2 == "13": - cmd = os.system("apt-get install sbd") - elif opcion2 == "14": - cmd = os.system("apt-get install u3-pwn") - elif opcion2 == "15": - cmd = os.system("apt-get install webshells") - elif opcion2 == "16": - cmd = os.system("apt-get install weevely") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "7": - print(''' -\033[1;36m=+[ Reporting Tools\033[1;m - -1) CaseFile -2) CutyCapt -3) dos2unix -4) Dradis -5) KeepNote -6) MagicTree -7) Metagoofil -8) Nipper-ng -9) pipal - -0) Install all Reporting Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install casefile") - - elif opcion2 == "2": - cmd = os.system("apt-get install cutycapt") - - elif opcion2 == "3": - cmd = os.system("apt-get install dos2unix") - elif opcion2 == "4": - cmd = os.system("apt-get install dradis") - elif opcion2 == "5": - cmd = os.system("apt-get install keepnote") - elif opcion2 == "6": - cmd = os.system("apt-get install magictree") - elif opcion2 == "7": - cmd = os.system("apt-get install metagoofil") - elif opcion2 == "8": - cmd = os.system("apt-get install nipper-ng") - elif opcion2 == "9": - cmd = os.system("apt-get install pipal") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "8": - print(''' -\033[1;36m=+[ Exploitation Tools\033[1;m - - 1) Armitage - 2) Backdoor Factory - 3) BeEF - 4) cisco-auditing-tool - 5) cisco-global-exploiter - 6) cisco-ocs - 7) cisco-torch - 8) commix - 9) crackle -10) jboss-autopwn -11) Linux Exploit Suggester -12) Maltego Teeth -13) SET -14) ShellNoob -15) sqlmap -16) THC-IPV6 -17) Yersinia - -0) Install all Exploitation Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install armitage") - - elif opcion2 == "2": - cmd = os.system( - "apt-get install backdoor-factory") - - elif opcion2 == "3": - cmd = os.system("apt-get install beef-xss") - elif opcion2 == "4": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif opcion2 == "5": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif opcion2 == "6": - cmd = os.system("apt-get install cisco-ocs") - elif opcion2 == "7": - cmd = os.system("apt-get install cisco-torch") - elif opcion2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif opcion2 == "9": - cmd = os.system("apt-get install crackle") - elif opcion2 == "10": - cmd = os.system( - "apt-get install jboss-autopwn") - elif opcion2 == "11": - cmd = os.system( - "apt-get install linux-exploit-suggester") - elif opcion2 == "12": - cmd = os.system( - "apt-get install maltego-teeth") - elif opcion2 == "13": - cmd = os.system("apt-get install set") - elif opcion2 == "14": - cmd = os.system("apt-get install shellnoob") - elif opcion2 == "15": - cmd = os.system("apt-get install sqlmap") - elif opcion2 == "16": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "17": - cmd = os.system("apt-get install yersinia") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "9": - print(''' -\033[1;36m=+[ Forensics Tools\033[1;m - - 1) Binwalk 11) extundelete - 2) bulk-extractor 12) Foremost - 3) Capstone 13) Galleta - 4) chntpw 14) Guymager - 5) Cuckoo 15) iPhone Backup Analyzer - 6) dc3dd 16) p0f - 7) ddrescue 17) pdf-parser - 8) DFF 18) pdfid - 9) diStorm3 19) pdgmail -10) Dumpzilla 20) peepdf - 21) RegRipper - 22) Volatility - 23) Xplico - -0) Install all Forensics Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install binwalk") - - elif opcion2 == "2": - cmd = os.system( - "apt-get install bulk-extractor") - - elif opcion2 == "3": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/capstone.git") - elif opcion2 == "4": - cmd = os.system("apt-get install chntpw") - elif opcion2 == "5": - cmd = os.system("apt-get install cuckoo") - elif opcion2 == "6": - cmd = os.system("apt-get install dc3dd") - elif opcion2 == "7": - cmd = os.system("apt-get install ddrescue") - elif opcion2 == "8": - print('dff is unavailable') - elif opcion2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") - elif opcion2 == "10": - cmd = os.system("apt-get install dumpzilla") - elif opcion2 == "11": - cmd = os.system("apt-get install extundelete") - elif opcion2 == "12": - cmd = os.system("apt-get install foremost") - elif opcion2 == "13": - cmd = os.system("apt-get install galleta") - elif opcion2 == "14": - cmd = os.system("apt-get install guymager") - elif opcion2 == "15": - cmd = os.system( - "apt-get install iphone-backup-analyzer") - elif opcion2 == "16": - cmd = os.system("apt-get install p0f") - elif opcion2 == "17": - cmd = os.system("apt-get install pdf-parser") - elif opcion2 == "18": - cmd = os.system("apt-get install pdfid") - elif opcion2 == "19": - cmd = os.system("apt-get install pdgmail") - elif opcion2 == "20": - cmd = os.system("apt-get install peepdf") - elif opcion2 == "21": - print("Regripper is unavailable") - elif opcion2 == "22": - cmd = os.system("apt-get install volatility") - elif opcion2 == "23": - cmd = os.system("apt-get install xplico") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "10": - print(''' -\033[1;36m=+[ Stress Testing\033[1;m - - 1) DHCPig - 2) FunkLoad - 3) iaxflood - 4) Inundator - 5) inviteflood - 6) ipv6-toolkit - 7) mdk3 - 8) Reaver - 9) rtpflood -10) SlowHTTPTest -11) t50 -12) Termineter -13) THC-IPV6 -14) THC-SSL-DOS - -0) Install all Stress Testing tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install dhcpig") - - elif opcion2 == "2": - cmd = os.system("apt-get install funkload") - - elif opcion2 == "3": - cmd = os.system("apt-get install iaxflood") - elif opcion2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/inundator.git") - elif opcion2 == "5": - cmd = os.system("apt-get install inviteflood") - elif opcion2 == "6": - cmd = os.system("apt-get install ipv6-toolkit") - elif opcion2 == "7": - cmd = os.system("apt-get install mdk3") - elif opcion2 == "8": - cmd = os.system("apt-get install reaver") - elif opcion2 == "9": - cmd = os.system("apt-get install rtpflood") - elif opcion2 == "10": - cmd = os.system("apt-get install slowhttptest") - elif opcion2 == "11": - cmd = os.system("apt-get install t50") - elif opcion2 == "12": - cmd = os.system("apt-get install termineter") - elif opcion2 == "13": - cmd = os.system("apt-get install thc-ipv6") - elif opcion2 == "14": - cmd = os.system("apt-get install thc-ssl-dos ") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "11": - print(''' -\033[1;36m=+[ Password Attacks\033[1;m - - 1) acccheck 19) Maskprocessor - 2) Burp Suite 20) multiforcer - 3) CeWL 21) Ncrack - 4) chntpw 22) oclgausscrack - 5) cisco-auditing-tool 23) PACK - 6) CmosPwd 24) patator - 7) creddump 25) phrasendrescher - 8) crunch 26) polenum - 9) DBPwAudit 27) RainbowCrack -10) findmyhash 28) rcracki-mt -11) gpp-decrypt 29) RSMangler -12) hash-identifier 30) SQLdict -13) HexorBase 31) Statsprocessor -14) THC-Hydra 32) THC-pptp-bruter -15) John the Ripper 33) TrueCrack -16) Johnny 34) WebScarab -17) keimpx 35) wordlists -18) Maltego Teeth 36) zaproxy - -0) Install all Password Attacks tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install acccheck") - - elif opcion2 == "2": - cmd = os.system("apt-get install burpsuite") - - elif opcion2 == "3": - cmd = os.system("apt-get install cewl") - elif opcion2 == "4": - cmd = os.system("apt-get install chntpw") - elif opcion2 == "5": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif opcion2 == "6": - cmd = os.system("apt-get install cmospwd") - elif opcion2 == "7": - cmd = os.system("apt-get install creddump") - elif opcion2 == "8": - cmd = os.system("apt-get install crunch") - elif opcion2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") - elif opcion2 == "10": - cmd = os.system("apt-get install findmyhash") - elif opcion2 == "11": - cmd = os.system("apt-get install gpp-decrypt") - elif opcion2 == "12": - cmd = os.system( - "apt-get install hash-identifier") - elif opcion2 == "13": - cmd = os.system("apt-get install hexorbase") - elif opcion2 == "14": - cmd = os.system( - "echo 'please visit : https://www.thc.org/thc-hydra/' ") - elif opcion2 == "15": - cmd = os.system("apt-get install john") - elif opcion2 == "16": - cmd = os.system("apt-get install johnny") - elif opcion2 == "17": - cmd = os.system("apt-get install keimpx") - elif opcion2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif opcion2 == "19": - cmd = os.system( - "apt-get install maskprocessor") - elif opcion2 == "20": - cmd = os.system("apt-get install multiforcer") - elif opcion2 == "21": - cmd = os.system("apt-get install ncrack") - elif opcion2 == "22": - cmd = os.system( - "apt-get install oclgausscrack") - elif opcion2 == "23": - cmd = os.system("apt-get install pack") - elif opcion2 == "24": - cmd = os.system("apt-get install patator") - elif opcion2 == "25": - cmd = os.system( - "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") - elif opcion2 == "26": - cmd = os.system("apt-get install polenum") - elif opcion2 == "27": - cmd = os.system("apt-get install rainbowcrack") - elif opcion2 == "28": - cmd = os.system("apt-get install rcracki-mt") - elif opcion2 == "29": - cmd = os.system("apt-get install rsmangler") - elif opcion2 == "30": - print("Sqldict is unavailable") - elif opcion2 == "31": - cmd = os.system( - "apt-get install statsprocessor") - elif opcion2 == "32": - cmd = os.system( - "apt-get install thc-pptp-bruter") - elif opcion2 == "33": - cmd = os.system("apt-get install truecrack") - elif opcion2 == "34": - cmd = os.system("apt-get install webscarab") - elif opcion2 == "35": - cmd = os.system("apt-get install wordlists") - elif opcion2 == "36": - cmd = os.system("apt-get install zaproxy") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system("apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "12": - print(''' -\033[1;36m=+[ Reverse Engineering\033[1;m - - 1) apktool - 2) dex2jar - 3) diStorm3 - 4) edb-debugger - 5) jad - 6) javasnoop - 7) JD-GUI - 8) OllyDbg - 9) smali -10) Valgrind -11) YARA - -0) Install all Reverse Engineering tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install apktool") - - elif opcion2 == "2": - cmd = os.system("apt-get install dex2jar") - - elif opcion2 == "3": - cmd = os.system( - "apt-get install python-diStorm3") - elif opcion2 == "4": - cmd = os.system("apt-get install edb-debugger") - elif opcion2 == "5": - cmd = os.system("apt-get install jad") - elif opcion2 == "6": - cmd = os.system("apt-get install javasnoop") - elif opcion2 == "7": - cmd = os.system("apt-get install JD") - elif opcion2 == "8": - cmd = os.system("apt-get install OllyDbg") - elif opcion2 == "9": - cmd = os.system("apt-get install smali") - elif opcion2 == "10": - cmd = os.system("apt-get install Valgrind") - elif opcion2 == "11": - cmd = os.system("apt-get install YARA") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "13": - print(''' -\033[1;36m=+[ Hardware Hacking\033[1;m - - 1) android-sdk - 2) apktool - 3) Arduino - 4) dex2jar - 5) Sakis3G - 6) smali - -0) Install all Hardware Hacking tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system("apt-get install android-sdk") - - elif opcion2 == "2": - cmd = os.system("apt-get install apktool") - - elif opcion2 == "3": - cmd = os.system("apt-get install arduino") - elif opcion2 == "4": - cmd = os.system("apt-get install dex2jar") - elif opcion2 == "5": - cmd = os.system("apt-get install sakis3g") - elif opcion2 == "6": - cmd = os.system("apt-get install smali") - - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - elif opcion2 == "0": - cmd = os.system( - "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "14": - print(''' -\033[1;36m=+[ Extra\033[1;m - -1) Wifresti -2) Squid3 - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - opcion2 = raw_input("\033[1;36mkat > \033[1;m") - if opcion2 == "1": - cmd = os.system( - "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") - print(" ") - elif opcion2 == "2": - cmd = os.system("apt-get install squid3") - print(" ") - elif opcion2 == "back": - inicio() - elif opcion2 == "gohome": - inicio1() - - inicio() - inicio1() - except KeyboardInterrupt: - print("Shutdown requested...Goodbye...") - except Exception: - traceback.print_exc(file=sys.stdout) - sys.exit(0) - - -if __name__ == "__main__": - main() From f3dd877ebc1b093c34a1c0abff4916bc997e1d4f Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:05:11 +0100 Subject: [PATCH 06/33] Enhance functionality of katoolin3.py with improved command execution and output handling --- katoolin3.py | 66 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 14 deletions(-) diff --git a/katoolin3.py b/katoolin3.py index 07ae95d..c4d233b 100755 --- a/katoolin3.py +++ b/katoolin3.py @@ -19,6 +19,37 @@ def run_shell(cmd): return subprocess.run(cmd, shell=True).returncode == 0 +def run_shell_capture(cmd): + proc = subprocess.run(cmd, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + if proc.stdout: + print(proc.stdout, end="") + return proc.returncode, proc.stdout or "" + + +def print_separator(): + print("\n" + "-" * 64 + "\n") + + +def show_sources_list(): + files = [ + ("/etc/apt/sources.list", "sources.list"), + ("/etc/apt/sources.list.d/katoolin.list", "katoolin.list"), + ] + found = False + for path, label in files: + if not os.path.exists(path): + continue + found = True + print("\033[1;36m[%s]\033[1;m %s\n" % (label, path)) + try: + with open(path, "r") as src: + print(src.read()) + except IOError: + print("\033[1;31mUnable to read %s.\033[1;m\n" % path) + if not found: + print("\033[1;33mNo sources list files were found.\033[1;m") + + def add_kali_key(): cmd = ( "wget -q -O - https://archive.kali.org/archive-key.asc | " @@ -86,16 +117,17 @@ def help_menu(): def main_menu(): - print("") - print(" $$\ $$\ $$\ $$\ $$\ $$$$$$\ ") - print(" $$ | $$ | $$ | $$ |\__| $$ ___$$\ ") - print(" $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ |") - print(" $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / ") - print(" $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ ") - print(" \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ |") - print(" $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ |") - print(" \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m") - print("") + banner = r""" + $$\ $$\ $$\ $$\ $$\ $$$$$$\ + $$ | $$ | $$ | $$ |\__| $$ ___$$\ + $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ | + $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / + $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ + \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ | + $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ | + \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m +""" + print(banner) print("") print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: 0xGuigui\033[1;m") @@ -141,6 +173,7 @@ def initio1(): if not add_kali_key(): print( "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") + print_separator() continue repo_status = write_kali_repo() if repo_status == "added": @@ -152,11 +185,16 @@ def initio1(): else: print( "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") + print_separator() elif repo == "2": - if run_shell("apt-get update"): + rc, output = run_shell_capture("apt-get update") + if rc == 0 and "W:" not in output and "E:" not in output: print("\033[1;32m\nUpdate completed.\n\033[1;m") + elif rc == 0: + print("\033[1;33m\nUpdate completed with warnings.\n\033[1;m") else: print("\033[1;31m\nUpdate failed.\n\033[1;m") + print_separator() elif repo == "3": removed = remove_kali_repo() if removed: @@ -165,6 +203,7 @@ def initio1(): else: print( "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") + print_separator() elif repo == "back": initio1() elif repo == "gohome": @@ -173,9 +212,8 @@ def initio1(): print("Shutdown requested...Goodbye...") sys.exit() elif repo == "4": - file = open('/etc/apt/sources.list', 'r') - - print(file.read()) + show_sources_list() + print_separator() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") From 4956d6d19df5558ac87a0441e0e6e80ad9c0a3df Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:09:16 +0100 Subject: [PATCH 07/33] Remove unnecessary .DS_Store file from the repository --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Mon, 12 Jan 2026 10:23:35 +0100 Subject: [PATCH 08/33] Implement initial structure for code changes --- katoolin3.py | 1543 +------------------------------------------------- 1 file changed, 3 insertions(+), 1540 deletions(-) diff --git a/katoolin3.py b/katoolin3.py index c4d233b..5d4dd09 100755 --- a/katoolin3.py +++ b/katoolin3.py @@ -1,1548 +1,11 @@ #!/usr/bin/python3 - import os import sys -import traceback -import subprocess - - -def setup(): - if os.geteuid() != 0: - print( - "You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") - return False - os.system("clear") - return True - - -def run_shell(cmd): - return subprocess.run(cmd, shell=True).returncode == 0 - - -def run_shell_capture(cmd): - proc = subprocess.run(cmd, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - if proc.stdout: - print(proc.stdout, end="") - return proc.returncode, proc.stdout or "" - - -def print_separator(): - print("\n" + "-" * 64 + "\n") - - -def show_sources_list(): - files = [ - ("/etc/apt/sources.list", "sources.list"), - ("/etc/apt/sources.list.d/katoolin.list", "katoolin.list"), - ] - found = False - for path, label in files: - if not os.path.exists(path): - continue - found = True - print("\033[1;36m[%s]\033[1;m %s\n" % (label, path)) - try: - with open(path, "r") as src: - print(src.read()) - except IOError: - print("\033[1;31mUnable to read %s.\033[1;m\n" % path) - if not found: - print("\033[1;33mNo sources list files were found.\033[1;m") - - -def add_kali_key(): - cmd = ( - "wget -q -O - https://archive.kali.org/archive-key.asc | " - "gpg --dearmor | tee /usr/share/keyrings/kali-archive-keyring.gpg >/dev/null" - ) - if not run_shell(cmd): - return False - try: - os.chmod("/usr/share/keyrings/kali-archive-keyring.gpg", 0o644) - except OSError: - return False - return True - - -def write_kali_repo(): - repo_path = "/etc/apt/sources.list.d/katoolin.list" - repo_line = ( - "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] " - "https://http.kali.org/kali kali-rolling main contrib non-free\n" - ) - if os.path.exists(repo_path): - return "exists" - try: - with open(repo_path, "w") as repo_file: - repo_file.write("# Kali linux repositories | Added by Katoolin\n") - repo_file.write(repo_line) - except IOError: - return "error" - return "added" - - -def remove_kali_repo(): - repo_path = "/etc/apt/sources.list.d/katoolin.list" - removed_repo = False - if os.path.exists(repo_path): - os.remove(repo_path) - removed_repo = True - sources_path = "/etc/apt/sources.list" - delete_list = [ - "# Kali linux repositories | Added by Katoolin\n", - "deb http://http.kali.org/kali kali-rolling main contrib non-free\n", - "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] " - "https://http.kali.org/kali kali-rolling main contrib non-free\n", - ] - try: - with open(sources_path, "r") as fin: - lines = fin.readlines() - with open(sources_path, "w") as fout: - for line in lines: - if line in delete_list: - removed_repo = True - continue - fout.write(line) - except IOError: - return False - return removed_repo - - -def help_menu(): - print("****************** +Commands+ ******************\n") - print("\033[1;32mback\033[1;m \033[1;33mGo back\033[1;m") - print("\033[1;32mgohome\033[1;m \033[1;33mGo to the main menu\033[1;m") - print("\033[1;32mhelp\033[1;m \033[1;33mShow this help menu\033[1;m") - print("\033[1;32mExit\033[1;m \033[1;33mExit the script\033[1;m") - - -def main_menu(): - banner = r""" - $$\ $$\ $$\ $$\ $$\ $$$$$$\ - $$ | $$ | $$ | $$ |\__| $$ ___$$\ - $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ | - $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / - $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ - \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ | - $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ | - \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m -""" - print(banner) - print("") - print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") - print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: 0xGuigui\033[1;m") - print(" \033[1;32m+ -- -- +=[ Latest update: 1/12/2026\033[1;m") - print("") - print("") - print("\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to " - "avoid any kind of problem.\033[1;m") - print("\033[1;91m[W] In some cases, Kali-Linux repositories can destabilize your system or worse, completely " - "destroy it.\033[1;m") - print("") - - -def main(): - try: - if not setup(): - return - main_menu() - - def initio1(): - while True: - print("1) Add Kali repositories & Update") - print("2) View Categories") - print("3) Install classicmenu indicator") - print("4) Install Kali menu") - print("5) Help") - print("") - - option0 = input("\033[1;36mkat > \033[1;m") - if option0 == "exit" or option0 == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - while option0 == "1": - print("") - print("1) Add kali linux repositories") - print("2) Update") - print("3) Remove all kali linux repositories") - print("4) View the contents of sources.list file") - print("") - repo = input( - "\033[1;32mWhat do you want to do ?> \033[1;m") - if repo == "1": - if not add_kali_key(): - print( - "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") - print_separator() - continue - repo_status = write_kali_repo() - if repo_status == "added": - print( - "\033[1;32m\nKali repositories have been added.\n\033[1;m") - elif repo_status == "exists": - print( - "\033[1;33m\nKali repositories are already present.\n\033[1;m") - else: - print( - "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") - print_separator() - elif repo == "2": - rc, output = run_shell_capture("apt-get update") - if rc == 0 and "W:" not in output and "E:" not in output: - print("\033[1;32m\nUpdate completed.\n\033[1;m") - elif rc == 0: - print("\033[1;33m\nUpdate completed with warnings.\n\033[1;m") - else: - print("\033[1;31m\nUpdate failed.\n\033[1;m") - print_separator() - elif repo == "3": - removed = remove_kali_repo() - if removed: - print( - "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") - else: - print( - "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") - print_separator() - elif repo == "back": - initio1() - elif repo == "gohome": - initio1() - elif repo == "exit" or repo == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - elif repo == "4": - show_sources_list() - print_separator() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - if option0 == "3": - print(''' -ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. - -It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. - -Like the classic GNOME menu, it includes Wine games and applications if you have those installed. - -For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ - -''') - repo = input( - "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system( - "add-apt-repository ppa:diesch/testing && apt-get update") - cmd = os.system( - "sudo apt-get install classicmenu-indicator") - elif option0 == "help": - print("") - help_menu() - elif option0 == "4": - repo = input( - "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") - if repo == "y": - cmd1 = os.system("apt-get install kali-menu") - elif option0 == "5": - help_menu() - - def inicio(): - while option0 == "2": - print(''' -\033[1;36m**************************** All Categories *****************************\033[1;m - -1) Information Gathering 8) Exploitation Tools -2) Vulnerability Analysis 9) Forensics Tools -3) Wireless Attacks 10) Stress Testing -4) Web Applications 11) Password Attacks -5) Sniffing & Spoofing 12) Reverse Engineering -6) Maintaining Access 13) Hardware Hacking -7) Reporting Tools 14) Extra - -0) All - - ''') - print( - "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") - - opcion1 = input("\033[1;36mkat > \033[1;m") - if opcion1 == "back": - initio1() - elif opcion1 == "gohome": - initio1() - elif opcion1 == "exit" or opcion1 == "quit": - print("Shutdown requested...Goodbye...") - sys.exit() - elif opcion1 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - elif opcion1 == "0": - cmd = os.system( - "apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - while opcion1 == "1": - print(''' -\033[1;36m=+[ Information Gathering\033[1;m - - 1) acccheck 30) lbd - 2) ace-voip 31) Maltego Teeth - 3) Amap 32) masscan - 4) Automater 33) Metagoofil - 5) bing-ip2hosts 34) Miranda - 6) braa 35) Nmap - 7) CaseFile 36) ntop - 8) CDPSnarf 37) p0f - 9) cisco-torch 38) Parsero -10) Cookie Cadger 39) Recon-ng -11) copy-router-config 40) SET -12) DMitry 41) smtp-user-enum -13) dnmap 42) snmpcheck -14) dnsenum 43) sslcaudit -15) dnsmap 44) SSLsplit -16) DNSRecon 45) sslstrip -17) dnstracer 46) SSLyze -18) dnswalk 47) THC-IPV6 -19) DotDotPwn 48) theHarvester -20) enum4linux 49) TLSSLed -21) enumIAX 50) twofi -22) exploitdb 51) URLCrazy -23) Fierce 52) Wireshark -24) Firewalk 53) WOL-E -25) fragroute 54) Xplico -26) fragrouter 55) iSMTP -27) Ghost Phisher 56) InTrace -28) GoLismero 57) hping3 -29) goofile - -0) Install all Information Gathering tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install acccheck") - - elif option2 == "2": - cmd = os.system("apt-get install ace-voip") - - elif option2 == "3": - cmd = os.system("apt-get install amap") - elif option2 == "4": - cmd = os.system("apt-get install automater") - elif option2 == "5": - cmd = os.system( - "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - elif option2 == "6": - cmd = os.system("apt-get install braa") - elif option2 == "7": - cmd = os.system("apt-get install casefile") - elif option2 == "8": - cmd = os.system("apt-get install cdpsnarf") - elif option2 == "9": - cmd = os.system("apt-get install cisco-torch") - elif option2 == "10": - cmd = os.system( - "apt-get install cookie-cadger") - elif option2 == "11": - cmd = os.system( - "apt-get install copy-router-config") - elif option2 == "12": - cmd = os.system("apt-get install dmitry") - elif option2 == "13": - cmd = os.system("apt-get install dnmap") - elif option2 == "14": - cmd = os.system("apt-get install dnsenum") - elif option2 == "15": - cmd = os.system("apt-get install dnsmap") - elif option2 == "16": - cmd = os.system("apt-get install dnsrecon") - elif option2 == "17": - cmd = os.system("apt-get install dnstracer") - elif option2 == "18": - cmd = os.system("apt-get install dnswalk") - elif option2 == "19": - cmd = os.system("apt-get install dotdotpwn") - elif option2 == "20": - cmd = os.system("apt-get install enum4linux") - elif option2 == "21": - cmd = os.system("apt-get install enumiax") - elif option2 == "22": - cmd = os.system("apt-get install exploitdb") - elif option2 == "23": - cmd = os.system("apt-get install fierce") - elif option2 == "24": - cmd = os.system("apt-get install firewalk") - elif option2 == "25": - cmd = os.system("apt-get install fragroute") - elif option2 == "26": - cmd = os.system("apt-get install fragrouter") - elif option2 == "27": - cmd = os.system( - "apt-get install ghost-phisher") - elif option2 == "28": - cmd = os.system("apt-get install golismero") - elif option2 == "29": - cmd = os.system("apt-get install goofile") - elif option2 == "30": - cmd = os.system("apt-get install lbd") - elif option2 == "31": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "32": - cmd = os.system("apt-get install masscan") - elif option2 == "33": - cmd = os.system("apt-get install metagoofil") - elif option2 == "34": - cmd = os.system("apt-get install miranda") - elif option2 == "35": - cmd = os.system("apt-get install nmap") - elif option2 == "36": - print('ntop is unavailable') - elif option2 == "37": - cmd = os.system("apt-get install p0f") - elif option2 == "38": - cmd = os.system("apt-get install parsero") - elif option2 == "39": - cmd = os.system("apt-get install recon-ng") - elif option2 == "40": - cmd = os.system("apt-get install set") - elif option2 == "41": - cmd = os.system( - "apt-get install smtp-user-enum") - elif option2 == "42": - cmd = os.system("apt-get install snmpcheck") - elif option2 == "43": - cmd = os.system("apt-get install sslcaudit") - elif option2 == "44": - cmd = os.system("apt-get install sslsplit") - elif option2 == "45": - cmd = os.system("apt-get install sslstrip") - elif option2 == "46": - cmd = os.system("apt-get install sslyze") - elif option2 == "47": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "48": - cmd = os.system("apt-get install theharvester") - elif option2 == "49": - cmd = os.system("apt-get install tlssled") - elif option2 == "50": - cmd = os.system("apt-get install twofi") - elif option2 == "51": - cmd = os.system("apt-get install urlcrazy") - elif option2 == "52": - cmd = os.system("apt-get install wireshark") - elif option2 == "53": - cmd = os.system("apt-get install wol-e") - elif option2 == "54": - cmd = os.system("apt-get install xplico") - elif option2 == "55": - cmd = os.system("apt-get install ismtp") - elif option2 == "56": - cmd = os.system("apt-get install intrace") - elif option2 == "57": - cmd = os.system("apt-get install hping3") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - elif option2 == "0": - cmd = os.system( - "apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "2": - print(''' -\033[1;36m=+[ Vulnerability Analysis\033[1;m - - 1) BBQSQL 18) Nmap - 2) BED 19)ohrwurm - 3) cisco-auditing-tool 20) openvas-administrator - 4) cisco-global-exploiter 21) openvas-cli - 5) cisco-ocs 22) openvas-manager - 6) cisco-torch 23) openvas-scanner - 7) copy-router-config 24) Oscanner - 8) commix 25) Powerfuzzer - 9) DBPwAudit 26) sfuzz -10) DoonaDot 27) SidGuesser -11) DotPwn 28) SIPArmyKnife -12) Greenbone Security Assistant 29) sqlmap -13) GSD 30) Sqlninja -14) HexorBase 31) sqlsus -15) Inguma 32) THC-IPV6 -16) jSQL 33) tnscmd10g -17) Lynis 34) unix-privesc-check - 35) Yersinia - -0) Install all Vulnerability Analysis tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install bbqsql") - - elif option2 == "2": - cmd = os.system("apt-get install bed") - - elif option2 == "3": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "4": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif option2 == "5": - cmd = os.system("apt-get install cisco-ocs") - elif option2 == "6": - cmd = os.system("apt-get install cisco-torch") - elif option2 == "7": - cmd = os.system( - "apt-get install copy-router-config") - elif option2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "9": - cmd = os.system( - "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") - elif option2 == "10": - cmd = os.system("apt-get install doona") - elif option2 == "11": - cmd = os.system("apt-get install dotdotpwn") - elif option2 == "12": - cmd = os.system( - "apt-get install greenbone-security-assistant") - elif option2 == "13": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gsd.git") - elif option2 == "14": - cmd = os.system("apt-get install hexorbase") - elif option2 == "15": - print( - "Please download inguma from : http://inguma.sourceforge.net") - elif option2 == "16": - cmd = os.system("apt-get install jsql") - elif option2 == "17": - cmd = os.system("apt-get install lynis") - elif option2 == "18": - cmd = os.system("apt-get install nmap") - elif option2 == "19": - cmd = os.system("apt-get install ohrwurm") - elif option2 == "20": - cmd = os.system( - "apt-get install openvas-administrator") - elif option2 == "21": - cmd = os.system("apt-get install openvas-cli") - elif option2 == "22": - cmd = os.system( - "apt-get install openvas-manager") - elif option2 == "23": - cmd = os.system( - "apt-get install openvas-scanner") - elif option2 == "24": - cmd = os.system("apt-get install oscanner") - elif option2 == "25": - cmd = os.system("apt-get install powerfuzzer") - elif option2 == "26": - cmd = os.system("apt-get install sfuzz") - elif option2 == "27": - cmd = os.system("apt-get install sidguesser") - elif option2 == "28": - cmd = os.system("apt-get install siparmyknife") - elif option2 == "29": - cmd = os.system("apt-get install sqlmap") - elif option2 == "30": - cmd = os.system("apt-get install sqlninja") - elif option2 == "31": - cmd = os.system("apt-get install sqlsus") - elif option2 == "32": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "33": - cmd = os.system("apt-get install tnscmd10g") - elif option2 == "34": - cmd = os.system( - "apt-get install unix-privesc-check") - elif option2 == "35": - cmd = os.system("apt-get install yersinia") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "3": - print(''' - \033[1;36m=+[ Wireless Attacks\033[1;m - - 1) Aircrack-ng 17) kalibrate-rtl - 2) Asleap 18) KillerBee - 3) Bluelog 19) Kismet - 4) BlueMaho 20) mdk3 - 5) Bluepot 21) mfcuk - 6) BlueRanger 22) mfoc - 7) Bluesnarfer 23) mfterm - 8) Bully 24) Multimon-NG - 9) coWPAtty 25) PixieWPS -10) crackle 26) Reaver -11) eapmd5pass 27) redfang -12) Fern Wifi Cracker 28) RTLSDR Scanner -13) Ghost Phisher 29) Spooftooph -14) GISKismet 30) Wifi Honey 31) Wifitap -16) gr-scan 32) Wifite - -0) Install all Wireless Attacks tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install aircrack-ng") - - elif option2 == "2": - cmd = os.system("apt-get install asleap") - - elif option2 == "3": - cmd = os.system("apt-get install bluelog") - elif option2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") - elif option2 == "5": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") - elif option2 == "6": - cmd = os.system("apt-get install blueranger") - elif option2 == "7": - cmd = os.system("apt-get install bluesnarfer") - elif option2 == "8": - cmd = os.system("apt-get install bully") - elif option2 == "9": - cmd = os.system("apt-get install cowpatty") - elif option2 == "10": - cmd = os.system("apt-get install crackle") - elif option2 == "11": - cmd = os.system("apt-get install eapmd5pass") - elif option2 == "12": - cmd = os.system( - "apt-get install fern-wifi-cracker") - elif option2 == "13": - cmd = os.system( - "apt-get install ghost-phisher") - elif option2 == "14": - cmd = os.system("apt-get install giskismet") - elif option2 == "16": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") - elif option2 == "17": - cmd = os.system( - "apt-get install kalibrate-rtl") - elif option2 == "18": - cmd = os.system("apt-get install killerbee") - elif option2 == "19": - cmd = os.system("apt-get install kismet") - elif option2 == "20": - cmd = os.system("apt-get install mdk3") - elif option2 == "21": - cmd = os.system("apt-get install mfcuk") - elif option2 == "22": - cmd = os.system("apt-get install mfoc") - elif option2 == "23": - cmd = os.system("apt-get install mfterm") - elif option2 == "24": - cmd = os.system("apt-get install multimon-ng") - elif option2 == "25": - cmd = os.system("apt-get install pixiewps") - elif option2 == "26": - cmd = os.system("apt-get install reaver") - elif option2 == "27": - cmd = os.system("apt-get install redfang") - elif option2 == "28": - cmd = os.system( - "apt-get install rtlsdr-scanner") - elif option2 == "29": - cmd = os.system("apt-get install spooftooph") - elif option2 == "30": - cmd = os.system("apt-get install wifi-honey") - elif option2 == "31": - cmd = os.system("apt-get install wifitap") - elif option2 == "32": - cmd = os.system("apt-get install wifite") - elif option2 == "0": - cmd = os.system( - "apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "4": - print(''' -\033[1;36m=+[ Web Applications\033[1;m - - 1) apache-users 21) Parsero - 2) Arachni 22) plecost - 3) BBQSQL 23) Powerfuzzer - 4) BlindElephant 24) ProxyStrike - 5) Burp Suite 25) Recon-ng - 6) commix 26) Skipfish - 7) CutyCapt 27) sqlmap - 8) DAVTest 28) Sqlninja - 9) deblaze 29) sqlsus -10) DIRB 30) ua-tester -11) DirBuster 31) Uniscan -12) fimap 32) Vega -13) FunkLoad 33) w3af -14) Grabber 34) WebScarab -15) jboss-autopwn 35) Webshag -16) joomscan 36) WebSlayer -17) jSQL 37) WebSploit -18) Maltego Teeth 38) Wfuzz -19) PadBuster 39) WPScan -20) Paros 40) XSSer - 41) zaproxy - -0) Install all Web Applications tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install apache-users") - - elif option2 == "2": - cmd = os.system("apt-get install arachni") - - elif option2 == "3": - cmd = os.system("apt-get install bbqsql") - elif option2 == "4": - cmd = os.system( - "apt-get install blindelephant") - elif option2 == "5": - cmd = os.system("apt-get install burpsuite") - elif option2 == "6": - cmd = os.system("apt-get install cutycapt") - elif option2 == "7": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "8": - cmd = os.system("apt-get install davtest") - elif option2 == "9": - cmd = os.system("apt-get install deblaze") - elif option2 == "10": - cmd = os.system("apt-get install dirb") - elif option2 == "11": - cmd = os.system("apt-get install dirbuster") - elif option2 == "12": - cmd = os.system("apt-get install fimap") - elif option2 == "13": - cmd = os.system("apt-get install funkload") - elif option2 == "14": - cmd = os.system("apt-get install grabber") - elif option2 == "15": - cmd = os.system( - "apt-get install jboss-autopwn") - elif option2 == "16": - cmd = os.system("apt-get install joomscan") - elif option2 == "17": - cmd = os.system("apt-get install jsql") - elif option2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "19": - cmd = os.system("apt-get install padbuster") - elif option2 == "20": - cmd = os.system("apt-get install paros") - elif option2 == "21": - cmd = os.system("apt-get install parsero") - elif option2 == "22": - cmd = os.system("apt-get install plecost") - elif option2 == "23": - cmd = os.system("apt-get install powerfuzzer") - elif option2 == "24": - cmd = os.system("apt-get install proxystrike") - elif option2 == "25": - cmd = os.system("apt-get install recon-ng") - elif option2 == "26": - cmd = os.system("apt-get install skipfish") - elif option2 == "27": - cmd = os.system("apt-get install sqlmap") - elif option2 == "28": - cmd = os.system("apt-get install sqlninja") - elif option2 == "29": - cmd = os.system("apt-get install sqlsus") - elif option2 == "30": - cmd = os.system("apt-get install ua-tester") - elif option2 == "31": - cmd = os.system("apt-get install uniscan") - elif option2 == "32": - cmd = os.system("apt-get install vega") - elif option2 == "33": - cmd = os.system("apt-get install w3af") - elif option2 == "34": - cmd = os.system("apt-get install webscarab") - elif option2 == "35": - print("Webshag is unavailable") - elif option2 == "36": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") - elif option2 == "37": - cmd = os.system("apt-get install websploit") - elif option2 == "38": - cmd = os.system("apt-get install wfuzz") - elif option2 == "39": - cmd = os.system("apt-get install wpscan") - elif option2 == "40": - cmd = os.system("apt-get install xsser") - elif option2 == "41": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "5": - print(''' -\033[1;36m=+[ Sniffing & Spoofing\033[1;m - - 1) Burp Suite 17) rtpmixsound - 2) DNSChef 18) sctpscan - 3) fiked 19) SIPArmyKnife - 4) hamster-sidejack 20) SIPp - 5) HexInject 21) SIPVicious - 6) iaxflood 22) SniffJoke - 7) inviteflood 23) SSLsplit - 8) iSMTP 24) sslstrip - 9) isr-evilgrade 25) THC-IPV6 -10) mitmproxy 26) VoIPHopper -11) ohrwurm 27) WebScarab -12) protos-sip 28) Wifi Honey -13) rebind 29) Wireshark -14) responder 30) xspy -15) rtpbreak 31) Yersinia -16) rtpinsertsound 32) zaproxy - -0) Install all Sniffing & Spoofing tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install burpsuite") - - elif option2 == "2": - cmd = os.system("apt-get install dnschef") - - elif option2 == "3": - cmd = os.system("apt-get install fiked") - elif option2 == "4": - cmd = os.system( - "apt-get install hamster-sidejack") - elif option2 == "5": - cmd = os.system("apt-get install hexinject") - elif option2 == "6": - cmd = os.system("apt-get install iaxflood") - elif option2 == "7": - cmd = os.system("apt-get install inviteflood") - elif option2 == "8": - cmd = os.system("apt-get install ismtp") - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") - elif option2 == "10": - cmd = os.system("apt-get install mitmproxy") - elif option2 == "11": - cmd = os.system("apt-get install ohrwurm") - elif option2 == "12": - cmd = os.system("apt-get install protos-sip") - elif option2 == "13": - cmd = os.system("apt-get install rebind") - elif option2 == "14": - cmd = os.system("apt-get install responder") - elif option2 == "15": - cmd = os.system("apt-get install rtpbreak") - elif option2 == "16": - cmd = os.system( - "apt-get install rtpinsertsound") - elif option2 == "17": - cmd = os.system("apt-get install rtpmixsound") - elif option2 == "18": - cmd = os.system("apt-get install sctpscan") - elif option2 == "19": - cmd = os.system("apt-get install siparmyknife") - elif option2 == "20": - cmd = os.system("apt-get install sipp") - elif option2 == "21": - cmd = os.system("apt-get install sipvicious") - elif option2 == "22": - cmd = os.system("apt-get install sniffjoke") - elif option2 == "23": - cmd = os.system("apt-get install sslsplit") - elif option2 == "24": - cmd = os.system("apt-get install sslstrip") - elif option2 == "25": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "26": - cmd = os.system("apt-get install voiphopper") - elif option2 == "27": - cmd = os.system("apt-get install webscarab") - elif option2 == "28": - cmd = os.system("apt-get install wifi-honey") - elif option2 == "29": - cmd = os.system("apt-get install wireshark") - elif option2 == "30": - cmd = os.system("apt-get install xspy") - elif option2 == "31": - cmd = os.system("apt-get install yersinia") - elif option2 == "32": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - - elif option2 == "0": - cmd = os.system( - "apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "6": - print(''' -\033[1;36m=+[ Maintaining Access\033[1;m - - 1) CryptCat - 2) Cymothoa - 3) dbd - 4) dns2tcp - 5) http-tunnel - 6) HTTPTunnel - 7) Intersect - 8) Nishang - 9) polenum -10) PowerSploit -11) pwnat -12) RidEnum -13) sbd -14) U3-Pwn -15) Webshells -16) Weevely - -0) Install all Maintaining Access tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install cryptcat") - - elif option2 == "2": - cmd = os.system("apt-get install cymothoa") - - elif option2 == "3": - cmd = os.system("apt-get install dbd") - elif option2 == "4": - cmd = os.system("apt-get install dns2tcp") - elif option2 == "5": - cmd = os.system("apt-get install http-tunnel") - elif option2 == "6": - cmd = os.system("apt-get install httptunnel") - elif option2 == "7": - cmd = os.system("apt-get install intersect") - elif option2 == "8": - cmd = os.system("apt-get install nishang") - elif option2 == "9": - cmd = os.system("apt-get install polenum") - elif option2 == "10": - cmd = os.system("apt-get install powersploit") - elif option2 == "11": - cmd = os.system("apt-get install pwnat") - elif option2 == "12": - cmd = os.system("apt-get install ridenum") - elif option2 == "13": - cmd = os.system("apt-get install sbd") - elif option2 == "14": - cmd = os.system("apt-get install u3-pwn") - elif option2 == "15": - cmd = os.system("apt-get install webshells") - elif option2 == "16": - cmd = os.system("apt-get install weevely") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "7": - print(''' -\033[1;36m=+[ Reporting Tools\033[1;m - -1) CaseFile -2) CutyCapt -3) dos2unix -4) Dradis -5) KeepNote -6) MagicTree -7) Metagoofil -8) Nipper-ng -9) pipal - -0) Install all Reporting Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install casefile") - - elif option2 == "2": - cmd = os.system("apt-get install cutycapt") - - elif option2 == "3": - cmd = os.system("apt-get install dos2unix") - elif option2 == "4": - cmd = os.system("apt-get install dradis") - elif option2 == "5": - cmd = os.system("apt-get install keepnote") - elif option2 == "6": - cmd = os.system("apt-get install magictree") - elif option2 == "7": - cmd = os.system("apt-get install metagoofil") - elif option2 == "8": - cmd = os.system("apt-get install nipper-ng") - elif option2 == "9": - cmd = os.system("apt-get install pipal") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "8": - print(''' -\033[1;36m=+[ Exploitation Tools\033[1;m - - 1) Armitage - 2) Backdoor Factory - 3) BeEF - 4) cisco-auditing-tool - 5) cisco-global-exploiter - 6) cisco-ocs - 7) cisco-torch - 8) commix - 9) crackle -10) jboss-autopwn -11) Linux Exploit Suggester -12) Maltego Teeth -13) SET -14) ShellNoob -15) sqlmap -16) THC-IPV6 -17) Yersinia - -0) Install all Exploitation Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install armitage") - - elif option2 == "2": - cmd = os.system( - "apt-get install backdoor-factory") - - elif option2 == "3": - cmd = os.system("apt-get install beef-xss") - elif option2 == "4": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "5": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif option2 == "6": - cmd = os.system("apt-get install cisco-ocs") - elif option2 == "7": - cmd = os.system("apt-get install cisco-torch") - elif option2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "9": - cmd = os.system("apt-get install crackle") - elif option2 == "10": - cmd = os.system( - "apt-get install jboss-autopwn") - elif option2 == "11": - cmd = os.system( - "apt-get install linux-exploit-suggester") - elif option2 == "12": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "13": - cmd = os.system("apt-get install set") - elif option2 == "14": - cmd = os.system("apt-get install shellnoob") - elif option2 == "15": - cmd = os.system("apt-get install sqlmap") - elif option2 == "16": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "17": - cmd = os.system("apt-get install yersinia") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - - while opcion1 == "9": - print(''' -\033[1;36m=+[ Forensics Tools\033[1;m - - 1) Binwalk 11) extundelete - 2) bulk-extractor 12) Foremost - 3) Capstone 13) Galleta - 4) chntpw 14) Guymager - 5) Cuckoo 15) iPhone Backup Analyzer - 6) dc3dd 16) p0f - 7) ddrescue 17) pdf-parser - 8) DFF 18) pdfid - 9) diStorm3 19) pdgmail -10) Dumpzilla 20) peepdf - 21) RegRipper - 22) Volatility - 23) Xplico - -0) Install all Forensics Tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install binwalk") - - elif option2 == "2": - cmd = os.system( - "apt-get install bulk-extractor") - - elif option2 == "3": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/capstone.git") - elif option2 == "4": - cmd = os.system("apt-get install chntpw") - elif option2 == "5": - cmd = os.system("apt-get install cuckoo") - elif option2 == "6": - cmd = os.system("apt-get install dc3dd") - elif option2 == "7": - cmd = os.system("apt-get install ddrescue") - elif option2 == "8": - print('dff is unavailable') - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") - elif option2 == "10": - cmd = os.system("apt-get install dumpzilla") - elif option2 == "11": - cmd = os.system("apt-get install extundelete") - elif option2 == "12": - cmd = os.system("apt-get install foremost") - elif option2 == "13": - cmd = os.system("apt-get install galleta") - elif option2 == "14": - cmd = os.system("apt-get install guymager") - elif option2 == "15": - cmd = os.system( - "apt-get install iphone-backup-analyzer") - elif option2 == "16": - cmd = os.system("apt-get install p0f") - elif option2 == "17": - cmd = os.system("apt-get install pdf-parser") - elif option2 == "18": - cmd = os.system("apt-get install pdfid") - elif option2 == "19": - cmd = os.system("apt-get install pdgmail") - elif option2 == "20": - cmd = os.system("apt-get install peepdf") - elif option2 == "21": - print("Regripper is unavailable") - elif option2 == "22": - cmd = os.system("apt-get install volatility") - elif option2 == "23": - cmd = os.system("apt-get install xplico") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "10": - print(''' -\033[1;36m=+[ Stress Testing\033[1;m - - 1) DHCPig - 2) FunkLoad - 3) iaxflood - 4) Inundator - 5) inviteflood - 6) ipv6-toolkit - 7) mdk3 - 8) Reaver - 9) rtpflood -10) SlowHTTPTest -11) t50 -12) Termineter -13) THC-IPV6 -14) THC-SSL-DOS - -0) Install all Stress Testing tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install dhcpig") - - elif option2 == "2": - cmd = os.system("apt-get install funkload") - - elif option2 == "3": - cmd = os.system("apt-get install iaxflood") - elif option2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/inundator.git") - elif option2 == "5": - cmd = os.system("apt-get install inviteflood") - elif option2 == "6": - cmd = os.system("apt-get install ipv6-toolkit") - elif option2 == "7": - cmd = os.system("apt-get install mdk3") - elif option2 == "8": - cmd = os.system("apt-get install reaver") - elif option2 == "9": - cmd = os.system("apt-get install rtpflood") - elif option2 == "10": - cmd = os.system("apt-get install slowhttptest") - elif option2 == "11": - cmd = os.system("apt-get install t50") - elif option2 == "12": - cmd = os.system("apt-get install termineter") - elif option2 == "13": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "14": - cmd = os.system("apt-get install thc-ssl-dos ") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "11": - print(''' -\033[1;36m=+[ Password Attacks\033[1;m - - 1) acccheck 19) Maskprocessor - 2) Burp Suite 20) multiforcer - 3) CeWL 21) Ncrack - 4) chntpw 22) oclgausscrack - 5) cisco-auditing-tool 23) PACK - 6) CmosPwd 24) patator - 7) creddump 25) phrasendrescher - 8) crunch 26) polenum - 9) DBPwAudit 27) RainbowCrack -10) findmyhash 28) rcracki-mt -11) gpp-decrypt 29) RSMangler -12) hash-identifier 30) SQLdict -13) HexorBase 31) Statsprocessor -14) THC-Hydra 32) THC-pptp-bruter -15) John the Ripper 33) TrueCrack -16) Johnny 34) WebScarab -17) keimpx 35) wordlists -18) Maltego Teeth 36) zaproxy - -0) Install all Password Attacks tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install acccheck") - - elif option2 == "2": - cmd = os.system("apt-get install burpsuite") - - elif option2 == "3": - cmd = os.system("apt-get install cewl") - elif option2 == "4": - cmd = os.system("apt-get install chntpw") - elif option2 == "5": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "6": - cmd = os.system("apt-get install cmospwd") - elif option2 == "7": - cmd = os.system("apt-get install creddump") - elif option2 == "8": - cmd = os.system("apt-get install crunch") - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") - elif option2 == "10": - cmd = os.system("apt-get install findmyhash") - elif option2 == "11": - cmd = os.system("apt-get install gpp-decrypt") - elif option2 == "12": - cmd = os.system( - "apt-get install hash-identifier") - elif option2 == "13": - cmd = os.system("apt-get install hexorbase") - elif option2 == "14": - cmd = os.system( - "echo 'please visit : https://www.thc.org/thc-hydra/' ") - elif option2 == "15": - cmd = os.system("apt-get install john") - elif option2 == "16": - cmd = os.system("apt-get install johnny") - elif option2 == "17": - cmd = os.system("apt-get install keimpx") - elif option2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "19": - cmd = os.system( - "apt-get install maskprocessor") - elif option2 == "20": - cmd = os.system("apt-get install multiforcer") - elif option2 == "21": - cmd = os.system("apt-get install ncrack") - elif option2 == "22": - cmd = os.system( - "apt-get install oclgausscrack") - elif option2 == "23": - cmd = os.system("apt-get install pack") - elif option2 == "24": - cmd = os.system("apt-get install patator") - elif option2 == "25": - cmd = os.system( - "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") - elif option2 == "26": - cmd = os.system("apt-get install polenum") - elif option2 == "27": - cmd = os.system("apt-get install rainbowcrack") - elif option2 == "28": - cmd = os.system("apt-get install rcracki-mt") - elif option2 == "29": - cmd = os.system("apt-get install rsmangler") - elif option2 == "30": - print("Sqldict is unavailable") - elif option2 == "31": - cmd = os.system( - "apt-get install statsprocessor") - elif option2 == "32": - cmd = os.system( - "apt-get install thc-pptp-bruter") - elif option2 == "33": - cmd = os.system("apt-get install truecrack") - elif option2 == "34": - cmd = os.system("apt-get install webscarab") - elif option2 == "35": - cmd = os.system("apt-get install wordlists") - elif option2 == "36": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "12": - print(''' -\033[1;36m=+[ Reverse Engineering\033[1;m - - 1) apktool - 2) dex2jar - 3) diStorm3 - 4) edb-debugger - 5) jad - 6) javasnoop - 7) JD-GUI - 8) OllyDbg - 9) smali -10) Valgrind -11) YARA - -0) Install all Reverse Engineering tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install apktool") - - elif option2 == "2": - cmd = os.system("apt-get install dex2jar") - - elif option2 == "3": - cmd = os.system( - "apt-get install python-diStorm3") - elif option2 == "4": - cmd = os.system("apt-get install edb-debugger") - elif option2 == "5": - cmd = os.system("apt-get install jad") - elif option2 == "6": - cmd = os.system("apt-get install javasnoop") - elif option2 == "7": - cmd = os.system("apt-get install JD") - elif option2 == "8": - cmd = os.system("apt-get install OllyDbg") - elif option2 == "9": - cmd = os.system("apt-get install smali") - elif option2 == "10": - cmd = os.system("apt-get install Valgrind") - elif option2 == "11": - cmd = os.system("apt-get install YARA") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "13": - print(''' -\033[1;36m=+[ Hardware Hacking\033[1;m - - 1) android-sdk - 2) apktool - 3) Arduino - 4) dex2jar - 5) Sakis3G - 6) smali - -0) Install all Hardware Hacking tools - - ''') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install android-sdk") - - elif option2 == "2": - cmd = os.system("apt-get install apktool") - - elif option2 == "3": - cmd = os.system("apt-get install arduino") - elif option2 == "4": - cmd = os.system("apt-get install dex2jar") - elif option2 == "5": - cmd = os.system("apt-get install sakis3g") - elif option2 == "6": - cmd = os.system("apt-get install smali") - - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - elif option2 == "0": - cmd = os.system( - "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - while opcion1 == "14": - print('\n' - '\033[1;36m=+[ Extra\033[1;m\n' - '\n' - '1) Wifresti\n' - '2) Squid3\n' - ' ') - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system( - "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") - print(" ") - elif option2 == "2": - cmd = os.system("apt-get install squid3") - print(" ") - elif option2 == "back": - inicio() - elif option2 == "gohome": - initio1() - inicio() +# Ensure src/ is importable when running from the repo root. +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "src")) - initio1() - except KeyboardInterrupt: - print("Shutdown requested...Goodbye...") - except Exception: - traceback.print_exc(file=sys.stdout) - sys.exit(0) +from app import main if __name__ == "__main__": From 6d56594385c5203f4a17403effc81c66c10569fd Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:23:39 +0100 Subject: [PATCH 09/33] Add app.py with repository management functionality --- src/app.py | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 src/app.py diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000..3c43d21 --- /dev/null +++ b/src/app.py @@ -0,0 +1,128 @@ +import os +import sys +import traceback + +from categories import run_categories_menu +from commands import run_shell_capture +from menus import CLASSICMENU_INFO, help_menu, main_banner, print_separator +from repo import add_kali_key, remove_kali_repo, show_sources_list, write_kali_repo + + +def setup(): + # Root is required for apt and repo changes. + if os.geteuid() != 0: + print( + "You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") + return False + os.system("clear") + return True + + +def repo_menu(): + while True: + print("") + print("1) Add kali linux repositories") + print("2) Update") + print("3) Remove all kali linux repositories") + print("4) View the contents of sources.list file") + print("") + repo = input( + "\033[1;32mWhat do you want to do ?> \033[1;m") + if repo == "1": + if not add_kali_key(): + print( + "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") + print_separator() + continue + repo_status = write_kali_repo() + if repo_status == "added": + print( + "\033[1;32m\nKali repositories have been added.\n\033[1;m") + elif repo_status == "exists": + print( + "\033[1;33m\nKali repositories are already present.\n\033[1;m") + else: + print( + "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") + print_separator() + elif repo == "2": + rc, output = run_shell_capture("apt-get update") + if rc == 0 and "W:" not in output and "E:" not in output: + print("\033[1;32m\nUpdate completed.\n\033[1;m") + elif rc == 0: + print("\033[1;33m\nUpdate completed with warnings.\n\033[1;m") + else: + print("\033[1;31m\nUpdate failed.\n\033[1;m") + print_separator() + elif repo == "3": + removed = remove_kali_repo() + if removed: + print( + "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") + else: + print( + "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") + print_separator() + elif repo == "back": + return + elif repo == "gohome": + return + elif repo == "exit" or repo == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif repo == "4": + show_sources_list() + print_separator() + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + + +def main(): + try: + if not setup(): + return + main_banner() + + while True: + print("1) Add Kali repositories & Update") + print("2) View Categories") + print("3) Install classicmenu indicator") + print("4) Install Kali menu") + print("5) Help") + print("") + + option0 = input("\033[1;36mkat > \033[1;m") + if option0 == "exit" or option0 == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif option0 == "1": + repo_menu() + elif option0 == "2": + run_categories_menu() + elif option0 == "3": + print(CLASSICMENU_INFO) + repo = input( + "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system( + "add-apt-repository ppa:diesch/testing && apt-get update") + cmd = os.system( + "sudo apt-get install classicmenu-indicator") + elif option0 == "help": + print("") + help_menu() + elif option0 == "4": + repo = input( + "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") + if repo == "y": + cmd1 = os.system("apt-get install kali-menu") + elif option0 == "5": + help_menu() + else: + print("\033[1;31mSorry, that was an invalid command!\033[1;m") + except KeyboardInterrupt: + print("Shutdown requested...Goodbye...") + except Exception: + traceback.print_exc(file=sys.stdout) + sys.exit(0) From 0f09dda349ac278491d76cd9631a96ca7f41595c Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:23:42 +0100 Subject: [PATCH 10/33] feat(categories): add category menus and install commands --- src/categories.py | 1396 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1396 insertions(+) create mode 100644 src/categories.py diff --git a/src/categories.py b/src/categories.py new file mode 100644 index 0000000..e1152ad --- /dev/null +++ b/src/categories.py @@ -0,0 +1,1396 @@ +import os +import sys + +# Menu actions mostly call apt-get install to fetch packages. + + +CATEGORIES_MENU_TEXT = ''' +\033[1;36m**************************** All Categories *****************************\033[1;m + +1) Information Gathering\t\t\t8) Exploitation Tools +2) Vulnerability Analysis\t\t\t9) Forensics Tools +3) Wireless Attacks\t\t\t\t10) Stress Testing +4) Web Applications\t\t\t\t11) Password Attacks +5) Sniffing & Spoofing\t\t\t\t12) Reverse Engineering +6) Maintaining Access\t\t\t\t13) Hardware Hacking +7) Reporting Tools \t\t\t\t14) Extra +\t\t\t\t\t\n0) All + +\t\t\t ''' + +ALL_TOOLS_COMMAND = ( + "apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch " + "cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk " + "dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher " + "golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng " + "set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled " + "twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool " + "cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn " + "greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager " + "openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus " + "thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer " + "bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl " + "killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph " + "wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest " + "deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster " + "paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester " + "uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked " + "hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder " + "rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip " + "thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp " + "http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely " + "casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory " + "cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester " + "maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd " + "ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail " + "peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest " + "t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch " + "findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack " + "oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack " + "webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara " + "android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz " + "&& tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/" +) + +def category_information_gathering(): + while True: + print(''' +\033[1;36m=+[ Information Gathering\033[1;m + + 1) acccheck\t\t\t\t30) lbd + 2) ace-voip\t\t\t\t31) Maltego Teeth + 3) Amap\t\t\t\t32) masscan + 4) Automater\t\t\t\t33) Metagoofil + 5) bing-ip2hosts\t\t\t34) Miranda + 6) braa\t\t\t\t35) Nmap + 7) CaseFile\t\t\t\t36) ntop + 8) CDPSnarf\t\t\t\t37) p0f + 9) cisco-torch\t\t\t38) Parsero +10) Cookie Cadger\t\t\t39) Recon-ng +11) copy-router-config\t\t\t40) SET +12) DMitry\t\t\t\t41) smtp-user-enum +13) dnmap\t\t\t\t42) snmpcheck +14) dnsenum\t\t\t\t43) sslcaudit +15) dnsmap\t\t\t\t44) SSLsplit +16) DNSRecon\t\t\t\t45) sslstrip +17) dnstracer\t\t\t\t46) SSLyze +18) dnswalk\t\t\t\t47) THC-IPV6 +19) DotDotPwn\t\t\t\t48) theHarvester +20) enum4linux\t\t\t49) TLSSLed +21) enumIAX\t\t\t\t50) twofi +22) exploitdb\t\t\t\t51) URLCrazy +23) Fierce\t\t\t\t52) Wireshark +24) Firewalk\t\t\t\t53) WOL-E +25) fragroute\t\t\t\t54) Xplico +26) fragrouter\t\t\t\t55) iSMTP +27) Ghost Phisher\t\t\t56) InTrace +28) GoLismero\t\t\t\t57) hping3 +29) goofile + +0) Install all Information Gathering tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install acccheck") + + elif option2 == "2": + cmd = os.system("apt-get install ace-voip") + + elif option2 == "3": + cmd = os.system("apt-get install amap") + elif option2 == "4": + cmd = os.system("apt-get install automater") + elif option2 == "5": + cmd = os.system( + "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + elif option2 == "6": + cmd = os.system("apt-get install braa") + elif option2 == "7": + cmd = os.system("apt-get install casefile") + elif option2 == "8": + cmd = os.system("apt-get install cdpsnarf") + elif option2 == "9": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "10": + cmd = os.system( + "apt-get install cookie-cadger") + elif option2 == "11": + cmd = os.system( + "apt-get install copy-router-config") + elif option2 == "12": + cmd = os.system("apt-get install dmitry") + elif option2 == "13": + cmd = os.system("apt-get install dnmap") + elif option2 == "14": + cmd = os.system("apt-get install dnsenum") + elif option2 == "15": + cmd = os.system("apt-get install dnsmap") + elif option2 == "16": + cmd = os.system("apt-get install dnsrecon") + elif option2 == "17": + cmd = os.system("apt-get install dnstracer") + elif option2 == "18": + cmd = os.system("apt-get install dnswalk") + elif option2 == "19": + cmd = os.system("apt-get install dotdotpwn") + elif option2 == "20": + cmd = os.system("apt-get install enum4linux") + elif option2 == "21": + cmd = os.system("apt-get install enumiax") + elif option2 == "22": + cmd = os.system("apt-get install exploitdb") + elif option2 == "23": + cmd = os.system("apt-get install fierce") + elif option2 == "24": + cmd = os.system("apt-get install firewalk") + elif option2 == "25": + cmd = os.system("apt-get install fragroute") + elif option2 == "26": + cmd = os.system("apt-get install fragrouter") + elif option2 == "27": + cmd = os.system( + "apt-get install ghost-phisher") + elif option2 == "28": + cmd = os.system("apt-get install golismero") + elif option2 == "29": + cmd = os.system("apt-get install goofile") + elif option2 == "30": + cmd = os.system("apt-get install lbd") + elif option2 == "31": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "32": + cmd = os.system("apt-get install masscan") + elif option2 == "33": + cmd = os.system("apt-get install metagoofil") + elif option2 == "34": + cmd = os.system("apt-get install miranda") + elif option2 == "35": + cmd = os.system("apt-get install nmap") + elif option2 == "36": + print('ntop is unavailable') + elif option2 == "37": + cmd = os.system("apt-get install p0f") + elif option2 == "38": + cmd = os.system("apt-get install parsero") + elif option2 == "39": + cmd = os.system("apt-get install recon-ng") + elif option2 == "40": + cmd = os.system("apt-get install set") + elif option2 == "41": + cmd = os.system( + "apt-get install smtp-user-enum") + elif option2 == "42": + cmd = os.system("apt-get install snmpcheck") + elif option2 == "43": + cmd = os.system("apt-get install sslcaudit") + elif option2 == "44": + cmd = os.system("apt-get install sslsplit") + elif option2 == "45": + cmd = os.system("apt-get install sslstrip") + elif option2 == "46": + cmd = os.system("apt-get install sslyze") + elif option2 == "47": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "48": + cmd = os.system("apt-get install theharvester") + elif option2 == "49": + cmd = os.system("apt-get install tlssled") + elif option2 == "50": + cmd = os.system("apt-get install twofi") + elif option2 == "51": + cmd = os.system("apt-get install urlcrazy") + elif option2 == "52": + cmd = os.system("apt-get install wireshark") + elif option2 == "53": + cmd = os.system("apt-get install wol-e") + elif option2 == "54": + cmd = os.system("apt-get install xplico") + elif option2 == "55": + cmd = os.system("apt-get install ismtp") + elif option2 == "56": + cmd = os.system("apt-get install intrace") + elif option2 == "57": + cmd = os.system("apt-get install hping3") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + elif option2 == "0": + cmd = os.system( + "apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_vulnerability_analysis(): + while True: + print(''' +\033[1;36m=+[ Vulnerability Analysis\033[1;m + + 1) BBQSQL\t\t\t\t18) Nmap + 2) BED\t\t\t\t19)ohrwurm + 3) cisco-auditing-tool\t\t\t20) openvas-administrator + 4) cisco-global-exploiter\t\t21) openvas-cli + 5) cisco-ocs\t\t\t22) openvas-manager + 6) cisco-torch\t\t\t23) openvas-scanner + 7) copy-router-config\t\t\t24) Oscanner + 8) commix\t\t\t\t25) Powerfuzzer + 9) DBPwAudit\t\t\t26) sfuzz +10) DoonaDot\t\t\t27) SidGuesser +11) DotPwn\t\t\t28) SIPArmyKnife +12) Greenbone Security Assistant \t29) sqlmap +13) GSD\t\t\t\t30) Sqlninja +14) HexorBase\t\t\t31) sqlsus +15) Inguma\t\t\t32) THC-IPV6 +16) jSQL\t\t\t\t33) tnscmd10g +17) Lynis\t\t\t\t34) unix-privesc-check +\t\t\t\t\t35) Yersinia + +0) Install all Vulnerability Analysis tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install bbqsql") + + elif option2 == "2": + cmd = os.system("apt-get install bed") + + elif option2 == "3": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "4": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif option2 == "5": + cmd = os.system("apt-get install cisco-ocs") + elif option2 == "6": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "7": + cmd = os.system( + "apt-get install copy-router-config") + elif option2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "9": + cmd = os.system( + "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") + elif option2 == "10": + cmd = os.system("apt-get install doona") + elif option2 == "11": + cmd = os.system("apt-get install dotdotpwn") + elif option2 == "12": + cmd = os.system( + "apt-get install greenbone-security-assistant") + elif option2 == "13": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gsd.git") + elif option2 == "14": + cmd = os.system("apt-get install hexorbase") + elif option2 == "15": + print( + "Please download inguma from : http://inguma.sourceforge.net") + elif option2 == "16": + cmd = os.system("apt-get install jsql") + elif option2 == "17": + cmd = os.system("apt-get install lynis") + elif option2 == "18": + cmd = os.system("apt-get install nmap") + elif option2 == "19": + cmd = os.system("apt-get install ohrwurm") + elif option2 == "20": + cmd = os.system( + "apt-get install openvas-administrator") + elif option2 == "21": + cmd = os.system("apt-get install openvas-cli") + elif option2 == "22": + cmd = os.system( + "apt-get install openvas-manager") + elif option2 == "23": + cmd = os.system( + "apt-get install openvas-scanner") + elif option2 == "24": + cmd = os.system("apt-get install oscanner") + elif option2 == "25": + cmd = os.system("apt-get install powerfuzzer") + elif option2 == "26": + cmd = os.system("apt-get install sfuzz") + elif option2 == "27": + cmd = os.system("apt-get install sidguesser") + elif option2 == "28": + cmd = os.system("apt-get install siparmyknife") + elif option2 == "29": + cmd = os.system("apt-get install sqlmap") + elif option2 == "30": + cmd = os.system("apt-get install sqlninja") + elif option2 == "31": + cmd = os.system("apt-get install sqlsus") + elif option2 == "32": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "33": + cmd = os.system("apt-get install tnscmd10g") + elif option2 == "34": + cmd = os.system( + "apt-get install unix-privesc-check") + elif option2 == "35": + cmd = os.system("apt-get install yersinia") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_wireless_attacks(): + while True: + print(''' +\033[1;36m=+[ Wireless Attacks\033[1;m + + 1) Aircrack-ng\t\t\t\t17) kalibrate-rtl + 2) Asleap\t\t\t\t18) KillerBee + 3) Bluelog\t\t\t\t19) Kismet + 4) BlueMaho\t\t\t\t20) mdk3 + 5) Bluepot\t\t\t\t21) mfcuk + 6) BlueRanger\t\t\t\t22) mfoc + 7) Bluesnarfer\t\t\t\t23) mfterm + 8) Bully\t\t\t\t24) Multimon-NG + 9) coWPAtty\t\t\t\t25) PixieWPS +10) crackle\t\t\t\t26) Reaver +11) eapmd5pass\t\t\t27) redfang +12) Fern Wifi Cracker\t\t28) RTLSDR Scanner +13) Ghost Phisher\t\t\t29) Spooftooph +14) GISKismet\t\t\t30) Wifi Honey\t\t\t31) Wifitap +16) gr-scan\t\t\t32) Wifite + +0) Install all Wireless Attacks tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install aircrack-ng") + + elif option2 == "2": + cmd = os.system("apt-get install asleap") + + elif option2 == "3": + cmd = os.system("apt-get install bluelog") + elif option2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") + elif option2 == "5": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") + elif option2 == "6": + cmd = os.system("apt-get install blueranger") + elif option2 == "7": + cmd = os.system("apt-get install bluesnarfer") + elif option2 == "8": + cmd = os.system("apt-get install bully") + elif option2 == "9": + cmd = os.system("apt-get install cowpatty") + elif option2 == "10": + cmd = os.system("apt-get install crackle") + elif option2 == "11": + cmd = os.system("apt-get install eapmd5pass") + elif option2 == "12": + cmd = os.system( + "apt-get install fern-wifi-cracker") + elif option2 == "13": + cmd = os.system( + "apt-get install ghost-phisher") + elif option2 == "14": + cmd = os.system("apt-get install giskismet") + elif option2 == "16": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") + elif option2 == "17": + cmd = os.system( + "apt-get install kalibrate-rtl") + elif option2 == "18": + cmd = os.system("apt-get install killerbee") + elif option2 == "19": + cmd = os.system("apt-get install kismet") + elif option2 == "20": + cmd = os.system("apt-get install mdk3") + elif option2 == "21": + cmd = os.system("apt-get install mfcuk") + elif option2 == "22": + cmd = os.system("apt-get install mfoc") + elif option2 == "23": + cmd = os.system("apt-get install mfterm") + elif option2 == "24": + cmd = os.system("apt-get install multimon-ng") + elif option2 == "25": + cmd = os.system("apt-get install pixiewps") + elif option2 == "26": + cmd = os.system("apt-get install reaver") + elif option2 == "27": + cmd = os.system("apt-get install redfang") + elif option2 == "28": + cmd = os.system( + "apt-get install rtlsdr-scanner") + elif option2 == "29": + cmd = os.system("apt-get install spooftooph") + elif option2 == "30": + cmd = os.system("apt-get install wifi-honey") + elif option2 == "31": + cmd = os.system("apt-get install wifitap") + elif option2 == "32": + cmd = os.system("apt-get install wifite") + elif option2 == "0": + cmd = os.system( + "apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_web_applications(): + while True: + print(''' +\033[1;36m=+[ Web Applications\033[1;m + + 1) apache-users\t\t\t21) Parsero + 2) Arachni\t\t\t\t22) plecost + 3) BBQSQL\t\t\t\t23) Powerfuzzer + 4) BlindElephant\t\t\t24) ProxyStrike + 5) Burp Suite\t\t\t25) Recon-ng + 6) commix\t\t\t\t26) Skipfish + 7) CutyCapt\t\t\t27) sqlmap + 8) DAVTest\t\t\t28) Sqlninja + 9) deblaze\t\t\t29) sqlsus +10) DIRB\t\t\t30) ua-tester +11) DirBuster\t\t\t31) Uniscan +12) fimap\t\t\t\t32) Vega +13) FunkLoad\t\t\t33) w3af +14) Grabber\t\t\t\t34) WebScarab +15) jboss-autopwn\t\t\t35) Webshag +16) joomscan\t\t\t36) WebSlayer +17) jSQL\t\t\t\t37) WebSploit +18) Maltego Teeth\t\t38) Wfuzz +19) PadBuster\t\t\t39) WPScan +20) Paros\t\t\t\t40) XSSer +\t\t\t\t\t41) zaproxy + +0) Install all Web Applications tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install apache-users") + + elif option2 == "2": + cmd = os.system("apt-get install arachni") + + elif option2 == "3": + cmd = os.system("apt-get install bbqsql") + elif option2 == "4": + cmd = os.system( + "apt-get install blindelephant") + elif option2 == "5": + cmd = os.system("apt-get install burpsuite") + elif option2 == "6": + cmd = os.system("apt-get install cutycapt") + elif option2 == "7": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "8": + cmd = os.system("apt-get install davtest") + elif option2 == "9": + cmd = os.system("apt-get install deblaze") + elif option2 == "10": + cmd = os.system("apt-get install dirb") + elif option2 == "11": + cmd = os.system("apt-get install dirbuster") + elif option2 == "12": + cmd = os.system("apt-get install fimap") + elif option2 == "13": + cmd = os.system("apt-get install funkload") + elif option2 == "14": + cmd = os.system("apt-get install grabber") + elif option2 == "15": + cmd = os.system( + "apt-get install jboss-autopwn") + elif option2 == "16": + cmd = os.system("apt-get install joomscan") + elif option2 == "17": + cmd = os.system("apt-get install jsql") + elif option2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "19": + cmd = os.system("apt-get install padbuster") + elif option2 == "20": + cmd = os.system("apt-get install paros") + elif option2 == "21": + cmd = os.system("apt-get install parsero") + elif option2 == "22": + cmd = os.system("apt-get install plecost") + elif option2 == "23": + cmd = os.system("apt-get install powerfuzzer") + elif option2 == "24": + cmd = os.system("apt-get install proxystrike") + elif option2 == "25": + cmd = os.system("apt-get install recon-ng") + elif option2 == "26": + cmd = os.system("apt-get install skipfish") + elif option2 == "27": + cmd = os.system("apt-get install sqlmap") + elif option2 == "28": + cmd = os.system("apt-get install sqlninja") + elif option2 == "29": + cmd = os.system("apt-get install sqlsus") + elif option2 == "30": + cmd = os.system("apt-get install ua-tester") + elif option2 == "31": + cmd = os.system("apt-get install uniscan") + elif option2 == "32": + cmd = os.system("apt-get install vega") + elif option2 == "33": + cmd = os.system("apt-get install w3af") + elif option2 == "34": + cmd = os.system("apt-get install webscarab") + elif option2 == "35": + print("Webshag is unavailable") + elif option2 == "36": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") + elif option2 == "37": + cmd = os.system("apt-get install websploit") + elif option2 == "38": + cmd = os.system("apt-get install wfuzz") + elif option2 == "39": + cmd = os.system("apt-get install wpscan") + elif option2 == "40": + cmd = os.system("apt-get install xsser") + elif option2 == "41": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_sniffing_spoofing(): + while True: + print(''' +\033[1;36m=+[ Sniffing & Spoofing\033[1;m + + 1) Burp Suite\t\t\t17) rtpmixsound + 2) DNSChef\t\t\t\t18) sctpscan + 3) fiked\t\t\t\t19) SIPArmyKnife + 4) hamster-sidejack\t\t20) SIPp + 5) HexInject\t\t\t21) SIPVicious + 6) iaxflood\t\t\t22) SniffJoke + 7) inviteflood\t\t\t23) SSLsplit + 8) iSMTP\t\t\t\t24) sslstrip + 9) isr-evilgrade\t\t\t25) THC-IPV6 +10) mitmproxy\t\t\t26) VoIPHopper +11) ohrwurm\t\t\t\t27) WebScarab +12) protos-sip\t\t\t28) Wifi Honey +13) rebind\t\t\t\t29) Wireshark +14) responder\t\t\t30) xspy +15) rtpbreak\t\t\t\t31) Yersinia +16) rtpinsertsound\t\t32) zaproxy + +0) Install all Sniffing & Spoofing tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install burpsuite") + + elif option2 == "2": + cmd = os.system("apt-get install dnschef") + + elif option2 == "3": + cmd = os.system("apt-get install fiked") + elif option2 == "4": + cmd = os.system( + "apt-get install hamster-sidejack") + elif option2 == "5": + cmd = os.system("apt-get install hexinject") + elif option2 == "6": + cmd = os.system("apt-get install iaxflood") + elif option2 == "7": + cmd = os.system("apt-get install inviteflood") + elif option2 == "8": + cmd = os.system("apt-get install ismtp") + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") + elif option2 == "10": + cmd = os.system("apt-get install mitmproxy") + elif option2 == "11": + cmd = os.system("apt-get install ohrwurm") + elif option2 == "12": + cmd = os.system("apt-get install protos-sip") + elif option2 == "13": + cmd = os.system("apt-get install rebind") + elif option2 == "14": + cmd = os.system("apt-get install responder") + elif option2 == "15": + cmd = os.system("apt-get install rtpbreak") + elif option2 == "16": + cmd = os.system( + "apt-get install rtpinsertsound") + elif option2 == "17": + cmd = os.system("apt-get install rtpmixsound") + elif option2 == "18": + cmd = os.system("apt-get install sctpscan") + elif option2 == "19": + cmd = os.system("apt-get install siparmyknife") + elif option2 == "20": + cmd = os.system("apt-get install sipp") + elif option2 == "21": + cmd = os.system("apt-get install sipvicious") + elif option2 == "22": + cmd = os.system("apt-get install sniffjoke") + elif option2 == "23": + cmd = os.system("apt-get install sslsplit") + elif option2 == "24": + cmd = os.system("apt-get install sslstrip") + elif option2 == "25": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "26": + cmd = os.system("apt-get install voiphopper") + elif option2 == "27": + cmd = os.system("apt-get install webscarab") + elif option2 == "28": + cmd = os.system("apt-get install wifi-honey") + elif option2 == "29": + cmd = os.system("apt-get install wireshark") + elif option2 == "30": + cmd = os.system("apt-get install xspy") + elif option2 == "31": + cmd = os.system("apt-get install yersinia") + elif option2 == "32": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + + elif option2 == "0": + cmd = os.system( + "apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_maintaining_access(): + while True: + print(''' +\033[1;36m=+[ Maintaining Access\033[1;m + + 1) CryptCat + 2) Cymothoa + 3) dbd + 4) dns2tcp + 5) http-tunnel + 6) HTTPTunnel + 7) Intersect + 8) Nishang + 9) polenum +10) PowerSploit +11) pwnat +12) RidEnum +13) sbd +14) U3-Pwn +15) Webshells +16) Weevely + +0) Install all Maintaining Access tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install cryptcat") + + elif option2 == "2": + cmd = os.system("apt-get install cymothoa") + + elif option2 == "3": + cmd = os.system("apt-get install dbd") + elif option2 == "4": + cmd = os.system("apt-get install dns2tcp") + elif option2 == "5": + cmd = os.system("apt-get install http-tunnel") + elif option2 == "6": + cmd = os.system("apt-get install httptunnel") + elif option2 == "7": + cmd = os.system("apt-get install intersect") + elif option2 == "8": + cmd = os.system("apt-get install nishang") + elif option2 == "9": + cmd = os.system("apt-get install polenum") + elif option2 == "10": + cmd = os.system("apt-get install powersploit") + elif option2 == "11": + cmd = os.system("apt-get install pwnat") + elif option2 == "12": + cmd = os.system("apt-get install ridenum") + elif option2 == "13": + cmd = os.system("apt-get install sbd") + elif option2 == "14": + cmd = os.system("apt-get install u3-pwn") + elif option2 == "15": + cmd = os.system("apt-get install webshells") + elif option2 == "16": + cmd = os.system("apt-get install weevely") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_reporting_tools(): + while True: + print(''' +\033[1;36m=+[ Reporting Tools\033[1;m + +1) CaseFile +2) CutyCapt +3) dos2unix +4) Dradis +5) KeepNote +6) MagicTree +7) Metagoofil +8) Nipper-ng +9) pipal + +0) Install all Reporting Tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install casefile") + + elif option2 == "2": + cmd = os.system("apt-get install cutycapt") + + elif option2 == "3": + cmd = os.system("apt-get install dos2unix") + elif option2 == "4": + cmd = os.system("apt-get install dradis") + elif option2 == "5": + cmd = os.system("apt-get install keepnote") + elif option2 == "6": + cmd = os.system("apt-get install magictree") + elif option2 == "7": + cmd = os.system("apt-get install metagoofil") + elif option2 == "8": + cmd = os.system("apt-get install nipper-ng") + elif option2 == "9": + cmd = os.system("apt-get install pipal") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_exploitation_tools(): + while True: + print(''' +\033[1;36m=+[ Exploitation Tools\033[1;m + + 1) Armitage + 2) Backdoor Factory + 3) BeEF + 4) cisco-auditing-tool + 5) cisco-global-exploiter + 6) cisco-ocs + 7) cisco-torch + 8) commix + 9) crackle +10) jboss-autopwn +11) Linux Exploit Suggester +12) Maltego Teeth +13) SET +14) ShellNoob +15) sqlmap +16) THC-IPV6 +17) Yersinia + +0) Install all Exploitation Tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install armitage") + + elif option2 == "2": + cmd = os.system( + "apt-get install backdoor-factory") + + elif option2 == "3": + cmd = os.system("apt-get install beef-xss") + elif option2 == "4": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "5": + cmd = os.system( + "apt-get install cisco-global-exploiter") + elif option2 == "6": + cmd = os.system("apt-get install cisco-ocs") + elif option2 == "7": + cmd = os.system("apt-get install cisco-torch") + elif option2 == "8": + cmd = os.system( + "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") + elif option2 == "9": + cmd = os.system("apt-get install crackle") + elif option2 == "10": + cmd = os.system( + "apt-get install jboss-autopwn") + elif option2 == "11": + cmd = os.system( + "apt-get install linux-exploit-suggester") + elif option2 == "12": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "13": + cmd = os.system("apt-get install set") + elif option2 == "14": + cmd = os.system("apt-get install shellnoob") + elif option2 == "15": + cmd = os.system("apt-get install sqlmap") + elif option2 == "16": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "17": + cmd = os.system("apt-get install yersinia") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_forensics_tools(): + while True: + print(''' +\033[1;36m=+[ Forensics Tools\033[1;m + + 1) Binwalk\t\t\t\t11) extundelete + 2) bulk-extractor\t\t\t12) Foremost + 3) Capstone\t\t\t\t13) Galleta + 4) chntpw\t\t\t\t14) Guymager + 5) Cuckoo\t\t\t\t15) iPhone Backup Analyzer + 6) dc3dd\t\t\t\t16) p0f + 7) ddrescue\t\t\t17) pdf-parser + 8) DFF\t\t\t\t18) pdfid + 9) diStorm3\t\t\t19) pdgmail +10) Dumpzilla\t\t\t20) peepdf +\t\t\t\t\t21) RegRipper +\t\t\t\t\t22) Volatility +\t\t\t\t\t23) Xplico + +0) Install all Forensics Tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install binwalk") + + elif option2 == "2": + cmd = os.system( + "apt-get install bulk-extractor") + + elif option2 == "3": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/capstone.git") + elif option2 == "4": + cmd = os.system("apt-get install chntpw") + elif option2 == "5": + cmd = os.system("apt-get install cuckoo") + elif option2 == "6": + cmd = os.system("apt-get install dc3dd") + elif option2 == "7": + cmd = os.system("apt-get install ddrescue") + elif option2 == "8": + print('dff is unavailable') + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") + elif option2 == "10": + cmd = os.system("apt-get install dumpzilla") + elif option2 == "11": + cmd = os.system("apt-get install extundelete") + elif option2 == "12": + cmd = os.system("apt-get install foremost") + elif option2 == "13": + cmd = os.system("apt-get install galleta") + elif option2 == "14": + cmd = os.system("apt-get install guymager") + elif option2 == "15": + cmd = os.system( + "apt-get install iphone-backup-analyzer") + elif option2 == "16": + cmd = os.system("apt-get install p0f") + elif option2 == "17": + cmd = os.system("apt-get install pdf-parser") + elif option2 == "18": + cmd = os.system("apt-get install pdfid") + elif option2 == "19": + cmd = os.system("apt-get install pdgmail") + elif option2 == "20": + cmd = os.system("apt-get install peepdf") + elif option2 == "21": + print("Regripper is unavailable") + elif option2 == "22": + cmd = os.system("apt-get install volatility") + elif option2 == "23": + cmd = os.system("apt-get install xplico") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_stress_testing(): + while True: + print(''' +\033[1;36m=+[ Stress Testing\033[1;m + + 1) DHCPig + 2) FunkLoad + 3) iaxflood + 4) Inundator + 5) inviteflood + 6) ipv6-toolkit + 7) mdk3 + 8) Reaver + 9) rtpflood +10) SlowHTTPTest +11) t50 +12) Termineter +13) THC-IPV6 +14) THC-SSL-DOS + +0) Install all Stress Testing tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install dhcpig") + + elif option2 == "2": + cmd = os.system("apt-get install funkload") + + elif option2 == "3": + cmd = os.system("apt-get install iaxflood") + elif option2 == "4": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/inundator.git") + elif option2 == "5": + cmd = os.system("apt-get install inviteflood") + elif option2 == "6": + cmd = os.system("apt-get install ipv6-toolkit") + elif option2 == "7": + cmd = os.system("apt-get install mdk3") + elif option2 == "8": + cmd = os.system("apt-get install reaver") + elif option2 == "9": + cmd = os.system("apt-get install rtpflood") + elif option2 == "10": + cmd = os.system("apt-get install slowhttptest") + elif option2 == "11": + cmd = os.system("apt-get install t50") + elif option2 == "12": + cmd = os.system("apt-get install termineter") + elif option2 == "13": + cmd = os.system("apt-get install thc-ipv6") + elif option2 == "14": + cmd = os.system("apt-get install thc-ssl-dos ") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_password_attacks(): + while True: + print(''' +\033[1;36m=+[ Password Attacks\033[1;m + + 1) acccheck\t\t\t\t19) Maskprocessor + 2) Burp Suite\t\t\t20) multiforcer + 3) CeWL\t\t\t\t21) Ncrack + 4) chntpw\t\t\t\t22) oclgausscrack + 5) cisco-auditing-tool\t\t\t23) PACK + 6) CmosPwd\t\t\t\t24) patator + 7) creddump\t\t\t25) phrasendrescher + 8) crunch\t\t\t\t26) polenum + 9) DBPwAudit\t\t\t27) RainbowCrack +10) findmyhash\t\t\t28) rcracki-mt +11) gpp-decrypt\t\t\t29) RSMangler +12) hash-identifier\t\t\t30) SQLdict +13) HexorBase\t\t\t31) Statsprocessor +14) THC-Hydra\t\t\t32) THC-pptp-bruter +15) John the Ripper\t\t\t33) TrueCrack +16) Johnny\t\t\t\t34) WebScarab +17) keimpx\t\t\t\t35) wordlists +18) Maltego Teeth\t\t36) zaproxy + +0) Install all Password Attacks tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install acccheck") + + elif option2 == "2": + cmd = os.system("apt-get install burpsuite") + + elif option2 == "3": + cmd = os.system("apt-get install cewl") + elif option2 == "4": + cmd = os.system("apt-get install chntpw") + elif option2 == "5": + cmd = os.system( + "apt-get install cisco-auditing-tool") + elif option2 == "6": + cmd = os.system("apt-get install cmospwd") + elif option2 == "7": + cmd = os.system("apt-get install creddump") + elif option2 == "8": + cmd = os.system("apt-get install crunch") + elif option2 == "9": + cmd = os.system( + "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") + elif option2 == "10": + cmd = os.system("apt-get install findmyhash") + elif option2 == "11": + cmd = os.system("apt-get install gpp-decrypt") + elif option2 == "12": + cmd = os.system( + "apt-get install hash-identifier") + elif option2 == "13": + cmd = os.system("apt-get install hexorbase") + elif option2 == "14": + cmd = os.system( + "echo 'please visit : https://www.thc.org/thc-hydra/' ") + elif option2 == "15": + cmd = os.system("apt-get install john") + elif option2 == "16": + cmd = os.system("apt-get install johnny") + elif option2 == "17": + cmd = os.system("apt-get install keimpx") + elif option2 == "18": + cmd = os.system( + "apt-get install maltego-teeth") + elif option2 == "19": + cmd = os.system( + "apt-get install maskprocessor") + elif option2 == "20": + cmd = os.system("apt-get install multiforcer") + elif option2 == "21": + cmd = os.system("apt-get install ncrack") + elif option2 == "22": + cmd = os.system( + "apt-get install oclgausscrack") + elif option2 == "23": + cmd = os.system("apt-get install pack") + elif option2 == "24": + cmd = os.system("apt-get install patator") + elif option2 == "25": + cmd = os.system( + "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") + elif option2 == "26": + cmd = os.system("apt-get install polenum") + elif option2 == "27": + cmd = os.system("apt-get install rainbowcrack") + elif option2 == "28": + cmd = os.system("apt-get install rcracki-mt") + elif option2 == "29": + cmd = os.system("apt-get install rsmangler") + elif option2 == "30": + print("Sqldict is unavailable") + elif option2 == "31": + cmd = os.system( + "apt-get install statsprocessor") + elif option2 == "32": + cmd = os.system( + "apt-get install thc-pptp-bruter") + elif option2 == "33": + cmd = os.system("apt-get install truecrack") + elif option2 == "34": + cmd = os.system("apt-get install webscarab") + elif option2 == "35": + cmd = os.system("apt-get install wordlists") + elif option2 == "36": + cmd = os.system("apt-get install zaproxy") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_reverse_engineering(): + while True: + print(''' +\033[1;36m=+[ Reverse Engineering\033[1;m + + 1) apktool + 2) dex2jar + 3) diStorm3 + 4) edb-debugger + 5) jad + 6) javasnoop + 7) JD-GUI + 8) OllyDbg + 9) smali +10) Valgrind +11) YARA + +0) Install all Reverse Engineering tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install apktool") + + elif option2 == "2": + cmd = os.system("apt-get install dex2jar") + + elif option2 == "3": + cmd = os.system( + "apt-get install python-diStorm3") + elif option2 == "4": + cmd = os.system("apt-get install edb-debugger") + elif option2 == "5": + cmd = os.system("apt-get install jad") + elif option2 == "6": + cmd = os.system("apt-get install javasnoop") + elif option2 == "7": + cmd = os.system("apt-get install JD") + elif option2 == "8": + cmd = os.system("apt-get install OllyDbg") + elif option2 == "9": + cmd = os.system("apt-get install smali") + elif option2 == "10": + cmd = os.system("apt-get install Valgrind") + elif option2 == "11": + cmd = os.system("apt-get install YARA") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_hardware_hacking(): + while True: + print(''' +\033[1;36m=+[ Hardware Hacking\033[1;m + + 1) android-sdk + 2) apktool + 3) Arduino + 4) dex2jar + 5) Sakis3G + 6) smali + +0) Install all Hardware Hacking tools + +\t\t\t\t\t\t''') + print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system("apt-get install android-sdk") + + elif option2 == "2": + cmd = os.system("apt-get install apktool") + + elif option2 == "3": + cmd = os.system("apt-get install arduino") + elif option2 == "4": + cmd = os.system("apt-get install dex2jar") + elif option2 == "5": + cmd = os.system("apt-get install sakis3g") + elif option2 == "6": + cmd = os.system("apt-get install smali") + + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + elif option2 == "0": + cmd = os.system( + "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") + else: + print( + "\033[1;31mSorry, that was an invalid command!\033[1;m") + +def category_extra(): + while True: + print('\n' + '\033[1;36m=+[ Extra\033[1;m\n' + '\n' + '1) Wifresti\n' + '2) Squid3\n' + '\t\t\t\t\t\t') + print( + "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") + option2 = input("\033[1;36mkat > \033[1;m") + if option2 == "1": + cmd = os.system( + "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") + print(" ") + elif option2 == "2": + cmd = os.system("apt-get install squid3") + print(" ") + elif option2 == "back": + return "back" + elif option2 == "gohome": + return "gohome" + +def run_categories_menu(): + # Dispatcher for the category submenus. + while True: + print(CATEGORIES_MENU_TEXT) + print( + "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") + + option = input("\033[1;36mkat > \033[1;m") + if option == "back": + return + elif option == "gohome": + return + elif option == "exit" or option == "quit": + print("Shutdown requested...Goodbye...") + sys.exit() + elif option == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + elif option == "0": + cmd = os.system(ALL_TOOLS_COMMAND) + elif option == "1": + result = category_information_gathering() + if result == "gohome": + return + elif option == "2": + result = category_vulnerability_analysis() + if result == "gohome": + return + elif option == "3": + result = category_wireless_attacks() + if result == "gohome": + return + elif option == "4": + result = category_web_applications() + if result == "gohome": + return + elif option == "5": + result = category_sniffing_spoofing() + if result == "gohome": + return + elif option == "6": + result = category_maintaining_access() + if result == "gohome": + return + elif option == "7": + result = category_reporting_tools() + if result == "gohome": + return + elif option == "8": + result = category_exploitation_tools() + if result == "gohome": + return + elif option == "9": + result = category_forensics_tools() + if result == "gohome": + return + elif option == "10": + result = category_stress_testing() + if result == "gohome": + return + elif option == "11": + result = category_password_attacks() + if result == "gohome": + return + elif option == "12": + result = category_reverse_engineering() + if result == "gohome": + return + elif option == "13": + result = category_hardware_hacking() + if result == "gohome": + return + elif option == "14": + result = category_extra() + if result == "gohome": + return + else: + print("\033[1;31mSorry, that was an invalid command!\033[1;m") From 8a58d245d60df4bee4466209fa122b86741af756 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:24:00 +0100 Subject: [PATCH 11/33] Add commands.py with shell command execution functions --- src/commands.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/commands.py diff --git a/src/commands.py b/src/commands.py new file mode 100644 index 0000000..a86f350 --- /dev/null +++ b/src/commands.py @@ -0,0 +1,20 @@ +import subprocess + + +def run_shell(cmd): + # Use the shell because many menu entries are plain one-liners. + return subprocess.run(cmd, shell=True).returncode == 0 + + +def run_shell_capture(cmd): + # Capture output so we can show warnings from apt. + proc = subprocess.run( + cmd, + shell=True, + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + ) + if proc.stdout: + print(proc.stdout, end="") + return proc.returncode, proc.stdout or "" From 4c2c261403325cca50e19ab380fb2c46a875bc14 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:24:05 +0100 Subject: [PATCH 12/33] Add menus.py with functions for printing separators, help menu, and main banner --- src/menus.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/menus.py diff --git a/src/menus.py b/src/menus.py new file mode 100644 index 0000000..f9f25f7 --- /dev/null +++ b/src/menus.py @@ -0,0 +1,47 @@ +def print_separator(): + print("\n" + "-" * 64 + "\n") + + +def help_menu(): + print("****************** +Commands+ ******************\n") + print("\033[1;32mback\033[1;m \t\033[1;33mGo back\033[1;m") + print("\033[1;32mgohome\033[1;m\t\033[1;33mGo to the main menu\033[1;m") + print("\033[1;32mhelp\033[1;m \t\033[1;33mShow this help menu\033[1;m") + print("\033[1;32mExit\033[1;m\t\033[1;33mExit the script\033[1;m") + + +def main_banner(): + banner = r""" + $$\ $$\ $$\ $$\ $$\ $$$$$$\ + $$ | $$ | $$ | $$ |\__| $$ ___$$\ + $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ | + $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / + $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ + \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ | + $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ | + \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m +""" + print(banner) + print("") + print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") + print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: 0xGuigui\033[1;m") + print(" \033[1;32m+ -- -- +=[ Latest update: 1/12/2026\033[1;m") + print("") + print("") + print("\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to " + "avoid any kind of problem.\033[1;m") + print("\033[1;91m[W] In some cases, Kali-Linux repositories can destabilize your system or worse, completely " + "destroy it.\033[1;m") + print("") + + +CLASSICMENU_INFO = ''' +ClassicMenu Indicator is a notification area applet (application indicator) for the top panel of Ubuntu's Unity desktop environment. + +It provides a simple way to get a classic GNOME-style application menu for those who prefer this over the Unity dash menu. + +Like the classic GNOME menu, it includes Wine games and applications if you have those installed. + +For more information , please visit : http://www.florian-diesch.de/software/classicmenu-indicator/ + +''' From 8fef69b70327f7d91798450799c34b8b3bf0f307 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:24:08 +0100 Subject: [PATCH 13/33] Add repo.py for managing Kali repository sources and keys --- src/repo.py | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/repo.py diff --git a/src/repo.py b/src/repo.py new file mode 100644 index 0000000..58fba5f --- /dev/null +++ b/src/repo.py @@ -0,0 +1,82 @@ +import os + +from commands import run_shell + +REPO_PATH = "/etc/apt/sources.list.d/katoolin.list" +SOURCES_LIST_PATH = "/etc/apt/sources.list" +KALI_KEY_PATH = "/usr/share/keyrings/kali-archive-keyring.gpg" +REPO_LINE = ( + "deb [signed-by=/usr/share/keyrings/kali-archive-keyring.gpg] " + "https://http.kali.org/kali kali-rolling main contrib non-free\n" +) + + +def show_sources_list(): + files = [ + (SOURCES_LIST_PATH, "sources.list"), + (REPO_PATH, "katoolin.list"), + ] + found = False + for path, label in files: + if not os.path.exists(path): + continue + found = True + print("\033[1;36m[%s]\033[1;m %s\n" % (label, path)) + try: + with open(path, "r") as src: + print(src.read()) + except IOError: + print("\033[1;31mUnable to read %s.\033[1;m\n" % path) + if not found: + print("\033[1;33mNo sources list files were found.\033[1;m") + + +def add_kali_key(): + # Install the Kali archive key so apt trusts the repo. + cmd = ( + "wget -q -O - https://archive.kali.org/archive-key.asc | " + "gpg --dearmor | tee %s >/dev/null" % KALI_KEY_PATH + ) + if not run_shell(cmd): + return False + try: + os.chmod(KALI_KEY_PATH, 0o644) + except OSError: + return False + return True + + +def write_kali_repo(): + if os.path.exists(REPO_PATH): + return "exists" + try: + with open(REPO_PATH, "w") as repo_file: + repo_file.write("# Kali linux repositories | Added by Katoolin\n") + repo_file.write(REPO_LINE) + except IOError: + return "error" + return "added" + + +def remove_kali_repo(): + removed_repo = False + if os.path.exists(REPO_PATH): + os.remove(REPO_PATH) + removed_repo = True + delete_list = [ + "# Kali linux repositories | Added by Katoolin\n", + "deb http://http.kali.org/kali kali-rolling main contrib non-free\n", + REPO_LINE, + ] + try: + with open(SOURCES_LIST_PATH, "r") as fin: + lines = fin.readlines() + with open(SOURCES_LIST_PATH, "w") as fout: + for line in lines: + if line in delete_list: + removed_repo = True + continue + fout.write(line) + except IOError: + return False + return removed_repo From 957eef1ad6934e04ef8f0e87dfe86e9b63444a65 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 10:46:05 +0100 Subject: [PATCH 14/33] Add shell command option to menus and categories for enhanced user interaction --- src/app.py | 1 + src/categories.py | 80 ++++++++++++++++++++++++++++++++++++++++++++++- src/commands.py | 7 +++++ src/menus.py | 1 + 4 files changed, 88 insertions(+), 1 deletion(-) diff --git a/src/app.py b/src/app.py index 3c43d21..d058bb5 100644 --- a/src/app.py +++ b/src/app.py @@ -25,6 +25,7 @@ def repo_menu(): print("2) Update") print("3) Remove all kali linux repositories") print("4) View the contents of sources.list file") + print("back) Go back") print("") repo = input( "\033[1;32mWhat do you want to do ?> \033[1;m") diff --git a/src/categories.py b/src/categories.py index e1152ad..38b02a9 100644 --- a/src/categories.py +++ b/src/categories.py @@ -1,6 +1,8 @@ import os import sys +from commands import open_shell + # Menu actions mostly call apt-get install to fetch packages. @@ -14,7 +16,12 @@ 5) Sniffing & Spoofing\t\t\t\t12) Reverse Engineering 6) Maintaining Access\t\t\t\t13) Hardware Hacking 7) Reporting Tools \t\t\t\t14) Extra -\t\t\t\t\t\n0) All +\t\t\t\t\t +0) All +back) Go back +gohome) Go to main menu +shell) Open system shell +shell) Open system shell \t\t\t ''' @@ -88,6 +95,9 @@ def category_information_gathering(): 29) goofile 0) Install all Information Gathering tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -218,6 +228,8 @@ def category_information_gathering(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "exit" or option2 == "quit": sys.exit() elif option2 == "help": @@ -258,6 +270,9 @@ def category_vulnerability_analysis(): \t\t\t\t\t35) Yersinia 0) Install all Vulnerability Analysis tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -350,6 +365,8 @@ def category_vulnerability_analysis(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") @@ -379,6 +396,9 @@ def category_wireless_attacks(): 16) gr-scan\t\t\t32) Wifite 0) Install all Wireless Attacks tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -461,6 +481,8 @@ def category_wireless_attacks(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") @@ -493,6 +515,9 @@ def category_web_applications(): \t\t\t\t\t41) zaproxy 0) Install all Web Applications tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -591,6 +616,8 @@ def category_web_applications(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") @@ -621,6 +648,9 @@ def category_sniffing_spoofing(): 16) rtpinsertsound\t\t32) zaproxy 0) Install all Sniffing & Spoofing tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -698,6 +728,8 @@ def category_sniffing_spoofing(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( @@ -729,6 +761,9 @@ def category_maintaining_access(): 16) Weevely 0) Install all Maintaining Access tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -771,6 +806,8 @@ def category_maintaining_access(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") @@ -794,6 +831,9 @@ def category_reporting_tools(): 9) pipal 0) Install all Reporting Tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -822,6 +862,8 @@ def category_reporting_tools(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") @@ -853,6 +895,9 @@ def category_exploitation_tools(): 17) Yersinia 0) Install all Exploitation Tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -904,6 +949,8 @@ def category_exploitation_tools(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") @@ -931,6 +978,9 @@ def category_forensics_tools(): \t\t\t\t\t23) Xplico 0) Install all Forensics Tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -991,6 +1041,8 @@ def category_forensics_tools(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") @@ -1019,6 +1071,9 @@ def category_stress_testing(): 14) THC-SSL-DOS 0) Install all Stress Testing tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -1058,6 +1113,8 @@ def category_stress_testing(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") @@ -1090,6 +1147,9 @@ def category_password_attacks(): 18) Maltego Teeth\t\t36) zaproxy 0) Install all Password Attacks tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -1182,6 +1242,8 @@ def category_password_attacks(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") @@ -1207,6 +1269,9 @@ def category_reverse_engineering(): 11) YARA 0) Install all Reverse Engineering tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -1240,6 +1305,8 @@ def category_reverse_engineering(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") @@ -1260,6 +1327,9 @@ def category_hardware_hacking(): 6) smali 0) Install all Hardware Hacking tools +back) Go back +gohome) Go to main menu +shell) Open system shell \t\t\t\t\t\t''') print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -1283,6 +1353,8 @@ def category_hardware_hacking(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() elif option2 == "0": cmd = os.system( "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") @@ -1297,6 +1369,8 @@ def category_extra(): '\n' '1) Wifresti\n' '2) Squid3\n' + 'back) Go back\n' + 'gohome) Go to main menu\n' '\t\t\t\t\t\t') print( "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") @@ -1312,6 +1386,8 @@ def category_extra(): return "back" elif option2 == "gohome": return "gohome" + elif option2 == "shell": + open_shell() def run_categories_menu(): # Dispatcher for the category submenus. @@ -1325,6 +1401,8 @@ def run_categories_menu(): return elif option == "gohome": return + elif option == "shell": + open_shell() elif option == "exit" or option == "quit": print("Shutdown requested...Goodbye...") sys.exit() diff --git a/src/commands.py b/src/commands.py index a86f350..f4ef1ea 100644 --- a/src/commands.py +++ b/src/commands.py @@ -1,3 +1,4 @@ +import os import subprocess @@ -18,3 +19,9 @@ def run_shell_capture(cmd): if proc.stdout: print(proc.stdout, end="") return proc.returncode, proc.stdout or "" + + +def open_shell(): + print("\033[1;33mStarting shell... Type 'exit' to return to Katoolin3.\033[1;m") + user_shell = os.environ.get("SHELL", "/bin/bash") + subprocess.run(user_shell) diff --git a/src/menus.py b/src/menus.py index f9f25f7..f2d41e9 100644 --- a/src/menus.py +++ b/src/menus.py @@ -6,6 +6,7 @@ def help_menu(): print("****************** +Commands+ ******************\n") print("\033[1;32mback\033[1;m \t\033[1;33mGo back\033[1;m") print("\033[1;32mgohome\033[1;m\t\033[1;33mGo to the main menu\033[1;m") + print("\033[1;32mshell\033[1;m \t\033[1;33mOpen system shell\033[1;m") print("\033[1;32mhelp\033[1;m \t\033[1;33mShow this help menu\033[1;m") print("\033[1;32mExit\033[1;m\t\033[1;33mExit the script\033[1;m") From 858de293bcf8e6b387577177ab4ae584f401760b Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 14:58:26 +0100 Subject: [PATCH 15/33] Refactor repo_menu and main functions to use print_menu for better code organization and user interaction --- src/app.py | 69 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/src/app.py b/src/app.py index d058bb5..3a6c6a4 100644 --- a/src/app.py +++ b/src/app.py @@ -6,6 +6,7 @@ from commands import run_shell_capture from menus import CLASSICMENU_INFO, help_menu, main_banner, print_separator from repo import add_kali_key, remove_kali_repo, show_sources_list, write_kali_repo +from style import print_menu, clear, wait_for_input def setup(): @@ -17,16 +18,15 @@ def setup(): os.system("clear") return True - def repo_menu(): while True: - print("") - print("1) Add kali linux repositories") - print("2) Update") - print("3) Remove all kali linux repositories") - print("4) View the contents of sources.list file") - print("back) Go back") - print("") + options = [ + ("1", "Add kali linux repositories"), + ("2", "Update"), + ("3", "Remove all kali linux repositories"), + ("4", "View the contents of sources.list file"), + ] + print_menu("Kali Linux Repositories", options, tools_mode=False) repo = input( "\033[1;32mWhat do you want to do ?> \033[1;m") if repo == "1": @@ -34,18 +34,19 @@ def repo_menu(): print( "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") print_separator() - continue - repo_status = write_kali_repo() - if repo_status == "added": - print( - "\033[1;32m\nKali repositories have been added.\n\033[1;m") - elif repo_status == "exists": - print( - "\033[1;33m\nKali repositories are already present.\n\033[1;m") else: - print( - "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") - print_separator() + repo_status = write_kali_repo() + if repo_status == "added": + print( + "\033[1;32m\nKali repositories have been added.\n\033[1;m") + elif repo_status == "exists": + print( + "\033[1;33m\nKali repositories are already present.\n\033[1;m") + else: + print( + "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") + print_separator() + wait_for_input() elif repo == "2": rc, output = run_shell_capture("apt-get update") if rc == 0 and "W:" not in output and "E:" not in output: @@ -55,6 +56,7 @@ def repo_menu(): else: print("\033[1;31m\nUpdate failed.\n\033[1;m") print_separator() + wait_for_input() elif repo == "3": removed = remove_kali_repo() if removed: @@ -64,6 +66,7 @@ def repo_menu(): print( "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") print_separator() + wait_for_input() elif repo == "back": return elif repo == "gohome": @@ -74,25 +77,32 @@ def repo_menu(): elif repo == "4": show_sources_list() print_separator() + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def main(): try: if not setup(): return - main_banner() while True: - print("1) Add Kali repositories & Update") - print("2) View Categories") - print("3) Install classicmenu indicator") - print("4) Install Kali menu") - print("5) Help") - print("") - + # Clear manualy here so we can print banner on top + clear() + main_banner() + + options = [ + ("1", "Add Kali repositories & Update"), + ("2", "View Categories"), + ("3", "Install classicmenu indicator"), + ("4", "Install Kali menu"), + ("5", "Help"), + ] + # Tell print_menu NOT to clear + print_menu("Main Menu", options, tools_mode=False, clear_screen=False) option0 = input("\033[1;36mkat > \033[1;m") if option0 == "exit" or option0 == "quit": print("Shutdown requested...Goodbye...") @@ -110,18 +120,23 @@ def main(): "add-apt-repository ppa:diesch/testing && apt-get update") cmd = os.system( "sudo apt-get install classicmenu-indicator") + wait_for_input() elif option0 == "help": print("") help_menu() + wait_for_input() elif option0 == "4": repo = input( "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") if repo == "y": cmd1 = os.system("apt-get install kali-menu") + wait_for_input() elif option0 == "5": help_menu() + wait_for_input() else: print("\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() except KeyboardInterrupt: print("Shutdown requested...Goodbye...") except Exception: From 436c882a360ffe652be422b11fd113f1ebc6fb8b Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 14:58:30 +0100 Subject: [PATCH 16/33] refactor(categories): use print_menu for category UI and add wait prompts --- src/categories.py | 827 +++++++++++++++++++++++++++------------------- 1 file changed, 489 insertions(+), 338 deletions(-) diff --git a/src/categories.py b/src/categories.py index 38b02a9..619194b 100644 --- a/src/categories.py +++ b/src/categories.py @@ -2,28 +2,11 @@ import sys from commands import open_shell - -# Menu actions mostly call apt-get install to fetch packages. +from style import print_menu, wait_for_input -CATEGORIES_MENU_TEXT = ''' -\033[1;36m**************************** All Categories *****************************\033[1;m - -1) Information Gathering\t\t\t8) Exploitation Tools -2) Vulnerability Analysis\t\t\t9) Forensics Tools -3) Wireless Attacks\t\t\t\t10) Stress Testing -4) Web Applications\t\t\t\t11) Password Attacks -5) Sniffing & Spoofing\t\t\t\t12) Reverse Engineering -6) Maintaining Access\t\t\t\t13) Hardware Hacking -7) Reporting Tools \t\t\t\t14) Extra -\t\t\t\t\t -0) All -back) Go back -gohome) Go to main menu -shell) Open system shell -shell) Open system shell +# Menu actions mostly call apt-get install to fetch packages. -\t\t\t ''' ALL_TOOLS_COMMAND = ( "apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch " @@ -61,169 +44,217 @@ def category_information_gathering(): while True: - print(''' -\033[1;36m=+[ Information Gathering\033[1;m - - 1) acccheck\t\t\t\t30) lbd - 2) ace-voip\t\t\t\t31) Maltego Teeth - 3) Amap\t\t\t\t32) masscan - 4) Automater\t\t\t\t33) Metagoofil - 5) bing-ip2hosts\t\t\t34) Miranda - 6) braa\t\t\t\t35) Nmap - 7) CaseFile\t\t\t\t36) ntop - 8) CDPSnarf\t\t\t\t37) p0f - 9) cisco-torch\t\t\t38) Parsero -10) Cookie Cadger\t\t\t39) Recon-ng -11) copy-router-config\t\t\t40) SET -12) DMitry\t\t\t\t41) smtp-user-enum -13) dnmap\t\t\t\t42) snmpcheck -14) dnsenum\t\t\t\t43) sslcaudit -15) dnsmap\t\t\t\t44) SSLsplit -16) DNSRecon\t\t\t\t45) sslstrip -17) dnstracer\t\t\t\t46) SSLyze -18) dnswalk\t\t\t\t47) THC-IPV6 -19) DotDotPwn\t\t\t\t48) theHarvester -20) enum4linux\t\t\t49) TLSSLed -21) enumIAX\t\t\t\t50) twofi -22) exploitdb\t\t\t\t51) URLCrazy -23) Fierce\t\t\t\t52) Wireshark -24) Firewalk\t\t\t\t53) WOL-E -25) fragroute\t\t\t\t54) Xplico -26) fragrouter\t\t\t\t55) iSMTP -27) Ghost Phisher\t\t\t56) InTrace -28) GoLismero\t\t\t\t57) hping3 -29) goofile - -0) Install all Information Gathering tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "acccheck"), ("30", "lbd"), + ("2", "ace-voip"), ("31", "Maltego Teeth"), + ("3", "Amap"), ("32", "masscan"), + ("4", "Automater"), ("33", "Metagoofil"), + ("5", "bing-ip2hosts"), ("34", "Miranda"), + ("6", "braa"), ("35", "Nmap"), + ("7", "CaseFile"), ("36", "ntop"), + ("8", "CDPSnarf"), ("37", "p0f"), + ("9", "cisco-torch"), ("38", "Parsero"), + ("10", "Cookie Cadger"), ("39", "Recon-ng"), + ("11", "copy-router-config"), ("40", "SET"), + ("12", "DMitry"), ("41", "smtp-user-enum"), + ("13", "dnmap"), ("42", "snmpcheck"), + ("14", "dnsenum"), ("43", "sslcaudit"), + ("15", "dnsmap"), ("44", "SSLsplit"), + ("16", "DNSRecon"), ("45", "sslstrip"), + ("17", "dnstracer"), ("46", "SSLyze"), + ("18", "dnswalk"), ("47", "THC-IPV6"), + ("19", "DotDotPwn"), ("48", "theHarvester"), + ("20", "enum4linux"), ("49", "TLSSLed"), + ("21", "enumIAX"), ("50", "twofi"), + ("22", "exploitdb"), ("51", "URLCrazy"), + ("23", "Fierce"), ("52", "Wireshark"), + ("24", "Firewalk"), ("53", "WOL-E"), + ("25", "fragroute"), ("54", "Xplico"), + ("26", "fragrouter"), ("55", "iSMTP"), + ("27", "Ghost Phisher"), ("56", "InTrace"), + ("28", "GoLismero"), ("57", "hping3"), + ("29", "goofile") + ] + print_menu("Information Gathering", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": cmd = os.system("apt-get install acccheck") - + wait_for_input() elif option2 == "2": cmd = os.system("apt-get install ace-voip") - + wait_for_input() elif option2 == "3": cmd = os.system("apt-get install amap") + wait_for_input() elif option2 == "4": cmd = os.system("apt-get install automater") + wait_for_input() elif option2 == "5": cmd = os.system( "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + wait_for_input() elif option2 == "6": cmd = os.system("apt-get install braa") + wait_for_input() elif option2 == "7": cmd = os.system("apt-get install casefile") + wait_for_input() elif option2 == "8": cmd = os.system("apt-get install cdpsnarf") + wait_for_input() elif option2 == "9": cmd = os.system("apt-get install cisco-torch") + wait_for_input() elif option2 == "10": cmd = os.system( "apt-get install cookie-cadger") + wait_for_input() elif option2 == "11": cmd = os.system( "apt-get install copy-router-config") + wait_for_input() elif option2 == "12": cmd = os.system("apt-get install dmitry") + wait_for_input() elif option2 == "13": cmd = os.system("apt-get install dnmap") + wait_for_input() elif option2 == "14": cmd = os.system("apt-get install dnsenum") + wait_for_input() elif option2 == "15": cmd = os.system("apt-get install dnsmap") + wait_for_input() elif option2 == "16": cmd = os.system("apt-get install dnsrecon") + wait_for_input() elif option2 == "17": cmd = os.system("apt-get install dnstracer") + wait_for_input() elif option2 == "18": cmd = os.system("apt-get install dnswalk") + wait_for_input() elif option2 == "19": cmd = os.system("apt-get install dotdotpwn") + wait_for_input() elif option2 == "20": cmd = os.system("apt-get install enum4linux") + wait_for_input() elif option2 == "21": cmd = os.system("apt-get install enumiax") + wait_for_input() elif option2 == "22": cmd = os.system("apt-get install exploitdb") + wait_for_input() elif option2 == "23": cmd = os.system("apt-get install fierce") + wait_for_input() elif option2 == "24": cmd = os.system("apt-get install firewalk") + wait_for_input() elif option2 == "25": cmd = os.system("apt-get install fragroute") + wait_for_input() elif option2 == "26": cmd = os.system("apt-get install fragrouter") + wait_for_input() elif option2 == "27": cmd = os.system( "apt-get install ghost-phisher") + wait_for_input() elif option2 == "28": cmd = os.system("apt-get install golismero") + wait_for_input() elif option2 == "29": cmd = os.system("apt-get install goofile") + wait_for_input() elif option2 == "30": cmd = os.system("apt-get install lbd") + wait_for_input() elif option2 == "31": cmd = os.system( "apt-get install maltego-teeth") + wait_for_input() elif option2 == "32": cmd = os.system("apt-get install masscan") + wait_for_input() elif option2 == "33": cmd = os.system("apt-get install metagoofil") + wait_for_input() elif option2 == "34": cmd = os.system("apt-get install miranda") + wait_for_input() elif option2 == "35": cmd = os.system("apt-get install nmap") + wait_for_input() elif option2 == "36": print('ntop is unavailable') + wait_for_input() elif option2 == "37": cmd = os.system("apt-get install p0f") + wait_for_input() elif option2 == "38": cmd = os.system("apt-get install parsero") + wait_for_input() elif option2 == "39": cmd = os.system("apt-get install recon-ng") + wait_for_input() elif option2 == "40": cmd = os.system("apt-get install set") + wait_for_input() elif option2 == "41": cmd = os.system( "apt-get install smtp-user-enum") + wait_for_input() elif option2 == "42": cmd = os.system("apt-get install snmpcheck") + wait_for_input() elif option2 == "43": cmd = os.system("apt-get install sslcaudit") + wait_for_input() elif option2 == "44": cmd = os.system("apt-get install sslsplit") + wait_for_input() elif option2 == "45": cmd = os.system("apt-get install sslstrip") + wait_for_input() elif option2 == "46": cmd = os.system("apt-get install sslyze") + wait_for_input() elif option2 == "47": cmd = os.system("apt-get install thc-ipv6") + wait_for_input() elif option2 == "48": cmd = os.system("apt-get install theharvester") + wait_for_input() elif option2 == "49": cmd = os.system("apt-get install tlssled") + wait_for_input() elif option2 == "50": cmd = os.system("apt-get install twofi") + wait_for_input() elif option2 == "51": cmd = os.system("apt-get install urlcrazy") + wait_for_input() elif option2 == "52": cmd = os.system("apt-get install wireshark") + wait_for_input() elif option2 == "53": cmd = os.system("apt-get install wol-e") + wait_for_input() elif option2 == "54": cmd = os.system("apt-get install xplico") + wait_for_input() elif option2 == "55": cmd = os.system("apt-get install ismtp") + wait_for_input() elif option2 == "56": cmd = os.system("apt-get install intrace") + wait_for_input() elif option2 == "57": cmd = os.system("apt-get install hping3") + wait_for_input() elif option2 == "back": return "back" elif option2 == "gohome": @@ -238,43 +269,53 @@ def category_information_gathering(): "gohome\t\tGo to the main menu\n" "exit\t\tExit the program\n" "help\t\tShow this help menu\n") + wait_for_input() elif option2 == "0": cmd = os.system( "apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") + wait_for_input() + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() + wait_for_input() def category_vulnerability_analysis(): while True: - print(''' -\033[1;36m=+[ Vulnerability Analysis\033[1;m - - 1) BBQSQL\t\t\t\t18) Nmap - 2) BED\t\t\t\t19)ohrwurm - 3) cisco-auditing-tool\t\t\t20) openvas-administrator - 4) cisco-global-exploiter\t\t21) openvas-cli - 5) cisco-ocs\t\t\t22) openvas-manager - 6) cisco-torch\t\t\t23) openvas-scanner - 7) copy-router-config\t\t\t24) Oscanner - 8) commix\t\t\t\t25) Powerfuzzer - 9) DBPwAudit\t\t\t26) sfuzz -10) DoonaDot\t\t\t27) SidGuesser -11) DotPwn\t\t\t28) SIPArmyKnife -12) Greenbone Security Assistant \t29) sqlmap -13) GSD\t\t\t\t30) Sqlninja -14) HexorBase\t\t\t31) sqlsus -15) Inguma\t\t\t32) THC-IPV6 -16) jSQL\t\t\t\t33) tnscmd10g -17) Lynis\t\t\t\t34) unix-privesc-check -\t\t\t\t\t35) Yersinia - -0) Install all Vulnerability Analysis tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "BBQSQL"), ("18", "Nmap"), + ("2", "BED"), ("19", "ohrwurm"), + ("3", "cisco-auditing-tool"), ("20", "openvas-administrator"), + ("4", "cisco-global-exploiter"), ("21", "openvas-cli"), + ("5", "cisco-ocs"), ("22", "openvas-manager"), + ("6", "cisco-torch"), ("23", "openvas-scanner"), + ("7", "copy-router-config"), ("24", "Oscanner"), + ("8", "commix"), ("25", "Powerfuzzer"), + ("9", "DBPwAudit"), ("26", "sfuzz"), + ("10", "DoonaDot"), ("27", "SidGuesser"), + ("11", "DotPwn"), ("28", "SIPArmyKnife"), + ("12", "Greenbone Security Assistant"), ("29", "sqlmap"), + ("13", "GSD"), ("30", "Sqlninja"), + ("14", "HexorBase"), ("31", "sqlsus"), + ("15", "Inguma"), ("32", "THC-IPV6"), + ("16", "jSQL"), ("33", "tnscmd10g"), + ("17", "Lynis"), ("34", "unix-privesc-check"), + ("35", "Yersinia") + ] + print_menu("Vulnerability Analysis", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -370,37 +411,45 @@ def category_vulnerability_analysis(): elif option2 == "0": cmd = os.system( "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_wireless_attacks(): while True: - print(''' -\033[1;36m=+[ Wireless Attacks\033[1;m - - 1) Aircrack-ng\t\t\t\t17) kalibrate-rtl - 2) Asleap\t\t\t\t18) KillerBee - 3) Bluelog\t\t\t\t19) Kismet - 4) BlueMaho\t\t\t\t20) mdk3 - 5) Bluepot\t\t\t\t21) mfcuk - 6) BlueRanger\t\t\t\t22) mfoc - 7) Bluesnarfer\t\t\t\t23) mfterm - 8) Bully\t\t\t\t24) Multimon-NG - 9) coWPAtty\t\t\t\t25) PixieWPS -10) crackle\t\t\t\t26) Reaver -11) eapmd5pass\t\t\t27) redfang -12) Fern Wifi Cracker\t\t28) RTLSDR Scanner -13) Ghost Phisher\t\t\t29) Spooftooph -14) GISKismet\t\t\t30) Wifi Honey\t\t\t31) Wifitap -16) gr-scan\t\t\t32) Wifite - -0) Install all Wireless Attacks tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "Aircrack-ng"), ("17", "kalibrate-rtl"), + ("2", "Asleap"), ("18", "KillerBee"), + ("3", "Bluelog"), ("19", "Kismet"), + ("4", "BlueMaho"), ("20", "mdk3"), + ("5", "Bluepot"), ("21", "mfcuk"), + ("6", "BlueRanger"), ("22", "mfoc"), + ("7", "Bluesnarfer"), ("23", "mfterm"), + ("8", "Bully"), ("24", "Multimon-NG"), + ("9", "coWPAtty"), ("25", "PixieWPS"), + ("10", "crackle"), ("26", "Reaver"), + ("11", "eapmd5pass"), ("27", "redfang"), + ("12", "Fern Wifi Cracker"), ("28", "RTLSDR Scanner"), + ("13", "Ghost Phisher"), ("29", "Spooftooph"), + ("14", "GISKismet"), ("30", "Wifi Honey"), + ("16", "gr-scan"), ("31", "Wifitap"), + ("32", "Wifite") + ] + print_menu("Wireless Attacks", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -483,43 +532,50 @@ def category_wireless_attacks(): return "gohome" elif option2 == "shell": open_shell() + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_web_applications(): while True: - print(''' -\033[1;36m=+[ Web Applications\033[1;m - - 1) apache-users\t\t\t21) Parsero - 2) Arachni\t\t\t\t22) plecost - 3) BBQSQL\t\t\t\t23) Powerfuzzer - 4) BlindElephant\t\t\t24) ProxyStrike - 5) Burp Suite\t\t\t25) Recon-ng - 6) commix\t\t\t\t26) Skipfish - 7) CutyCapt\t\t\t27) sqlmap - 8) DAVTest\t\t\t28) Sqlninja - 9) deblaze\t\t\t29) sqlsus -10) DIRB\t\t\t30) ua-tester -11) DirBuster\t\t\t31) Uniscan -12) fimap\t\t\t\t32) Vega -13) FunkLoad\t\t\t33) w3af -14) Grabber\t\t\t\t34) WebScarab -15) jboss-autopwn\t\t\t35) Webshag -16) joomscan\t\t\t36) WebSlayer -17) jSQL\t\t\t\t37) WebSploit -18) Maltego Teeth\t\t38) Wfuzz -19) PadBuster\t\t\t39) WPScan -20) Paros\t\t\t\t40) XSSer -\t\t\t\t\t41) zaproxy - -0) Install all Web Applications tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "apache-users"), ("21", "Parsero"), + ("2", "Arachni"), ("22", "plecost"), + ("3", "BBQSQL"), ("23", "Powerfuzzer"), + ("4", "BlindElephant"), ("24", "ProxyStrike"), + ("5", "Burp Suite"), ("25", "Recon-ng"), + ("6", "commix"), ("26", "Skipfish"), + ("7", "CutyCapt"), ("27", "sqlmap"), + ("8", "DAVTest"), ("28", "Sqlninja"), + ("9", "deblaze"), ("29", "sqlsus"), + ("10", "DIRB"), ("30", "ua-tester"), + ("11", "DirBuster"), ("31", "Uniscan"), + ("12", "fimap"), ("32", "Vega"), + ("13", "FunkLoad"), ("33", "w3af"), + ("14", "Grabber"), ("34", "WebScarab"), + ("15", "jboss-autopwn"), ("35", "Webshag"), + ("16", "joomscan"), ("36", "WebSlayer"), + ("17", "jSQL"), ("37", "WebSploit"), + ("18", "Maltego Teeth"), ("38", "Wfuzz"), + ("19", "PadBuster"), ("39", "WPScan"), + ("20", "Paros"), ("40", "XSSer"), + ("41", "zaproxy") + ] + print_menu("Web Applications", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") @@ -621,38 +677,45 @@ def category_web_applications(): elif option2 == "0": cmd = os.system( "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_sniffing_spoofing(): while True: - print(''' -\033[1;36m=+[ Sniffing & Spoofing\033[1;m - - 1) Burp Suite\t\t\t17) rtpmixsound - 2) DNSChef\t\t\t\t18) sctpscan - 3) fiked\t\t\t\t19) SIPArmyKnife - 4) hamster-sidejack\t\t20) SIPp - 5) HexInject\t\t\t21) SIPVicious - 6) iaxflood\t\t\t22) SniffJoke - 7) inviteflood\t\t\t23) SSLsplit - 8) iSMTP\t\t\t\t24) sslstrip - 9) isr-evilgrade\t\t\t25) THC-IPV6 -10) mitmproxy\t\t\t26) VoIPHopper -11) ohrwurm\t\t\t\t27) WebScarab -12) protos-sip\t\t\t28) Wifi Honey -13) rebind\t\t\t\t29) Wireshark -14) responder\t\t\t30) xspy -15) rtpbreak\t\t\t\t31) Yersinia -16) rtpinsertsound\t\t32) zaproxy - -0) Install all Sniffing & Spoofing tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "Burp Suite"), ("17", "rtpmixsound"), + ("2", "dnschef"), ("18", "sctpscan"), + ("3", "fiked"), ("19", "siparmyknife"), + ("4", "hamster-sidejack"), ("20", "sipp"), + ("5", "hexinject"), ("21", "sipvicious"), + ("6", "iaxflood"), ("22", "sniffjoke"), + ("7", "inviteflood"), ("23", "sslsplit"), + ("8", "ismtp"), ("24", "sslstrip"), + ("9", "isr-evilgrade"), ("25", "THC-IPV6"), + ("10", "mitmproxy"), ("26", "voiphopper"), + ("11", "ohrwurm"), ("27", "WebScarab"), + ("12", "protos-sip"), ("28", "Wifi Honey"), + ("13", "rebind"), ("29", "Wireshark"), + ("14", "Responder"), ("30", "xspy"), + ("15", "rtpbreak"), ("31", "Yersinia"), + ("16", "rtpinsertsound"), ("32", "zaproxy") + ] + print_menu("Sniffing & Spoofing", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -734,38 +797,45 @@ def category_sniffing_spoofing(): elif option2 == "0": cmd = os.system( "apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_maintaining_access(): while True: - print(''' -\033[1;36m=+[ Maintaining Access\033[1;m - - 1) CryptCat - 2) Cymothoa - 3) dbd - 4) dns2tcp - 5) http-tunnel - 6) HTTPTunnel - 7) Intersect - 8) Nishang - 9) polenum -10) PowerSploit -11) pwnat -12) RidEnum -13) sbd -14) U3-Pwn -15) Webshells -16) Weevely - -0) Install all Maintaining Access tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "CryptCat"), + ("2", "Cymothoa"), + ("3", "dbd"), + ("4", "dns2tcp"), + ("5", "http-tunnel"), + ("6", "HTTPTunnel"), + ("7", "Intersect"), + ("8", "Nishang"), + ("9", "polenum"), + ("10", "PowerSploit"), + ("11", "pwnat"), + ("12", "RidEnum"), + ("13", "sbd"), + ("14", "U3-Pwn"), + ("15", "Webshells"), + ("16", "Weevely") + ] + print_menu("Maintaining Access", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -811,31 +881,38 @@ def category_maintaining_access(): elif option2 == "0": cmd = os.system( "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_reporting_tools(): while True: - print(''' -\033[1;36m=+[ Reporting Tools\033[1;m - -1) CaseFile -2) CutyCapt -3) dos2unix -4) Dradis -5) KeepNote -6) MagicTree -7) Metagoofil -8) Nipper-ng -9) pipal - -0) Install all Reporting Tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "CaseFile"), + ("2", "CutyCapt"), + ("3", "dos2unix"), + ("4", "Dradis"), + ("5", "KeepNote"), + ("6", "MagicTree"), + ("7", "Metagoofil"), + ("8", "Nipper-ng"), + ("9", "pipal") + ] + print_menu("Reporting Tools", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -867,9 +944,23 @@ def category_reporting_tools(): elif option2 == "0": cmd = os.system( "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_exploitation_tools(): while True: @@ -954,35 +1045,41 @@ def category_exploitation_tools(): elif option2 == "0": cmd = os.system( "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_forensics_tools(): while True: - print(''' -\033[1;36m=+[ Forensics Tools\033[1;m - - 1) Binwalk\t\t\t\t11) extundelete - 2) bulk-extractor\t\t\t12) Foremost - 3) Capstone\t\t\t\t13) Galleta - 4) chntpw\t\t\t\t14) Guymager - 5) Cuckoo\t\t\t\t15) iPhone Backup Analyzer - 6) dc3dd\t\t\t\t16) p0f - 7) ddrescue\t\t\t17) pdf-parser - 8) DFF\t\t\t\t18) pdfid - 9) diStorm3\t\t\t19) pdgmail -10) Dumpzilla\t\t\t20) peepdf -\t\t\t\t\t21) RegRipper -\t\t\t\t\t22) Volatility -\t\t\t\t\t23) Xplico - -0) Install all Forensics Tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "Binwalk"), ("11", "extundelete"), + ("2", "bulk-extractor"), ("12", "Foremost"), + ("3", "Capstone"), ("13", "Galleta"), + ("4", "chntpw"), ("14", "Guymager"), + ("5", "Cuckoo"), ("15", "iPhone Backup Analyzer"), + ("6", "dc3dd"), ("16", "p0f"), + ("7", "ddrescue"), ("17", "pdf-parser"), + ("8", "DFF"), ("18", "pdfid"), + ("9", "diStorm3"), ("19", "pdgmail"), + ("10", "Dumpzilla"), ("20", "peepdf"), + ("21", "RegRipper"), ("22", "Volatility"), + ("23", "Xplico") + ] + print_menu("Forensics Tools", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -1046,36 +1143,43 @@ def category_forensics_tools(): elif option2 == "0": cmd = os.system( "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_stress_testing(): while True: - print(''' -\033[1;36m=+[ Stress Testing\033[1;m - - 1) DHCPig - 2) FunkLoad - 3) iaxflood - 4) Inundator - 5) inviteflood - 6) ipv6-toolkit - 7) mdk3 - 8) Reaver - 9) rtpflood -10) SlowHTTPTest -11) t50 -12) Termineter -13) THC-IPV6 -14) THC-SSL-DOS - -0) Install all Stress Testing tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "DHCPig"), + ("2", "FunkLoad"), + ("3", "iaxflood"), + ("4", "Inundator"), + ("5", "inviteflood"), + ("6", "ipv6-toolkit"), + ("7", "mdk3"), + ("8", "Reaver"), + ("9", "rtpflood"), + ("10", "SlowHTTPTest"), + ("11", "t50"), + ("12", "Termineter"), + ("13", "THC-IPV6"), + ("14", "THC-SSL-DOS") + ] + print_menu("Stress Testing", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -1118,40 +1222,47 @@ def category_stress_testing(): elif option2 == "0": cmd = os.system( "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_password_attacks(): while True: - print(''' -\033[1;36m=+[ Password Attacks\033[1;m - - 1) acccheck\t\t\t\t19) Maskprocessor - 2) Burp Suite\t\t\t20) multiforcer - 3) CeWL\t\t\t\t21) Ncrack - 4) chntpw\t\t\t\t22) oclgausscrack - 5) cisco-auditing-tool\t\t\t23) PACK - 6) CmosPwd\t\t\t\t24) patator - 7) creddump\t\t\t25) phrasendrescher - 8) crunch\t\t\t\t26) polenum - 9) DBPwAudit\t\t\t27) RainbowCrack -10) findmyhash\t\t\t28) rcracki-mt -11) gpp-decrypt\t\t\t29) RSMangler -12) hash-identifier\t\t\t30) SQLdict -13) HexorBase\t\t\t31) Statsprocessor -14) THC-Hydra\t\t\t32) THC-pptp-bruter -15) John the Ripper\t\t\t33) TrueCrack -16) Johnny\t\t\t\t34) WebScarab -17) keimpx\t\t\t\t35) wordlists -18) Maltego Teeth\t\t36) zaproxy - -0) Install all Password Attacks tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "acccheck"), ("19", "Maskprocessor"), + ("2", "Burp Suite"), ("20", "multiforcer"), + ("3", "CeWL"), ("21", "Ncrack"), + ("4", "chntpw"), ("22", "oclgausscrack"), + ("5", "cisco-auditing-tool"), ("23", "PACK"), + ("6", "CmosPwd"), ("24", "patator"), + ("7", "creddump"), ("25", "phrasendrescher"), + ("8", "crunch"), ("26", "polenum"), + ("9", "DBPwAudit"), ("27", "RainbowCrack"), + ("10", "findmyhash"), ("28", "rcracki-mt"), + ("11", "gpp-decrypt"), ("29", "RSMangler"), + ("12", "hash-identifier"), ("30", "SQLdict"), + ("13", "HexorBase"), ("31", "Statsprocessor"), + ("14", "THC-Hydra"), ("32", "THC-pptp-bruter"), + ("15", "John the Ripper"), ("33", "TrueCrack"), + ("16", "Johnny"), ("34", "WebScarab"), + ("17", "keimpx"), ("35", "wordlists"), + ("18", "Maltego Teeth"), ("36", "zaproxy") + ] + print_menu("Password Attacks", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -1247,33 +1358,40 @@ def category_password_attacks(): elif option2 == "0": cmd = os.system( "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_reverse_engineering(): while True: - print(''' -\033[1;36m=+[ Reverse Engineering\033[1;m - - 1) apktool - 2) dex2jar - 3) diStorm3 - 4) edb-debugger - 5) jad - 6) javasnoop - 7) JD-GUI - 8) OllyDbg - 9) smali -10) Valgrind -11) YARA - -0) Install all Reverse Engineering tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "apktool"), + ("2", "dex2jar"), + ("3", "diStorm3"), + ("4", "edb-debugger"), + ("5", "jad"), + ("6", "javasnoop"), + ("7", "JD-GUI"), + ("8", "OllyDbg"), + ("9", "smali"), + ("10", "Valgrind"), + ("11", "YARA") + ] + print_menu("Reverse Engineering", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -1310,28 +1428,35 @@ def category_reverse_engineering(): elif option2 == "0": cmd = os.system( "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_hardware_hacking(): while True: - print(''' -\033[1;36m=+[ Hardware Hacking\033[1;m - - 1) android-sdk - 2) apktool - 3) Arduino - 4) dex2jar - 5) Sakis3G - 6) smali - -0) Install all Hardware Hacking tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') + options = [ + ("1", "android-sdk"), + ("2", "apktool"), + ("3", "Arduino"), + ("4", "dex2jar"), + ("5", "Sakis3G"), + ("6", "smali") + ] + print_menu("Hardware Hacking", options, tools_mode=True) print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") if option2 == "1": @@ -1358,20 +1483,31 @@ def category_hardware_hacking(): elif option2 == "0": cmd = os.system( "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") + elif option2 == "exit" or option2 == "quit": + sys.exit() + elif option2 == "help": + print("Available commands:\n" + "back\t\tGo back to main menu\n" + "gohome\t\tGo to the main menu\n" + "exit\t\tExit the program\n" + "help\t\tShow this help menu\n") + wait_for_input() + elif option2 == "0": + cmd = os.system( + "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + wait_for_input() else: print( "\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() def category_extra(): while True: - print('\n' - '\033[1;36m=+[ Extra\033[1;m\n' - '\n' - '1) Wifresti\n' - '2) Squid3\n' - 'back) Go back\n' - 'gohome) Go to main menu\n' - '\t\t\t\t\t\t') + options = [ + ("1", "Wifresti"), + ("2", "Squid3"), + ] + print_menu("Extra", options, tools_mode=True) print( "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") option2 = input("\033[1;36mkat > \033[1;m") @@ -1392,9 +1528,24 @@ def category_extra(): def run_categories_menu(): # Dispatcher for the category submenus. while True: - print(CATEGORIES_MENU_TEXT) - print( - "\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") + options = [ + ("1", "Information Gathering"), + ("2", "Vulnerability Analysis"), + ("3", "Wireless Attacks"), + ("4", "Web Applications"), + ("5", "Sniffing & Spoofing"), + ("6", "Maintaining Access"), + ("7", "Reporting Tools"), + ("8", "Exploitation Tools"), + ("9", "Forensics Tools"), + ("10", "Stress Testing"), + ("11", "Password Attacks"), + ("12", "Reverse Engineering"), + ("13", "Hardware Hacking"), + ("14", "Extra"), + ] + print_menu("All Categories", options, tools_mode=True) + print("\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") option = input("\033[1;36mkat > \033[1;m") if option == "back": From cfcbb99e4e9313671dfe1b69cd72eebf47729081 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 14:58:40 +0100 Subject: [PATCH 17/33] Refactor help_menu and main_banner for improved readability and styling --- src/menus.py | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/menus.py b/src/menus.py index f2d41e9..b8629e1 100644 --- a/src/menus.py +++ b/src/menus.py @@ -1,38 +1,39 @@ +from style import C_BLUE, C_GREEN, C_RED, C_RESET, print_header + def print_separator(): print("\n" + "-" * 64 + "\n") + def help_menu(): - print("****************** +Commands+ ******************\n") - print("\033[1;32mback\033[1;m \t\033[1;33mGo back\033[1;m") - print("\033[1;32mgohome\033[1;m\t\033[1;33mGo to the main menu\033[1;m") - print("\033[1;32mshell\033[1;m \t\033[1;33mOpen system shell\033[1;m") - print("\033[1;32mhelp\033[1;m \t\033[1;33mShow this help menu\033[1;m") - print("\033[1;32mExit\033[1;m\t\033[1;33mExit the script\033[1;m") + print_header("Commands") + print(f"{C_GREEN}back{C_RESET} \tGo back") + print(f"{C_GREEN}gohome{C_RESET} \tGo to the main menu") + print(f"{C_GREEN}shell{C_RESET} \tOpen system shell") + print(f"{C_GREEN}help{C_RESET} \tShow this help menu") + print(f"{C_GREEN}exit{C_RESET} \tExit the script") def main_banner(): - banner = r""" + banner = fr""" +{C_BLUE} $$\ $$\ $$\ $$\ $$\ $$$$$$\ $$ | $$ | $$ | $$ |\__| $$ ___$$\ $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ \_/ $$ | - $$$$$ / \____$$\\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / - $$ $$< $$$$$$$ | \033[1;34mKali-Linux tools installer\033[1;m |$$ |$$ |$$ | $$ | \___$$\ - \033[1;34m$$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ |$$\ $$ | - $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ | - \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.0\033[1;m + $$$$$ / \____$$\_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ $$$$$ / + $$ $$< $$$$$$$ | {C_RED}Kali-Linux tools installer{C_BLUE} |$$ |$$ |$$ | $$ | \___$$\ + $$ |\$$\ $$ __$$ | $$ |\$$\ $$ | $$|$$ | $$ |$$ |$$ |$$ | $$ |\$$\ $$ | + $$ | \$$\\$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ |\$$$$$$ | + \__| \__|\_______| \____/ \______/ \______/ \__|\__|\__| \__| \______/ V3.1 +{C_RESET} """ print(banner) + print(f" {C_GREEN}+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com {C_RESET}") + print(f" {C_GREEN}+ -- -- +=[ Rewrites and maintained by: 0xGuigui{C_RESET}") + print(f" {C_GREEN}+ -- -- +=[ Latest update: 1/12/2026{C_RESET}") print("") - print(" \033[1;32m+ -- -- +=[ Original Script by: LionSec | Homepage: www.neodrix.com \033[1;m") - print(" \033[1;32m+ -- -- +=[ Rewrites and maintained by: 0xGuigui\033[1;m") - print(" \033[1;32m+ -- -- +=[ Latest update: 1/12/2026\033[1;m") - print("") - print("") - print("\033[1;91m[W] Before updating and upgrading your system, please remove all Kali-linux repositories to " - "avoid any kind of problem.\033[1;m") - print("\033[1;91m[W] In some cases, Kali-Linux repositories can destabilize your system or worse, completely " - "destroy it.\033[1;m") + print(f"{C_RED}[W] Before updating and upgrading your system, please remove all Kali-linux repositories to avoid any kind of problem.{C_RESET}") + print(f"{C_RED}[W] In some cases, Kali-Linux repositories can destabilize your system or worse, completely destroy it.{C_RESET}") print("") From 7a25765a7675dc31ba0096960ac7ea7897f55a55 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Mon, 12 Jan 2026 14:58:45 +0100 Subject: [PATCH 18/33] Add style.py for menu styling and terminal output enhancements --- src/style.py | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 src/style.py diff --git a/src/style.py b/src/style.py new file mode 100644 index 0000000..b420a32 --- /dev/null +++ b/src/style.py @@ -0,0 +1,268 @@ + +import os +import shutil +import math + +# Colors +C_RESET = "\033[0m" +C_BOLD = "\033[1m" +C_CYAN = "\033[1;36m" +C_GREEN = "\033[1;32m" +C_YELLOW = "\033[1;33m" +C_RED = "\033[1;31m" +C_BLUE = "\033[1;34m" +C_WHITE = "\033[1;37m" + +# Box drawing characters +BOX_TL = "╔" +BOX_TR = "╗" +BOX_BL = "╚" +BOX_BR = "╝" +BOX_H = "═" +BOX_V = "║" +BOX_L = "╠" +BOX_R = "╣" + +def clear(): + os.system('cls' if os.name == 'nt' else 'clear') + +def print_header(text): + """Prints a styled header.""" + width = min(shutil.get_terminal_size().columns, 100) + print(f"\n{C_CYAN}{'='*width}") + print(f"{text.center(width)}") + print(f"{'='*width}{C_RESET}\n") + +def wait_for_input(): + """Waits for user input to continue.""" + print(f"\n{C_YELLOW}Press Enter to continue...{C_RESET}") + input() + +def print_status(text, status_type="info"): + """Prints a status message.""" + if status_type == "success": + print(f"{C_GREEN}[+] {text}{C_RESET}") + elif status_type == "warn": + print(f"{C_YELLOW}[!] {text}{C_RESET}") + elif status_type == "error": + print(f"{C_RED}[-] {text}{C_RESET}") + else: + print(f"{C_BLUE}[*] {text}{C_RESET}") + +def print_menu(title, items, tools_mode=False, clear_screen=True): + """ + Prints a menu in a nice box grid. + items: list of (key, label) tuples. + tools_mode: If True, auto-appends '0) Install All', 'back', 'gohome', 'shell'. + """ + if clear_screen: + clear() + + # Determine dimensions + term_width = shutil.get_terminal_size().columns + if term_width < 40: + term_width = 80 + + # Cap width to keep it readable, but at least enough to hold basic content + box_width = min(term_width - 4, 100) + + # Calculate title padding + title_space = box_width - 2 + styled_title = f"{C_BOLD}{C_BLUE} {title} {C_RESET}" + + # We need visible length for center calculation, excluding color codes + # Approximate visible length + + print(f"{C_CYAN}{BOX_TL}{BOX_H * title_space}{BOX_TR}{C_RESET}") + # Title row + # To center the title properly with color codes, we just print a header or reuse the box logic + # For simplicity, let's just use the box border for the title area? + # Actually, a simple centered title inside the box looks good. + + # Let's rebuild the items list to include extra tools if needed + menu_items = list(items) + + extra_options = [] + if tools_mode: + extra_options.append(("0", "Install All Tools")) + + # Standard navigation + extra_options.append(("back", "Go back")) + extra_options.append(("gohome", "Go to main menu")) + extra_options.append(("shell", "Open system shell")) + + # Calculate Grid + # Find max length of "key) label" + max_len = 0 + all_display_items = [] # list of (key, label, display_str_len) + + for key, label in menu_items: + s = f"{key}) {label}" + max_len = max(max_len, len(s)) + all_display_items.append((key, label)) + + # Column width needs some padding + col_width = max_len + 4 + # content width inside box is box_width - 4 (borders + spacing) + available_width = box_width - 4 + + num_cols = max(1, available_width // col_width) + + # Print Title centered + # We manually pad because .center() counts ANSI codes + visible_title_len = len(title) + 2 # +2 for spaces + pad_left = (box_width - 2 - visible_title_len) // 2 + pad_right = (box_width - 2) - visible_title_len - pad_left + + print(f"{C_CYAN}{BOX_V}{C_RESET}" + " " * pad_left + f"{C_BOLD}{C_WHITE} {title} {C_RESET}" + " " * pad_right + f"{C_CYAN}{BOX_V}{C_RESET}") + print(f"{C_CYAN}{BOX_L}{BOX_H * (box_width - 2)}{BOX_R}{C_RESET}") + + # Print Empty Line + print(f"{C_CYAN}{BOX_V}{C_RESET}" + " " * (box_width - 2) + f"{C_CYAN}{BOX_V}{C_RESET}") + + # Print Items + num_items = len(all_display_items) + num_rows = math.ceil(num_items / num_cols) + + for r in range(num_rows): + row_str = f"{C_CYAN}{BOX_V}{C_RESET} " + current_len = 1 # padding space + + for c in range(num_cols): + idx = r * num_cols + c + if idx < num_items: + key, label = all_display_items[idx] + + # Construct colored string + item_str = f"{C_GREEN}{key}){C_RESET} {label}" + visible_len = len(key) + 2 + len(label) + + row_str += item_str + + # Padding to fill column + padding = col_width - visible_len + # If last column, we might have more space to fill to reach the right border + if c == num_cols - 1: + padding = (box_width - 3) - current_len - visible_len + + row_str += " " * padding + current_len += visible_len + padding + else: + # Empty cell + # padding = (box_width - 3) - current_len + # wait, if it's empty we just fill to the end if it is the last one? + pass + + # Final adjustment to ensure right border alignment + # It's safer to calculate exactly how much space is left + # We used visual lengths. + # Let's simplify: + # We print columns of fixed width. + pass + + # Re-do print loop with simpler logic + # rows of strings + rows_to_print = [] + for r in range(num_rows): + row_items = [] + for c in range(num_cols): + idx = r * num_cols + c + if idx < num_items: + row_items.append(all_display_items[idx]) + rows_to_print.append(row_items) + + for row_items in rows_to_print: + line_content = " " # Start padding + visible_len = 1 + + for i, (key, label) in enumerate(row_items): + item_len = len(key) + 2 + len(label) + + # Render item + line_content += f"{C_GREEN}{key}){C_RESET} {label}" + + # Calculate padding + # If it's not the last item in the visual row (based on num_cols), use col_width + # But if it is the last item in the *actual* row, we just padding to the end? + # No, grid alignment looks better if we respect col_width always, except maybe for the last column? + # Let's use fixed col_width for all except the last column in the grid + + if i < num_cols - 1: + pad = col_width - item_len + line_content += " " * pad + visible_len += item_len + pad + else: + # Last column, we don't pad with spaces yet, we handle right align at the end + visible_len += item_len + + # Fill rest of line to reach box_width - 2 + remaining = (box_width - 2) - visible_len + line_content += " " * remaining + + print(f"{C_CYAN}{BOX_V}{C_RESET}{line_content}{C_CYAN}{BOX_V}{C_RESET}") + + # Output Extra Options Separator + print(f"{C_CYAN}{BOX_L}{BOX_H * (box_width - 2)}{BOX_R}{C_RESET}") + + # Extra Options Logic (similar grid or list?) + # A list 2-per-row usually fits well for these standard options + + # Let's put Install All separate if it exists + if tools_mode: + k, l = extra_options[0] + line = f" {C_YELLOW}{k}){C_RESET} {l}" + vlen = 1 + len(k) + 2 + len(l) + rem = (box_width - 2) - vlen + print(f"{C_CYAN}{BOX_V}{C_RESET}{line}{' ' * rem}{C_CYAN}{BOX_V}{C_RESET}") + extra_options.pop(0) + + # Remaining options (back, gohome, shell) + # 3 items. 3 cols? + + # Reuse row printing logic specifically for these 3 + # They fit in 1 row usually + + line_content = " " + vlen = 1 + + # We distribute them evenly? Or just default grid? + # Let's try to fit them all in one row if possible + # Calculate total length + total_len_extras = sum(len(k)+2+len(l) for k,l in extra_options) + (len(extra_options)-1)*4 # +spacing + + if total_len_extras < (box_width - 4): + # Fit in one row centered or spread? + # Spread looks nice + # actually let's just use the same row logic but with dynamic spacing + pass + + # Simplest: Just print them + # For now let's just use the same grid logic but maybe 3 cols + ex_cols = 3 + ex_col_width = (box_width - 4) // 3 + + row_str = " " + curr_vlen = 1 + for i, (key, label) in enumerate(extra_options): + txt = f"{C_YELLOW}{key}){C_RESET} {label}" + txt_len = len(key) + 2 + len(label) + + row_str += txt + + if i < len(extra_options) - 1: + pad = ex_col_width - txt_len + if pad < 2: pad = 2 # minimum spacing + row_str += " " * pad + curr_vlen += txt_len + pad + else: + curr_vlen += txt_len + + rem = (box_width - 2) - curr_vlen + # if rem < 0, our calc was wrong and it will look broken, but usually fine + if rem < 0: rem = 0 + + print(f"{C_CYAN}{BOX_V}{C_RESET}{row_str}{' ' * rem}{C_CYAN}{BOX_V}{C_RESET}") + + print(f"{C_CYAN}{BOX_BL}{BOX_H * (box_width - 2)}{BOX_BR}{C_RESET}") + print() + From c54bee909040e8a6c96429614be260d94d10c427 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:09:00 +0100 Subject: [PATCH 19/33] Add tools.json for command installation and categorization --- src/tools.json | 1256 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1256 insertions(+) create mode 100644 src/tools.json diff --git a/src/tools.json b/src/tools.json new file mode 100644 index 0000000..d37fb44 --- /dev/null +++ b/src/tools.json @@ -0,0 +1,1256 @@ +{ + "Information Gathering": [ + { + "name": "acccheck", + "command": "apt-get install acccheck" + }, + { + "name": "ace-voip", + "command": "apt-get install ace-voip" + }, + { + "name": "Amap", + "command": "apt-get install amap" + }, + { + "name": "Automater", + "command": "apt-get install automater" + }, + { + "name": "bing-ip2hosts", + "command": "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/" + }, + { + "name": "braa", + "command": "apt-get install braa" + }, + { + "name": "CaseFile", + "command": "apt-get install casefile" + }, + { + "name": "CDPSnarf", + "command": "apt-get install cdpsnarf" + }, + { + "name": "cisco-torch", + "command": "apt-get install cisco-torch" + }, + { + "name": "Cookie Cadger", + "command": "apt-get install cookie-cadger" + }, + { + "name": "copy-router-config", + "command": "apt-get install copy-router-config" + }, + { + "name": "DMitry", + "command": "apt-get install dmitry" + }, + { + "name": "dnmap", + "command": "apt-get install dnmap" + }, + { + "name": "dnsenum", + "command": "apt-get install dnsenum" + }, + { + "name": "dnsmap", + "command": "apt-get install dnsmap" + }, + { + "name": "DNSRecon", + "command": "apt-get install dnsrecon" + }, + { + "name": "dnstracer", + "command": "apt-get install dnstracer" + }, + { + "name": "dnswalk", + "command": "apt-get install dnswalk" + }, + { + "name": "DotDotPwn", + "command": "apt-get install dotdotpwn" + }, + { + "name": "enum4linux", + "command": "apt-get install enum4linux" + }, + { + "name": "enumIAX", + "command": "apt-get install enumiax" + }, + { + "name": "exploitdb", + "command": "apt-get install exploitdb" + }, + { + "name": "Fierce", + "command": "apt-get install fierce" + }, + { + "name": "Firewalk", + "command": "apt-get install firewalk" + }, + { + "name": "fragroute", + "command": "apt-get install fragroute" + }, + { + "name": "fragrouter", + "command": "apt-get install fragrouter" + }, + { + "name": "Ghost Phisher", + "command": "apt-get install ghost-phisher" + }, + { + "name": "GoLismero", + "command": "apt-get install golismero" + }, + { + "name": "goofile", + "command": "apt-get install goofile" + }, + { + "name": "lbd", + "command": "apt-get install lbd" + }, + { + "name": "Maltego Teeth", + "command": "apt-get install maltego-teeth" + }, + { + "name": "masscan", + "command": "apt-get install masscan" + }, + { + "name": "Metagoofil", + "command": "apt-get install metagoofil" + }, + { + "name": "Miranda", + "command": "apt-get install miranda" + }, + { + "name": "Nmap", + "command": "apt-get install nmap" + }, + { + "name": "p0f", + "command": "apt-get install p0f" + }, + { + "name": "Parsero", + "command": "apt-get install parsero" + }, + { + "name": "Recon-ng", + "command": "apt-get install recon-ng" + }, + { + "name": "SET", + "command": "apt-get install set" + }, + { + "name": "smtp-user-enum", + "command": "apt-get install smtp-user-enum" + }, + { + "name": "snmpcheck", + "command": "apt-get install snmpcheck" + }, + { + "name": "sslcaudit", + "command": "apt-get install sslcaudit" + }, + { + "name": "SSLsplit", + "command": "apt-get install sslsplit" + }, + { + "name": "sslstrip", + "command": "apt-get install sslstrip" + }, + { + "name": "SSLyze", + "command": "apt-get install sslyze" + }, + { + "name": "THC-IPV6", + "command": "apt-get install thc-ipv6" + }, + { + "name": "theHarvester", + "command": "apt-get install theharvester" + }, + { + "name": "TLSSLed", + "command": "apt-get install tlssled" + }, + { + "name": "twofi", + "command": "apt-get install twofi" + }, + { + "name": "URLCrazy", + "command": "apt-get install urlcrazy" + }, + { + "name": "Wireshark", + "command": "apt-get install wireshark" + }, + { + "name": "WOL-E", + "command": "apt-get install wol-e" + }, + { + "name": "Xplico", + "command": "apt-get install xplico" + }, + { + "name": "iSMTP", + "command": "apt-get install ismtp" + }, + { + "name": "InTrace", + "command": "apt-get install intrace" + }, + { + "name": "hping3", + "command": "apt-get install hping3" + } + ], + "Vulnerability Analysis": [ + { + "name": "BBQSQL", + "command": "apt-get install bbqsql" + }, + { + "name": "BED", + "command": "apt-get install bed" + }, + { + "name": "cisco-auditing-tool", + "command": "apt-get install cisco-auditing-tool" + }, + { + "name": "cisco-global-exploiter", + "command": "apt-get install cisco-global-exploiter" + }, + { + "name": "cisco-ocs", + "command": "apt-get install cisco-ocs" + }, + { + "name": "cisco-torch", + "command": "apt-get install cisco-torch" + }, + { + "name": "copy-router-config", + "command": "apt-get install copy-router-config" + }, + { + "name": "commix", + "command": "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install" + }, + { + "name": "DBPwAudit", + "command": "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'" + }, + { + "name": "DoonaDot", + "command": "apt-get install doona" + }, + { + "name": "DotPwn", + "command": "apt-get install dotdotpwn" + }, + { + "name": "Greenbone Security Assistant", + "command": "apt-get install greenbone-security-assistant" + }, + { + "name": "GSD", + "command": "apt-get install git && git clone git://git.kali.org/packages/gsd.git" + }, + { + "name": "HexorBase", + "command": "apt-get install hexorbase" + }, + { + "name": "jSQL", + "command": "apt-get install jsql" + }, + { + "name": "Lynis", + "command": "apt-get install lynis" + }, + { + "name": "Nmap", + "command": "apt-get install nmap" + }, + { + "name": "ohrwurm", + "command": "apt-get install ohrwurm" + }, + { + "name": "openvas-administrator", + "command": "apt-get install openvas-administrator" + }, + { + "name": "openvas-cli", + "command": "apt-get install openvas-cli" + }, + { + "name": "openvas-manager", + "command": "apt-get install openvas-manager" + }, + { + "name": "openvas-scanner", + "command": "apt-get install openvas-scanner" + }, + { + "name": "Oscanner", + "command": "apt-get install oscanner" + }, + { + "name": "Powerfuzzer", + "command": "apt-get install powerfuzzer" + }, + { + "name": "sfuzz", + "command": "apt-get install sfuzz" + }, + { + "name": "SidGuesser", + "command": "apt-get install sidguesser" + }, + { + "name": "SIPArmyKnife", + "command": "apt-get install siparmyknife" + }, + { + "name": "sqlmap", + "command": "apt-get install sqlmap" + }, + { + "name": "Sqlninja", + "command": "apt-get install sqlninja" + }, + { + "name": "sqlsus", + "command": "apt-get install sqlsus" + }, + { + "name": "THC-IPV6", + "command": "apt-get install thc-ipv6" + }, + { + "name": "tnscmd10g", + "command": "apt-get install tnscmd10g" + }, + { + "name": "unix-privesc-check", + "command": "apt-get install unix-privesc-check" + }, + { + "name": "Yersinia", + "command": "apt-get install yersinia" + } + ], + "Wireless Attacks": [ + { + "name": "Aircrack-ng", + "command": "apt-get install aircrack-ng" + }, + { + "name": "Asleap", + "command": "apt-get install asleap" + }, + { + "name": "Bluelog", + "command": "apt-get install bluelog" + }, + { + "name": "BlueMaho", + "command": "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git" + }, + { + "name": "Bluepot", + "command": "apt-get install git && git clone git://git.kali.org/packages/bluepot.git" + }, + { + "name": "BlueRanger", + "command": "apt-get install blueranger" + }, + { + "name": "Bluesnarfer", + "command": "apt-get install bluesnarfer" + }, + { + "name": "Bully", + "command": "apt-get install bully" + }, + { + "name": "coWPAtty", + "command": "apt-get install cowpatty" + }, + { + "name": "crackle", + "command": "apt-get install crackle" + }, + { + "name": "eapmd5pass", + "command": "apt-get install eapmd5pass" + }, + { + "name": "Fern Wifi Cracker", + "command": "apt-get install fern-wifi-cracker" + }, + { + "name": "Ghost Phisher", + "command": "apt-get install ghost-phisher" + }, + { + "name": "GISKismet", + "command": "apt-get install giskismet" + }, + { + "name": "gr-scan", + "command": "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git" + }, + { + "name": "kalibrate-rtl", + "command": "apt-get install kalibrate-rtl" + }, + { + "name": "KillerBee", + "command": "apt-get install killerbee" + }, + { + "name": "Kismet", + "command": "apt-get install kismet" + }, + { + "name": "mdk3", + "command": "apt-get install mdk3" + }, + { + "name": "mfcuk", + "command": "apt-get install mfcuk" + }, + { + "name": "mfoc", + "command": "apt-get install mfoc" + }, + { + "name": "mfterm", + "command": "apt-get install mfterm" + }, + { + "name": "Multimon-NG", + "command": "apt-get install multimon-ng" + }, + { + "name": "PixieWPS", + "command": "apt-get install pixiewps" + }, + { + "name": "Reaver", + "command": "apt-get install reaver" + }, + { + "name": "redfang", + "command": "apt-get install redfang" + }, + { + "name": "RTLSDR Scanner", + "command": "apt-get install rtlsdr-scanner" + }, + { + "name": "Spooftooph", + "command": "apt-get install spooftooph" + }, + { + "name": "Wifi Honey", + "command": "apt-get install wifi-honey" + }, + { + "name": "Wifitap", + "command": "apt-get install wifitap" + }, + { + "name": "Wifite", + "command": "apt-get install wifite" + } + ], + "Web Applications": [ + { + "name": "apache-users", + "command": "apt-get install apache-users" + }, + { + "name": "Arachni", + "command": "apt-get install arachni" + }, + { + "name": "BBQSQL", + "command": "apt-get install bbqsql" + }, + { + "name": "BlindElephant", + "command": "apt-get install blindelephant" + }, + { + "name": "Burp Suite", + "command": "apt-get install burpsuite" + }, + { + "name": "commix", + "command": "apt-get install cutycapt" + }, + { + "name": "CutyCapt", + "command": "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install" + }, + { + "name": "DAVTest", + "command": "apt-get install davtest" + }, + { + "name": "deblaze", + "command": "apt-get install deblaze" + }, + { + "name": "DIRB", + "command": "apt-get install dirb" + }, + { + "name": "DirBuster", + "command": "apt-get install dirbuster" + }, + { + "name": "fimap", + "command": "apt-get install fimap" + }, + { + "name": "FunkLoad", + "command": "apt-get install funkload" + }, + { + "name": "Grabber", + "command": "apt-get install grabber" + }, + { + "name": "jboss-autopwn", + "command": "apt-get install jboss-autopwn" + }, + { + "name": "joomscan", + "command": "apt-get install joomscan" + }, + { + "name": "jSQL", + "command": "apt-get install jsql" + }, + { + "name": "Maltego Teeth", + "command": "apt-get install maltego-teeth" + }, + { + "name": "PadBuster", + "command": "apt-get install padbuster" + }, + { + "name": "Paros", + "command": "apt-get install paros" + }, + { + "name": "Parsero", + "command": "apt-get install parsero" + }, + { + "name": "plecost", + "command": "apt-get install plecost" + }, + { + "name": "Powerfuzzer", + "command": "apt-get install powerfuzzer" + }, + { + "name": "ProxyStrike", + "command": "apt-get install proxystrike" + }, + { + "name": "Recon-ng", + "command": "apt-get install recon-ng" + }, + { + "name": "Skipfish", + "command": "apt-get install skipfish" + }, + { + "name": "sqlmap", + "command": "apt-get install sqlmap" + }, + { + "name": "Sqlninja", + "command": "apt-get install sqlninja" + }, + { + "name": "sqlsus", + "command": "apt-get install sqlsus" + }, + { + "name": "ua-tester", + "command": "apt-get install ua-tester" + }, + { + "name": "Uniscan", + "command": "apt-get install uniscan" + }, + { + "name": "Vega", + "command": "apt-get install vega" + }, + { + "name": "w3af", + "command": "apt-get install w3af" + }, + { + "name": "WebScarab", + "command": "apt-get install webscarab" + }, + { + "name": "WebSlayer", + "command": "apt-get install git && git clone git://git.kali.org/packages/webslayer.git" + }, + { + "name": "WebSploit", + "command": "apt-get install websploit" + }, + { + "name": "Wfuzz", + "command": "apt-get install wfuzz" + }, + { + "name": "WPScan", + "command": "apt-get install wpscan" + }, + { + "name": "XSSer", + "command": "apt-get install xsser" + }, + { + "name": "zaproxy", + "command": "apt-get install zaproxy" + } + ], + "Sniffing & Spoofing": [ + { + "name": "Burp Suite", + "command": "apt-get install burpsuite" + }, + { + "name": "dnschef", + "command": "apt-get install dnschef" + }, + { + "name": "fiked", + "command": "apt-get install fiked" + }, + { + "name": "hamster-sidejack", + "command": "apt-get install hamster-sidejack" + }, + { + "name": "hexinject", + "command": "apt-get install hexinject" + }, + { + "name": "iaxflood", + "command": "apt-get install iaxflood" + }, + { + "name": "inviteflood", + "command": "apt-get install inviteflood" + }, + { + "name": "ismtp", + "command": "apt-get install ismtp" + }, + { + "name": "isr-evilgrade", + "command": "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git" + }, + { + "name": "mitmproxy", + "command": "apt-get install mitmproxy" + }, + { + "name": "ohrwurm", + "command": "apt-get install ohrwurm" + }, + { + "name": "protos-sip", + "command": "apt-get install protos-sip" + }, + { + "name": "rebind", + "command": "apt-get install rebind" + }, + { + "name": "Responder", + "command": "apt-get install responder" + }, + { + "name": "rtpbreak", + "command": "apt-get install rtpbreak" + }, + { + "name": "rtpinsertsound", + "command": "apt-get install rtpinsertsound" + }, + { + "name": "rtpmixsound", + "command": "apt-get install rtpmixsound" + }, + { + "name": "sctpscan", + "command": "apt-get install sctpscan" + }, + { + "name": "siparmyknife", + "command": "apt-get install siparmyknife" + }, + { + "name": "sipp", + "command": "apt-get install sipp" + }, + { + "name": "sipvicious", + "command": "apt-get install sipvicious" + }, + { + "name": "sniffjoke", + "command": "apt-get install sniffjoke" + }, + { + "name": "sslsplit", + "command": "apt-get install sslsplit" + }, + { + "name": "sslstrip", + "command": "apt-get install sslstrip" + }, + { + "name": "THC-IPV6", + "command": "apt-get install thc-ipv6" + }, + { + "name": "voiphopper", + "command": "apt-get install voiphopper" + }, + { + "name": "WebScarab", + "command": "apt-get install webscarab" + }, + { + "name": "Wifi Honey", + "command": "apt-get install wifi-honey" + }, + { + "name": "Wireshark", + "command": "apt-get install wireshark" + }, + { + "name": "xspy", + "command": "apt-get install xspy" + }, + { + "name": "Yersinia", + "command": "apt-get install yersinia" + }, + { + "name": "zaproxy", + "command": "apt-get install zaproxy" + } + ], + "Maintaining Access": [ + { + "name": "CryptCat", + "command": "apt-get install cryptcat" + }, + { + "name": "Cymothoa", + "command": "apt-get install cymothoa" + }, + { + "name": "dbd", + "command": "apt-get install dbd" + }, + { + "name": "dns2tcp", + "command": "apt-get install dns2tcp" + }, + { + "name": "http-tunnel", + "command": "apt-get install http-tunnel" + }, + { + "name": "HTTPTunnel", + "command": "apt-get install httptunnel" + }, + { + "name": "Intersect", + "command": "apt-get install intersect" + }, + { + "name": "Nishang", + "command": "apt-get install nishang" + }, + { + "name": "polenum", + "command": "apt-get install polenum" + }, + { + "name": "PowerSploit", + "command": "apt-get install powersploit" + }, + { + "name": "pwnat", + "command": "apt-get install pwnat" + }, + { + "name": "RidEnum", + "command": "apt-get install ridenum" + }, + { + "name": "sbd", + "command": "apt-get install sbd" + }, + { + "name": "U3-Pwn", + "command": "apt-get install u3-pwn" + }, + { + "name": "Webshells", + "command": "apt-get install webshells" + }, + { + "name": "Weevely", + "command": "apt-get install weevely" + } + ], + "Reporting Tools": [ + { + "name": "CaseFile", + "command": "apt-get install casefile" + }, + { + "name": "CutyCapt", + "command": "apt-get install cutycapt" + }, + { + "name": "dos2unix", + "command": "apt-get install dos2unix" + }, + { + "name": "Dradis", + "command": "apt-get install dradis" + }, + { + "name": "KeepNote", + "command": "apt-get install keepnote" + }, + { + "name": "MagicTree", + "command": "apt-get install magictree" + }, + { + "name": "Metagoofil", + "command": "apt-get install metagoofil" + }, + { + "name": "Nipper-ng", + "command": "apt-get install nipper-ng" + }, + { + "name": "pipal", + "command": "apt-get install pipal" + } + ], + "Forensics Tools": [ + { + "name": "Binwalk", + "command": "apt-get install binwalk" + }, + { + "name": "bulk-extractor", + "command": "apt-get install bulk-extractor" + }, + { + "name": "Capstone", + "command": "apt-get install git && git clone git://git.kali.org/packages/capstone.git" + }, + { + "name": "chntpw", + "command": "apt-get install chntpw" + }, + { + "name": "Cuckoo", + "command": "apt-get install cuckoo" + }, + { + "name": "dc3dd", + "command": "apt-get install dc3dd" + }, + { + "name": "ddrescue", + "command": "apt-get install ddrescue" + }, + { + "name": "diStorm3", + "command": "apt-get install git && git clone git://git.kali.org/packages/distorm3.git" + }, + { + "name": "Dumpzilla", + "command": "apt-get install dumpzilla" + }, + { + "name": "extundelete", + "command": "apt-get install extundelete" + }, + { + "name": "Foremost", + "command": "apt-get install foremost" + }, + { + "name": "Galleta", + "command": "apt-get install galleta" + }, + { + "name": "Guymager", + "command": "apt-get install guymager" + }, + { + "name": "iPhone Backup Analyzer", + "command": "apt-get install iphone-backup-analyzer" + }, + { + "name": "p0f", + "command": "apt-get install p0f" + }, + { + "name": "pdf-parser", + "command": "apt-get install pdf-parser" + }, + { + "name": "pdfid", + "command": "apt-get install pdfid" + }, + { + "name": "pdgmail", + "command": "apt-get install pdgmail" + }, + { + "name": "peepdf", + "command": "apt-get install peepdf" + }, + { + "name": "Volatility", + "command": "apt-get install volatility" + }, + { + "name": "Xplico", + "command": "apt-get install xplico" + } + ], + "Stress Testing": [ + { + "name": "DHCPig", + "command": "apt-get install dhcpig" + }, + { + "name": "FunkLoad", + "command": "apt-get install funkload" + }, + { + "name": "iaxflood", + "command": "apt-get install iaxflood" + }, + { + "name": "Inundator", + "command": "apt-get install git && git clone git://git.kali.org/packages/inundator.git" + }, + { + "name": "inviteflood", + "command": "apt-get install inviteflood" + }, + { + "name": "ipv6-toolkit", + "command": "apt-get install ipv6-toolkit" + }, + { + "name": "mdk3", + "command": "apt-get install mdk3" + }, + { + "name": "Reaver", + "command": "apt-get install reaver" + }, + { + "name": "rtpflood", + "command": "apt-get install rtpflood" + }, + { + "name": "SlowHTTPTest", + "command": "apt-get install slowhttptest" + }, + { + "name": "t50", + "command": "apt-get install t50" + }, + { + "name": "Termineter", + "command": "apt-get install termineter" + }, + { + "name": "THC-IPV6", + "command": "apt-get install thc-ipv6" + }, + { + "name": "THC-SSL-DOS", + "command": "apt-get install thc-ssl-dos " + } + ], + "Password Attacks": [ + { + "name": "acccheck", + "command": "apt-get install acccheck" + }, + { + "name": "Burp Suite", + "command": "apt-get install burpsuite" + }, + { + "name": "CeWL", + "command": "apt-get install cewl" + }, + { + "name": "chntpw", + "command": "apt-get install chntpw" + }, + { + "name": "cisco-auditing-tool", + "command": "apt-get install cisco-auditing-tool" + }, + { + "name": "CmosPwd", + "command": "apt-get install cmospwd" + }, + { + "name": "creddump", + "command": "apt-get install creddump" + }, + { + "name": "crunch", + "command": "apt-get install crunch" + }, + { + "name": "DBPwAudit", + "command": "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git" + }, + { + "name": "findmyhash", + "command": "apt-get install findmyhash" + }, + { + "name": "gpp-decrypt", + "command": "apt-get install gpp-decrypt" + }, + { + "name": "hash-identifier", + "command": "apt-get install hash-identifier" + }, + { + "name": "HexorBase", + "command": "apt-get install hexorbase" + }, + { + "name": "THC-Hydra", + "command": "echo 'please visit : https://www.thc.org/thc-hydra/' " + }, + { + "name": "John the Ripper", + "command": "apt-get install john" + }, + { + "name": "Johnny", + "command": "apt-get install johnny" + }, + { + "name": "keimpx", + "command": "apt-get install keimpx" + }, + { + "name": "Maltego Teeth", + "command": "apt-get install maltego-teeth" + }, + { + "name": "Maskprocessor", + "command": "apt-get install maskprocessor" + }, + { + "name": "multiforcer", + "command": "apt-get install multiforcer" + }, + { + "name": "Ncrack", + "command": "apt-get install ncrack" + }, + { + "name": "oclgausscrack", + "command": "apt-get install oclgausscrack" + }, + { + "name": "PACK", + "command": "apt-get install pack" + }, + { + "name": "patator", + "command": "apt-get install patator" + }, + { + "name": "phrasendrescher", + "command": "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' " + }, + { + "name": "polenum", + "command": "apt-get install polenum" + }, + { + "name": "RainbowCrack", + "command": "apt-get install rainbowcrack" + }, + { + "name": "rcracki-mt", + "command": "apt-get install rcracki-mt" + }, + { + "name": "RSMangler", + "command": "apt-get install rsmangler" + }, + { + "name": "Statsprocessor", + "command": "apt-get install statsprocessor" + }, + { + "name": "THC-pptp-bruter", + "command": "apt-get install thc-pptp-bruter" + }, + { + "name": "TrueCrack", + "command": "apt-get install truecrack" + }, + { + "name": "WebScarab", + "command": "apt-get install webscarab" + }, + { + "name": "wordlists", + "command": "apt-get install wordlists" + }, + { + "name": "zaproxy", + "command": "apt-get install zaproxy" + } + ], + "Reverse Engineering": [ + { + "name": "apktool", + "command": "apt-get install apktool" + }, + { + "name": "dex2jar", + "command": "apt-get install dex2jar" + }, + { + "name": "diStorm3", + "command": "apt-get install python-diStorm3" + }, + { + "name": "edb-debugger", + "command": "apt-get install edb-debugger" + }, + { + "name": "jad", + "command": "apt-get install jad" + }, + { + "name": "javasnoop", + "command": "apt-get install javasnoop" + }, + { + "name": "JD-GUI", + "command": "apt-get install JD" + }, + { + "name": "OllyDbg", + "command": "apt-get install OllyDbg" + }, + { + "name": "smali", + "command": "apt-get install smali" + }, + { + "name": "Valgrind", + "command": "apt-get install Valgrind" + }, + { + "name": "YARA", + "command": "apt-get install YARA" + } + ], + "Hardware Hacking": [ + { + "name": "android-sdk", + "command": "apt-get install android-sdk" + }, + { + "name": "apktool", + "command": "apt-get install apktool" + }, + { + "name": "Arduino", + "command": "apt-get install arduino" + }, + { + "name": "dex2jar", + "command": "apt-get install dex2jar" + }, + { + "name": "Sakis3G", + "command": "apt-get install sakis3g" + }, + { + "name": "smali", + "command": "apt-get install smali" + } + ], + "Extra": [ + { + "name": "Wifresti", + "command": "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti" + }, + { + "name": "Squid3", + "command": "apt-get install squid3" + } + ] +} From 88a418a6620f50966de602e92024cb571b4d2d61 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:16:18 +0100 Subject: [PATCH 20/33] Refactor style.py for type hinting and code cleanup --- src/style.py | 71 ++++++++++++---------------------------------------- 1 file changed, 16 insertions(+), 55 deletions(-) diff --git a/src/style.py b/src/style.py index b420a32..cb20ac0 100644 --- a/src/style.py +++ b/src/style.py @@ -2,6 +2,7 @@ import os import shutil import math +from typing import List, Tuple # Colors C_RESET = "\033[0m" @@ -23,22 +24,22 @@ BOX_L = "╠" BOX_R = "╣" -def clear(): +def clear() -> None: os.system('cls' if os.name == 'nt' else 'clear') -def print_header(text): +def print_header(text: str) -> None: """Prints a styled header.""" width = min(shutil.get_terminal_size().columns, 100) print(f"\n{C_CYAN}{'='*width}") print(f"{text.center(width)}") print(f"{'='*width}{C_RESET}\n") -def wait_for_input(): +def wait_for_input() -> None: """Waits for user input to continue.""" print(f"\n{C_YELLOW}Press Enter to continue...{C_RESET}") input() -def print_status(text, status_type="info"): +def print_status(text: str, status_type: str = "info") -> None: """Prints a status message.""" if status_type == "success": print(f"{C_GREEN}[+] {text}{C_RESET}") @@ -49,11 +50,12 @@ def print_status(text, status_type="info"): else: print(f"{C_BLUE}[*] {text}{C_RESET}") -def print_menu(title, items, tools_mode=False, clear_screen=True): +def print_menu(title: str, items: List[Tuple[str, str]], tools_mode: bool = False, show_navigation: bool = True, clear_screen: bool = True) -> None: """ Prints a menu in a nice box grid. items: list of (key, label) tuples. - tools_mode: If True, auto-appends '0) Install All', 'back', 'gohome', 'shell'. + tools_mode: If True, auto-appends '0) Install All Tools'. + show_navigation: If True, auto-appends 'back', 'gohome', 'shell'. """ if clear_screen: clear() @@ -68,17 +70,9 @@ def print_menu(title, items, tools_mode=False, clear_screen=True): # Calculate title padding title_space = box_width - 2 - styled_title = f"{C_BOLD}{C_BLUE} {title} {C_RESET}" - - # We need visible length for center calculation, excluding color codes - # Approximate visible length print(f"{C_CYAN}{BOX_TL}{BOX_H * title_space}{BOX_TR}{C_RESET}") - # Title row - # To center the title properly with color codes, we just print a header or reuse the box logic - # For simplicity, let's just use the box border for the title area? - # Actually, a simple centered title inside the box looks good. - + # Let's rebuild the items list to include extra tools if needed menu_items = list(items) @@ -86,10 +80,10 @@ def print_menu(title, items, tools_mode=False, clear_screen=True): if tools_mode: extra_options.append(("0", "Install All Tools")) - # Standard navigation - extra_options.append(("back", "Go back")) - extra_options.append(("gohome", "Go to main menu")) - extra_options.append(("shell", "Open system shell")) + if show_navigation: + extra_options.append(("back", "Go back")) + extra_options.append(("gohome", "Go to main menu")) + extra_options.append(("shell", "Open system shell")) # Calculate Grid # Find max length of "key) label" @@ -124,41 +118,7 @@ def print_menu(title, items, tools_mode=False, clear_screen=True): num_items = len(all_display_items) num_rows = math.ceil(num_items / num_cols) - for r in range(num_rows): - row_str = f"{C_CYAN}{BOX_V}{C_RESET} " - current_len = 1 # padding space - - for c in range(num_cols): - idx = r * num_cols + c - if idx < num_items: - key, label = all_display_items[idx] - - # Construct colored string - item_str = f"{C_GREEN}{key}){C_RESET} {label}" - visible_len = len(key) + 2 + len(label) - - row_str += item_str - - # Padding to fill column - padding = col_width - visible_len - # If last column, we might have more space to fill to reach the right border - if c == num_cols - 1: - padding = (box_width - 3) - current_len - visible_len - - row_str += " " * padding - current_len += visible_len + padding - else: - # Empty cell - # padding = (box_width - 3) - current_len - # wait, if it's empty we just fill to the end if it is the last one? - pass - - # Final adjustment to ensure right border alignment - # It's safer to calculate exactly how much space is left - # We used visual lengths. - # Let's simplify: - # We print columns of fixed width. - pass + # Clean up old dead code loop was here # Re-do print loop with simpler logic # rows of strings @@ -202,7 +162,8 @@ def print_menu(title, items, tools_mode=False, clear_screen=True): print(f"{C_CYAN}{BOX_V}{C_RESET}{line_content}{C_CYAN}{BOX_V}{C_RESET}") # Output Extra Options Separator - print(f"{C_CYAN}{BOX_L}{BOX_H * (box_width - 2)}{BOX_R}{C_RESET}") + if extra_options: + print(f"{C_CYAN}{BOX_L}{BOX_H * (box_width - 2)}{BOX_R}{C_RESET}") # Extra Options Logic (similar grid or list?) # A list 2-per-row usually fits well for these standard options From bc2fd7de939237eee68bc0d22dae00dfe7067cc3 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:16:33 +0100 Subject: [PATCH 21/33] Refactor repo.py for improved error handling and type hinting --- src/repo.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/repo.py b/src/repo.py index 58fba5f..07313ef 100644 --- a/src/repo.py +++ b/src/repo.py @@ -1,4 +1,6 @@ import os +from typing import List, Tuple +from logger import logger from commands import run_shell @@ -11,7 +13,7 @@ ) -def show_sources_list(): +def show_sources_list() -> None: files = [ (SOURCES_LIST_PATH, "sources.list"), (REPO_PATH, "katoolin.list"), @@ -25,40 +27,47 @@ def show_sources_list(): try: with open(path, "r") as src: print(src.read()) - except IOError: + except IOError as e: + logger.error(f"Unable to read {path}: {e}") print("\033[1;31mUnable to read %s.\033[1;m\n" % path) if not found: + logger.warning("No sources list files found") print("\033[1;33mNo sources list files were found.\033[1;m") -def add_kali_key(): +def add_kali_key() -> bool: # Install the Kali archive key so apt trusts the repo. + logger.info("Adding Kali-Linux key...") cmd = ( "wget -q -O - https://archive.kali.org/archive-key.asc | " "gpg --dearmor | tee %s >/dev/null" % KALI_KEY_PATH ) if not run_shell(cmd): + logger.error("Failed to download or install GPG key") return False try: os.chmod(KALI_KEY_PATH, 0o644) - except OSError: + except OSError as e: + logger.error(f"Failed to chmod key file: {e}") return False + logger.info("Key added successfully") return True -def write_kali_repo(): +def write_kali_repo() -> str: if os.path.exists(REPO_PATH): return "exists" try: with open(REPO_PATH, "w") as repo_file: repo_file.write("# Kali linux repositories | Added by Katoolin\n") repo_file.write(REPO_LINE) - except IOError: + except IOError as e: + logger.error(f"Failed to write repo file: {e}") return "error" return "added" -def remove_kali_repo(): +def remove_kali_repo() -> bool: removed_repo = False if os.path.exists(REPO_PATH): os.remove(REPO_PATH) @@ -77,6 +86,7 @@ def remove_kali_repo(): removed_repo = True continue fout.write(line) - except IOError: + except IOError as e: + logger.error(f"Failed to clean sources.list: {e}") return False return removed_repo From f6fb4f22fdb4066b128cc7af84a605538f016886 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:16:42 +0100 Subject: [PATCH 22/33] Add logger configuration for improved logging functionality --- src/logger.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/logger.py diff --git a/src/logger.py b/src/logger.py new file mode 100644 index 0000000..27db5c9 --- /dev/null +++ b/src/logger.py @@ -0,0 +1,19 @@ +import logging +import sys + +# Configure logger +logger = logging.getLogger("katoolin3") +logger.setLevel(logging.INFO) + +# Create console handler with formatting +ch = logging.StreamHandler(sys.stdout) +ch.setLevel(logging.INFO) +formatter = logging.Formatter('[%(levelname)s] %(message)s') +ch.setFormatter(formatter) + +logger.addHandler(ch) + +def setup_logger(debug: bool = False) -> None: + if debug: + logger.setLevel(logging.DEBUG) + ch.setLevel(logging.DEBUG) From 4d0924fcc85751febb9e5e82b9f534f469f56558 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:16:52 +0100 Subject: [PATCH 23/33] Enhance app.py with improved logging and type hinting; refactor setup and repo_menu functions for better clarity and error handling --- src/app.py | 54 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/src/app.py b/src/app.py index 3a6c6a4..7e457fc 100644 --- a/src/app.py +++ b/src/app.py @@ -1,26 +1,31 @@ import os import sys import traceback +from typing import List, Tuple, Optional from categories import run_categories_menu -from commands import run_shell_capture +from commands import run_shell_capture, exec_system_command from menus import CLASSICMENU_INFO, help_menu, main_banner, print_separator from repo import add_kali_key, remove_kali_repo, show_sources_list, write_kali_repo from style import print_menu, clear, wait_for_input +from logger import logger, setup_logger -def setup(): +def setup() -> bool: + """Check requirements and setup environment.""" # Root is required for apt and repo changes. if os.geteuid() != 0: + logger.error("Root privileges required.") print( "You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.") return False - os.system("clear") + clear() return True -def repo_menu(): +def repo_menu() -> None: + """Manage Kali repositories.""" while True: - options = [ + options: List[Tuple[str, str]] = [ ("1", "Add kali linux repositories"), ("2", "Update"), ("3", "Remove all kali linux repositories"), @@ -31,38 +36,49 @@ def repo_menu(): "\033[1;32mWhat do you want to do ?> \033[1;m") if repo == "1": if not add_kali_key(): + logger.error("Failed to add Kali repository key") print( "\033[1;31m\nFailed to add Kali repository key.\n\033[1;m") print_separator() else: repo_status = write_kali_repo() if repo_status == "added": + logger.info("Kali repositories added") print( "\033[1;32m\nKali repositories have been added.\n\033[1;m") elif repo_status == "exists": + logger.warning("Kali repositories already present") print( "\033[1;33m\nKali repositories are already present.\n\033[1;m") else: + logger.error("Failed to add Kali repositories") print( "\033[1;31m\nFailed to add Kali repositories.\n\033[1;m") print_separator() wait_for_input() elif repo == "2": + logger.info("Updating repositories...") rc, output = run_shell_capture("apt-get update") if rc == 0 and "W:" not in output and "E:" not in output: + logger.info("Update completed successfully") print("\033[1;32m\nUpdate completed.\n\033[1;m") elif rc == 0: + logger.warning("Update completed with warnings") print("\033[1;33m\nUpdate completed with warnings.\n\033[1;m") else: + logger.error("Update failed") print("\033[1;31m\nUpdate failed.\n\033[1;m") print_separator() wait_for_input() elif repo == "3": + logger.info("Removing Kali repositories...") removed = remove_kali_repo() if removed: + logger.info("Kali repositories removed") print( "\033[1;31m\nAll kali linux repositories have been deleted !\n\033[1;m") else: + logger.warning("No Kali repositories found to remove") print( "\033[1;33m\nNo Kali repositories were found.\n\033[1;m") print_separator() @@ -71,7 +87,11 @@ def repo_menu(): return elif repo == "gohome": return + elif repo == "shell": + from commands import open_shell + open_shell() elif repo == "exit" or repo == "quit": + logger.info("Shutdown requested") print("Shutdown requested...Goodbye...") sys.exit() elif repo == "4": @@ -84,8 +104,9 @@ def repo_menu(): wait_for_input() -def main(): +def main() -> None: try: + setup_logger() # Initialize logger if not setup(): return @@ -94,17 +115,18 @@ def main(): clear() main_banner() - options = [ + options: List[Tuple[str, str]] = [ ("1", "Add Kali repositories & Update"), ("2", "View Categories"), ("3", "Install classicmenu indicator"), ("4", "Install Kali menu"), ("5", "Help"), ] - # Tell print_menu NOT to clear - print_menu("Main Menu", options, tools_mode=False, clear_screen=False) + # Tell print_menu NOT to clear and NOT to show nav options + print_menu("Main Menu", options, tools_mode=False, show_navigation=False, clear_screen=False) option0 = input("\033[1;36mkat > \033[1;m") if option0 == "exit" or option0 == "quit": + logger.info("Shutdown requested") print("Shutdown requested...Goodbye...") sys.exit() elif option0 == "1": @@ -116,10 +138,9 @@ def main(): repo = input( "\033[1;32mDo you want to install classicmenu indicator ? [y/n]> \033[1;m") if repo == "y": - cmd1 = os.system( - "add-apt-repository ppa:diesch/testing && apt-get update") - cmd = os.system( - "sudo apt-get install classicmenu-indicator") + logger.info("Installing classicmenu-indicator") + exec_system_command("add-apt-repository ppa:diesch/testing && apt-get update") + exec_system_command("apt-get install classicmenu-indicator") wait_for_input() elif option0 == "help": print("") @@ -129,7 +150,8 @@ def main(): repo = input( "\033[1;32mDo you want to install Kali menu ? [y/n]> \033[1;m") if repo == "y": - cmd1 = os.system("apt-get install kali-menu") + logger.info("Installing kali-menu") + exec_system_command("apt-get install kali-menu") wait_for_input() elif option0 == "5": help_menu() @@ -138,7 +160,9 @@ def main(): print("\033[1;31mSorry, that was an invalid command!\033[1;m") wait_for_input() except KeyboardInterrupt: + logger.info("Shutdown requested (KeyboardInterrupt)") print("Shutdown requested...Goodbye...") - except Exception: + except Exception as e: + logger.critical(f"Unhandled exception: {e}") traceback.print_exc(file=sys.stdout) sys.exit(0) From 740c5d100edfcfc7d1ba64c8b60645c656f763e0 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:17:21 +0100 Subject: [PATCH 24/33] Implement code changes to enhance functionality and improve performance --- src/categories.py | 1684 +++------------------------------------------ 1 file changed, 104 insertions(+), 1580 deletions(-) diff --git a/src/categories.py b/src/categories.py index 619194b..486a8f6 100644 --- a/src/categories.py +++ b/src/categories.py @@ -1,1553 +1,109 @@ +import json import os import sys +from typing import List, Dict, Any, Optional -from commands import open_shell +from commands import open_shell, exec_system_command, install_tools from style import print_menu, wait_for_input - - -# Menu actions mostly call apt-get install to fetch packages. - - -ALL_TOOLS_COMMAND = ( - "apt-get -f install acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch " - "cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk " - "dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher " - "golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng " - "set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled " - "twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 bbqsql bed cisco-auditing-tool " - "cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn " - "greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager " - "openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus " - "thc-ipv6 tnscmd10g unix-privesc-check yersinia aircrack-ng asleap bluelog blueranger bluesnarfer " - "bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl " - "killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph " - "wifi-honey wifitap wifite apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest " - "deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster " - "paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester " - "uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy burpsuite dnschef fiked " - "hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder " - "rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip " - "thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy cryptcat cymothoa dbd dns2tcp " - "http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely " - "casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal armitage backdoor-factory " - "cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester " - "maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss binwalk bulk-extractor chntpw cuckoo dc3dd " - "ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail " - "peepdf volatility xplico dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest " - "t50 termineter thc-ipv6 thc-ssl-dos acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch " - "findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack " - "oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack " - "webscarab wordlists zaproxy apktool dex2jar python-distorm3 edb-debugger jad javasnoop jd ollydbg smali valgrind yara " - "android-sdk apktool arduino dex2jar sakis3g smali && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz " - "&& tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/" -) - -def category_information_gathering(): - while True: - options = [ - ("1", "acccheck"), ("30", "lbd"), - ("2", "ace-voip"), ("31", "Maltego Teeth"), - ("3", "Amap"), ("32", "masscan"), - ("4", "Automater"), ("33", "Metagoofil"), - ("5", "bing-ip2hosts"), ("34", "Miranda"), - ("6", "braa"), ("35", "Nmap"), - ("7", "CaseFile"), ("36", "ntop"), - ("8", "CDPSnarf"), ("37", "p0f"), - ("9", "cisco-torch"), ("38", "Parsero"), - ("10", "Cookie Cadger"), ("39", "Recon-ng"), - ("11", "copy-router-config"), ("40", "SET"), - ("12", "DMitry"), ("41", "smtp-user-enum"), - ("13", "dnmap"), ("42", "snmpcheck"), - ("14", "dnsenum"), ("43", "sslcaudit"), - ("15", "dnsmap"), ("44", "SSLsplit"), - ("16", "DNSRecon"), ("45", "sslstrip"), - ("17", "dnstracer"), ("46", "SSLyze"), - ("18", "dnswalk"), ("47", "THC-IPV6"), - ("19", "DotDotPwn"), ("48", "theHarvester"), - ("20", "enum4linux"), ("49", "TLSSLed"), - ("21", "enumIAX"), ("50", "twofi"), - ("22", "exploitdb"), ("51", "URLCrazy"), - ("23", "Fierce"), ("52", "Wireshark"), - ("24", "Firewalk"), ("53", "WOL-E"), - ("25", "fragroute"), ("54", "Xplico"), - ("26", "fragrouter"), ("55", "iSMTP"), - ("27", "Ghost Phisher"), ("56", "InTrace"), - ("28", "GoLismero"), ("57", "hping3"), - ("29", "goofile") - ] - print_menu("Information Gathering", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install acccheck") - wait_for_input() - elif option2 == "2": - cmd = os.system("apt-get install ace-voip") - wait_for_input() - elif option2 == "3": - cmd = os.system("apt-get install amap") - wait_for_input() - elif option2 == "4": - cmd = os.system("apt-get install automater") - wait_for_input() - elif option2 == "5": - cmd = os.system( - "wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - wait_for_input() - elif option2 == "6": - cmd = os.system("apt-get install braa") - wait_for_input() - elif option2 == "7": - cmd = os.system("apt-get install casefile") - wait_for_input() - elif option2 == "8": - cmd = os.system("apt-get install cdpsnarf") - wait_for_input() - elif option2 == "9": - cmd = os.system("apt-get install cisco-torch") - wait_for_input() - elif option2 == "10": - cmd = os.system( - "apt-get install cookie-cadger") - wait_for_input() - elif option2 == "11": - cmd = os.system( - "apt-get install copy-router-config") - wait_for_input() - elif option2 == "12": - cmd = os.system("apt-get install dmitry") - wait_for_input() - elif option2 == "13": - cmd = os.system("apt-get install dnmap") - wait_for_input() - elif option2 == "14": - cmd = os.system("apt-get install dnsenum") - wait_for_input() - elif option2 == "15": - cmd = os.system("apt-get install dnsmap") - wait_for_input() - elif option2 == "16": - cmd = os.system("apt-get install dnsrecon") - wait_for_input() - elif option2 == "17": - cmd = os.system("apt-get install dnstracer") - wait_for_input() - elif option2 == "18": - cmd = os.system("apt-get install dnswalk") - wait_for_input() - elif option2 == "19": - cmd = os.system("apt-get install dotdotpwn") - wait_for_input() - elif option2 == "20": - cmd = os.system("apt-get install enum4linux") - wait_for_input() - elif option2 == "21": - cmd = os.system("apt-get install enumiax") - wait_for_input() - elif option2 == "22": - cmd = os.system("apt-get install exploitdb") - wait_for_input() - elif option2 == "23": - cmd = os.system("apt-get install fierce") - wait_for_input() - elif option2 == "24": - cmd = os.system("apt-get install firewalk") - wait_for_input() - elif option2 == "25": - cmd = os.system("apt-get install fragroute") - wait_for_input() - elif option2 == "26": - cmd = os.system("apt-get install fragrouter") - wait_for_input() - elif option2 == "27": - cmd = os.system( - "apt-get install ghost-phisher") - wait_for_input() - elif option2 == "28": - cmd = os.system("apt-get install golismero") - wait_for_input() - elif option2 == "29": - cmd = os.system("apt-get install goofile") - wait_for_input() - elif option2 == "30": - cmd = os.system("apt-get install lbd") - wait_for_input() - elif option2 == "31": - cmd = os.system( - "apt-get install maltego-teeth") - wait_for_input() - elif option2 == "32": - cmd = os.system("apt-get install masscan") - wait_for_input() - elif option2 == "33": - cmd = os.system("apt-get install metagoofil") - wait_for_input() - elif option2 == "34": - cmd = os.system("apt-get install miranda") - wait_for_input() - elif option2 == "35": - cmd = os.system("apt-get install nmap") - wait_for_input() - elif option2 == "36": - print('ntop is unavailable') - wait_for_input() - elif option2 == "37": - cmd = os.system("apt-get install p0f") - wait_for_input() - elif option2 == "38": - cmd = os.system("apt-get install parsero") - wait_for_input() - elif option2 == "39": - cmd = os.system("apt-get install recon-ng") - wait_for_input() - elif option2 == "40": - cmd = os.system("apt-get install set") - wait_for_input() - elif option2 == "41": - cmd = os.system( - "apt-get install smtp-user-enum") - wait_for_input() - elif option2 == "42": - cmd = os.system("apt-get install snmpcheck") - wait_for_input() - elif option2 == "43": - cmd = os.system("apt-get install sslcaudit") - wait_for_input() - elif option2 == "44": - cmd = os.system("apt-get install sslsplit") - wait_for_input() - elif option2 == "45": - cmd = os.system("apt-get install sslstrip") - wait_for_input() - elif option2 == "46": - cmd = os.system("apt-get install sslyze") - wait_for_input() - elif option2 == "47": - cmd = os.system("apt-get install thc-ipv6") - wait_for_input() - elif option2 == "48": - cmd = os.system("apt-get install theharvester") - wait_for_input() - elif option2 == "49": - cmd = os.system("apt-get install tlssled") - wait_for_input() - elif option2 == "50": - cmd = os.system("apt-get install twofi") - wait_for_input() - elif option2 == "51": - cmd = os.system("apt-get install urlcrazy") - wait_for_input() - elif option2 == "52": - cmd = os.system("apt-get install wireshark") - wait_for_input() - elif option2 == "53": - cmd = os.system("apt-get install wol-e") - wait_for_input() - elif option2 == "54": - cmd = os.system("apt-get install xplico") - wait_for_input() - elif option2 == "55": - cmd = os.system("apt-get install ismtp") - wait_for_input() - elif option2 == "56": - cmd = os.system("apt-get install intrace") - wait_for_input() - elif option2 == "57": - cmd = os.system("apt-get install hping3") - wait_for_input() - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y acccheck ace-voip amap automater braa casefile cdpsnarf cisco-torch cookie-cadger copy-router-config dmitry dnmap dnsenum dnsmap dnsrecon dnstracer dnswalk dotdotpwn enum4linux enumiax exploitdb fierce firewalk fragroute fragrouter ghost-phisher golismero goofile lbd maltego-teeth masscan metagoofil miranda nmap p0f parsero recon-ng set smtp-user-enum snmpcheck sslcaudit sslsplit sslstrip sslyze thc-ipv6 theharvester tlssled twofi urlcrazy wireshark wol-e xplico ismtp intrace hping3 && wget http://www.morningstarsecurity.com/downloads/bing-ip2hosts-0.4.tar.gz && tar -xzvf bing-ip2hosts-0.4.tar.gz && cp bing-ip2hosts-0.4/bing-ip2hosts /usr/local/bin/") - wait_for_input() - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - wait_for_input() - -def category_vulnerability_analysis(): - while True: - options = [ - ("1", "BBQSQL"), ("18", "Nmap"), - ("2", "BED"), ("19", "ohrwurm"), - ("3", "cisco-auditing-tool"), ("20", "openvas-administrator"), - ("4", "cisco-global-exploiter"), ("21", "openvas-cli"), - ("5", "cisco-ocs"), ("22", "openvas-manager"), - ("6", "cisco-torch"), ("23", "openvas-scanner"), - ("7", "copy-router-config"), ("24", "Oscanner"), - ("8", "commix"), ("25", "Powerfuzzer"), - ("9", "DBPwAudit"), ("26", "sfuzz"), - ("10", "DoonaDot"), ("27", "SidGuesser"), - ("11", "DotPwn"), ("28", "SIPArmyKnife"), - ("12", "Greenbone Security Assistant"), ("29", "sqlmap"), - ("13", "GSD"), ("30", "Sqlninja"), - ("14", "HexorBase"), ("31", "sqlsus"), - ("15", "Inguma"), ("32", "THC-IPV6"), - ("16", "jSQL"), ("33", "tnscmd10g"), - ("17", "Lynis"), ("34", "unix-privesc-check"), - ("35", "Yersinia") - ] - print_menu("Vulnerability Analysis", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install bbqsql") - - elif option2 == "2": - cmd = os.system("apt-get install bed") - - elif option2 == "3": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "4": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif option2 == "5": - cmd = os.system("apt-get install cisco-ocs") - elif option2 == "6": - cmd = os.system("apt-get install cisco-torch") - elif option2 == "7": - cmd = os.system( - "apt-get install copy-router-config") - elif option2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "9": - cmd = os.system( - "echo 'download page : http://www.cqure.net/wp/tools/database/dbpwaudit/'") - elif option2 == "10": - cmd = os.system("apt-get install doona") - elif option2 == "11": - cmd = os.system("apt-get install dotdotpwn") - elif option2 == "12": - cmd = os.system( - "apt-get install greenbone-security-assistant") - elif option2 == "13": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gsd.git") - elif option2 == "14": - cmd = os.system("apt-get install hexorbase") - elif option2 == "15": - print( - "Please download inguma from : http://inguma.sourceforge.net") - elif option2 == "16": - cmd = os.system("apt-get install jsql") - elif option2 == "17": - cmd = os.system("apt-get install lynis") - elif option2 == "18": - cmd = os.system("apt-get install nmap") - elif option2 == "19": - cmd = os.system("apt-get install ohrwurm") - elif option2 == "20": - cmd = os.system( - "apt-get install openvas-administrator") - elif option2 == "21": - cmd = os.system("apt-get install openvas-cli") - elif option2 == "22": - cmd = os.system( - "apt-get install openvas-manager") - elif option2 == "23": - cmd = os.system( - "apt-get install openvas-scanner") - elif option2 == "24": - cmd = os.system("apt-get install oscanner") - elif option2 == "25": - cmd = os.system("apt-get install powerfuzzer") - elif option2 == "26": - cmd = os.system("apt-get install sfuzz") - elif option2 == "27": - cmd = os.system("apt-get install sidguesser") - elif option2 == "28": - cmd = os.system("apt-get install siparmyknife") - elif option2 == "29": - cmd = os.system("apt-get install sqlmap") - elif option2 == "30": - cmd = os.system("apt-get install sqlninja") - elif option2 == "31": - cmd = os.system("apt-get install sqlsus") - elif option2 == "32": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "33": - cmd = os.system("apt-get install tnscmd10g") - elif option2 == "34": - cmd = os.system( - "apt-get install unix-privesc-check") - elif option2 == "35": - cmd = os.system("apt-get install yersinia") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_wireless_attacks(): - while True: - options = [ - ("1", "Aircrack-ng"), ("17", "kalibrate-rtl"), - ("2", "Asleap"), ("18", "KillerBee"), - ("3", "Bluelog"), ("19", "Kismet"), - ("4", "BlueMaho"), ("20", "mdk3"), - ("5", "Bluepot"), ("21", "mfcuk"), - ("6", "BlueRanger"), ("22", "mfoc"), - ("7", "Bluesnarfer"), ("23", "mfterm"), - ("8", "Bully"), ("24", "Multimon-NG"), - ("9", "coWPAtty"), ("25", "PixieWPS"), - ("10", "crackle"), ("26", "Reaver"), - ("11", "eapmd5pass"), ("27", "redfang"), - ("12", "Fern Wifi Cracker"), ("28", "RTLSDR Scanner"), - ("13", "Ghost Phisher"), ("29", "Spooftooph"), - ("14", "GISKismet"), ("30", "Wifi Honey"), - ("16", "gr-scan"), ("31", "Wifitap"), - ("32", "Wifite") - ] - print_menu("Wireless Attacks", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install aircrack-ng") - - elif option2 == "2": - cmd = os.system("apt-get install asleap") - - elif option2 == "3": - cmd = os.system("apt-get install bluelog") - elif option2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluemaho.git") - elif option2 == "5": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/bluepot.git") - elif option2 == "6": - cmd = os.system("apt-get install blueranger") - elif option2 == "7": - cmd = os.system("apt-get install bluesnarfer") - elif option2 == "8": - cmd = os.system("apt-get install bully") - elif option2 == "9": - cmd = os.system("apt-get install cowpatty") - elif option2 == "10": - cmd = os.system("apt-get install crackle") - elif option2 == "11": - cmd = os.system("apt-get install eapmd5pass") - elif option2 == "12": - cmd = os.system( - "apt-get install fern-wifi-cracker") - elif option2 == "13": - cmd = os.system( - "apt-get install ghost-phisher") - elif option2 == "14": - cmd = os.system("apt-get install giskismet") - elif option2 == "16": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") - elif option2 == "17": - cmd = os.system( - "apt-get install kalibrate-rtl") - elif option2 == "18": - cmd = os.system("apt-get install killerbee") - elif option2 == "19": - cmd = os.system("apt-get install kismet") - elif option2 == "20": - cmd = os.system("apt-get install mdk3") - elif option2 == "21": - cmd = os.system("apt-get install mfcuk") - elif option2 == "22": - cmd = os.system("apt-get install mfoc") - elif option2 == "23": - cmd = os.system("apt-get install mfterm") - elif option2 == "24": - cmd = os.system("apt-get install multimon-ng") - elif option2 == "25": - cmd = os.system("apt-get install pixiewps") - elif option2 == "26": - cmd = os.system("apt-get install reaver") - elif option2 == "27": - cmd = os.system("apt-get install redfang") - elif option2 == "28": - cmd = os.system( - "apt-get install rtlsdr-scanner") - elif option2 == "29": - cmd = os.system("apt-get install spooftooph") - elif option2 == "30": - cmd = os.system("apt-get install wifi-honey") - elif option2 == "31": - cmd = os.system("apt-get install wifitap") - elif option2 == "32": - cmd = os.system("apt-get install wifite") - elif option2 == "0": - cmd = os.system( - "apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_web_applications(): - while True: - options = [ - ("1", "apache-users"), ("21", "Parsero"), - ("2", "Arachni"), ("22", "plecost"), - ("3", "BBQSQL"), ("23", "Powerfuzzer"), - ("4", "BlindElephant"), ("24", "ProxyStrike"), - ("5", "Burp Suite"), ("25", "Recon-ng"), - ("6", "commix"), ("26", "Skipfish"), - ("7", "CutyCapt"), ("27", "sqlmap"), - ("8", "DAVTest"), ("28", "Sqlninja"), - ("9", "deblaze"), ("29", "sqlsus"), - ("10", "DIRB"), ("30", "ua-tester"), - ("11", "DirBuster"), ("31", "Uniscan"), - ("12", "fimap"), ("32", "Vega"), - ("13", "FunkLoad"), ("33", "w3af"), - ("14", "Grabber"), ("34", "WebScarab"), - ("15", "jboss-autopwn"), ("35", "Webshag"), - ("16", "joomscan"), ("36", "WebSlayer"), - ("17", "jSQL"), ("37", "WebSploit"), - ("18", "Maltego Teeth"), ("38", "Wfuzz"), - ("19", "PadBuster"), ("39", "WPScan"), - ("20", "Paros"), ("40", "XSSer"), - ("41", "zaproxy") - ] - print_menu("Web Applications", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install apache-users") - - elif option2 == "2": - cmd = os.system("apt-get install arachni") - - elif option2 == "3": - cmd = os.system("apt-get install bbqsql") - elif option2 == "4": - cmd = os.system( - "apt-get install blindelephant") - elif option2 == "5": - cmd = os.system("apt-get install burpsuite") - elif option2 == "6": - cmd = os.system("apt-get install cutycapt") - elif option2 == "7": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "8": - cmd = os.system("apt-get install davtest") - elif option2 == "9": - cmd = os.system("apt-get install deblaze") - elif option2 == "10": - cmd = os.system("apt-get install dirb") - elif option2 == "11": - cmd = os.system("apt-get install dirbuster") - elif option2 == "12": - cmd = os.system("apt-get install fimap") - elif option2 == "13": - cmd = os.system("apt-get install funkload") - elif option2 == "14": - cmd = os.system("apt-get install grabber") - elif option2 == "15": - cmd = os.system( - "apt-get install jboss-autopwn") - elif option2 == "16": - cmd = os.system("apt-get install joomscan") - elif option2 == "17": - cmd = os.system("apt-get install jsql") - elif option2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "19": - cmd = os.system("apt-get install padbuster") - elif option2 == "20": - cmd = os.system("apt-get install paros") - elif option2 == "21": - cmd = os.system("apt-get install parsero") - elif option2 == "22": - cmd = os.system("apt-get install plecost") - elif option2 == "23": - cmd = os.system("apt-get install powerfuzzer") - elif option2 == "24": - cmd = os.system("apt-get install proxystrike") - elif option2 == "25": - cmd = os.system("apt-get install recon-ng") - elif option2 == "26": - cmd = os.system("apt-get install skipfish") - elif option2 == "27": - cmd = os.system("apt-get install sqlmap") - elif option2 == "28": - cmd = os.system("apt-get install sqlninja") - elif option2 == "29": - cmd = os.system("apt-get install sqlsus") - elif option2 == "30": - cmd = os.system("apt-get install ua-tester") - elif option2 == "31": - cmd = os.system("apt-get install uniscan") - elif option2 == "32": - cmd = os.system("apt-get install vega") - elif option2 == "33": - cmd = os.system("apt-get install w3af") - elif option2 == "34": - cmd = os.system("apt-get install webscarab") - elif option2 == "35": - print("Webshag is unavailable") - elif option2 == "36": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/webslayer.git") - elif option2 == "37": - cmd = os.system("apt-get install websploit") - elif option2 == "38": - cmd = os.system("apt-get install wfuzz") - elif option2 == "39": - cmd = os.system("apt-get install wpscan") - elif option2 == "40": - cmd = os.system("apt-get install xsser") - elif option2 == "41": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y apache-users arachni bbqsql blindelephant burpsuite cutycapt davtest deblaze dirb dirbuster fimap funkload grabber jboss-autopwn joomscan jsql maltego-teeth padbuster paros parsero plecost powerfuzzer proxystrike recon-ng skipfish sqlmap sqlninja sqlsus ua-tester uniscan vega w3af webscarab websploit wfuzz wpscan xsser zaproxy") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_sniffing_spoofing(): - while True: - options = [ - ("1", "Burp Suite"), ("17", "rtpmixsound"), - ("2", "dnschef"), ("18", "sctpscan"), - ("3", "fiked"), ("19", "siparmyknife"), - ("4", "hamster-sidejack"), ("20", "sipp"), - ("5", "hexinject"), ("21", "sipvicious"), - ("6", "iaxflood"), ("22", "sniffjoke"), - ("7", "inviteflood"), ("23", "sslsplit"), - ("8", "ismtp"), ("24", "sslstrip"), - ("9", "isr-evilgrade"), ("25", "THC-IPV6"), - ("10", "mitmproxy"), ("26", "voiphopper"), - ("11", "ohrwurm"), ("27", "WebScarab"), - ("12", "protos-sip"), ("28", "Wifi Honey"), - ("13", "rebind"), ("29", "Wireshark"), - ("14", "Responder"), ("30", "xspy"), - ("15", "rtpbreak"), ("31", "Yersinia"), - ("16", "rtpinsertsound"), ("32", "zaproxy") - ] - print_menu("Sniffing & Spoofing", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install burpsuite") - - elif option2 == "2": - cmd = os.system("apt-get install dnschef") - - elif option2 == "3": - cmd = os.system("apt-get install fiked") - elif option2 == "4": - cmd = os.system( - "apt-get install hamster-sidejack") - elif option2 == "5": - cmd = os.system("apt-get install hexinject") - elif option2 == "6": - cmd = os.system("apt-get install iaxflood") - elif option2 == "7": - cmd = os.system("apt-get install inviteflood") - elif option2 == "8": - cmd = os.system("apt-get install ismtp") - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/isr-evilgrade.git") - elif option2 == "10": - cmd = os.system("apt-get install mitmproxy") - elif option2 == "11": - cmd = os.system("apt-get install ohrwurm") - elif option2 == "12": - cmd = os.system("apt-get install protos-sip") - elif option2 == "13": - cmd = os.system("apt-get install rebind") - elif option2 == "14": - cmd = os.system("apt-get install responder") - elif option2 == "15": - cmd = os.system("apt-get install rtpbreak") - elif option2 == "16": - cmd = os.system( - "apt-get install rtpinsertsound") - elif option2 == "17": - cmd = os.system("apt-get install rtpmixsound") - elif option2 == "18": - cmd = os.system("apt-get install sctpscan") - elif option2 == "19": - cmd = os.system("apt-get install siparmyknife") - elif option2 == "20": - cmd = os.system("apt-get install sipp") - elif option2 == "21": - cmd = os.system("apt-get install sipvicious") - elif option2 == "22": - cmd = os.system("apt-get install sniffjoke") - elif option2 == "23": - cmd = os.system("apt-get install sslsplit") - elif option2 == "24": - cmd = os.system("apt-get install sslstrip") - elif option2 == "25": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "26": - cmd = os.system("apt-get install voiphopper") - elif option2 == "27": - cmd = os.system("apt-get install webscarab") - elif option2 == "28": - cmd = os.system("apt-get install wifi-honey") - elif option2 == "29": - cmd = os.system("apt-get install wireshark") - elif option2 == "30": - cmd = os.system("apt-get install xspy") - elif option2 == "31": - cmd = os.system("apt-get install yersinia") - elif option2 == "32": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - - elif option2 == "0": - cmd = os.system( - "apt-get install -y burpsuite dnschef fiked hamster-sidejack hexinject iaxflood inviteflood ismtp mitmproxy ohrwurm protos-sip rebind responder rtpbreak rtpinsertsound rtpmixsound sctpscan siparmyknife sipp sipvicious sniffjoke sslsplit sslstrip thc-ipv6 voiphopper webscarab wifi-honey wireshark xspy yersinia zaproxy") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_maintaining_access(): - while True: - options = [ - ("1", "CryptCat"), - ("2", "Cymothoa"), - ("3", "dbd"), - ("4", "dns2tcp"), - ("5", "http-tunnel"), - ("6", "HTTPTunnel"), - ("7", "Intersect"), - ("8", "Nishang"), - ("9", "polenum"), - ("10", "PowerSploit"), - ("11", "pwnat"), - ("12", "RidEnum"), - ("13", "sbd"), - ("14", "U3-Pwn"), - ("15", "Webshells"), - ("16", "Weevely") - ] - print_menu("Maintaining Access", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install cryptcat") - - elif option2 == "2": - cmd = os.system("apt-get install cymothoa") - - elif option2 == "3": - cmd = os.system("apt-get install dbd") - elif option2 == "4": - cmd = os.system("apt-get install dns2tcp") - elif option2 == "5": - cmd = os.system("apt-get install http-tunnel") - elif option2 == "6": - cmd = os.system("apt-get install httptunnel") - elif option2 == "7": - cmd = os.system("apt-get install intersect") - elif option2 == "8": - cmd = os.system("apt-get install nishang") - elif option2 == "9": - cmd = os.system("apt-get install polenum") - elif option2 == "10": - cmd = os.system("apt-get install powersploit") - elif option2 == "11": - cmd = os.system("apt-get install pwnat") - elif option2 == "12": - cmd = os.system("apt-get install ridenum") - elif option2 == "13": - cmd = os.system("apt-get install sbd") - elif option2 == "14": - cmd = os.system("apt-get install u3-pwn") - elif option2 == "15": - cmd = os.system("apt-get install webshells") - elif option2 == "16": - cmd = os.system("apt-get install weevely") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y cryptcat cymothoa dbd dns2tcp http-tunnel httptunnel intersect nishang polenum powersploit pwnat ridenum sbd u3-pwn webshells weevely") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_reporting_tools(): - while True: - options = [ - ("1", "CaseFile"), - ("2", "CutyCapt"), - ("3", "dos2unix"), - ("4", "Dradis"), - ("5", "KeepNote"), - ("6", "MagicTree"), - ("7", "Metagoofil"), - ("8", "Nipper-ng"), - ("9", "pipal") - ] - print_menu("Reporting Tools", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install casefile") - - elif option2 == "2": - cmd = os.system("apt-get install cutycapt") - - elif option2 == "3": - cmd = os.system("apt-get install dos2unix") - elif option2 == "4": - cmd = os.system("apt-get install dradis") - elif option2 == "5": - cmd = os.system("apt-get install keepnote") - elif option2 == "6": - cmd = os.system("apt-get install magictree") - elif option2 == "7": - cmd = os.system("apt-get install metagoofil") - elif option2 == "8": - cmd = os.system("apt-get install nipper-ng") - elif option2 == "9": - cmd = os.system("apt-get install pipal") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y casefile cutycapt dos2unix dradis keepnote magictree metagoofil nipper-ng pipal") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_exploitation_tools(): - while True: - print(''' -\033[1;36m=+[ Exploitation Tools\033[1;m - - 1) Armitage - 2) Backdoor Factory - 3) BeEF - 4) cisco-auditing-tool - 5) cisco-global-exploiter - 6) cisco-ocs - 7) cisco-torch - 8) commix - 9) crackle -10) jboss-autopwn -11) Linux Exploit Suggester -12) Maltego Teeth -13) SET -14) ShellNoob -15) sqlmap -16) THC-IPV6 -17) Yersinia - -0) Install all Exploitation Tools -back) Go back -gohome) Go to main menu -shell) Open system shell - -\t\t\t\t\t\t''') - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install armitage") - - elif option2 == "2": - cmd = os.system( - "apt-get install backdoor-factory") - - elif option2 == "3": - cmd = os.system("apt-get install beef-xss") - elif option2 == "4": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "5": - cmd = os.system( - "apt-get install cisco-global-exploiter") - elif option2 == "6": - cmd = os.system("apt-get install cisco-ocs") - elif option2 == "7": - cmd = os.system("apt-get install cisco-torch") - elif option2 == "8": - cmd = os.system( - "apt-get install git && git clone https://github.com/stasinopoulos/commix.git commix && cd commix && python ./commix.py --install") - elif option2 == "9": - cmd = os.system("apt-get install crackle") - elif option2 == "10": - cmd = os.system( - "apt-get install jboss-autopwn") - elif option2 == "11": - cmd = os.system( - "apt-get install linux-exploit-suggester") - elif option2 == "12": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "13": - cmd = os.system("apt-get install set") - elif option2 == "14": - cmd = os.system("apt-get install shellnoob") - elif option2 == "15": - cmd = os.system("apt-get install sqlmap") - elif option2 == "16": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "17": - cmd = os.system("apt-get install yersinia") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y armitage backdoor-factory cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch crackle jboss-autopwn linux-exploit-suggester maltego-teeth set shellnoob sqlmap thc-ipv6 yersinia beef-xss") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_forensics_tools(): - while True: - options = [ - ("1", "Binwalk"), ("11", "extundelete"), - ("2", "bulk-extractor"), ("12", "Foremost"), - ("3", "Capstone"), ("13", "Galleta"), - ("4", "chntpw"), ("14", "Guymager"), - ("5", "Cuckoo"), ("15", "iPhone Backup Analyzer"), - ("6", "dc3dd"), ("16", "p0f"), - ("7", "ddrescue"), ("17", "pdf-parser"), - ("8", "DFF"), ("18", "pdfid"), - ("9", "diStorm3"), ("19", "pdgmail"), - ("10", "Dumpzilla"), ("20", "peepdf"), - ("21", "RegRipper"), ("22", "Volatility"), - ("23", "Xplico") - ] - print_menu("Forensics Tools", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install binwalk") - - elif option2 == "2": - cmd = os.system( - "apt-get install bulk-extractor") - - elif option2 == "3": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/capstone.git") - elif option2 == "4": - cmd = os.system("apt-get install chntpw") - elif option2 == "5": - cmd = os.system("apt-get install cuckoo") - elif option2 == "6": - cmd = os.system("apt-get install dc3dd") - elif option2 == "7": - cmd = os.system("apt-get install ddrescue") - elif option2 == "8": - print('dff is unavailable') - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/distorm3.git") - elif option2 == "10": - cmd = os.system("apt-get install dumpzilla") - elif option2 == "11": - cmd = os.system("apt-get install extundelete") - elif option2 == "12": - cmd = os.system("apt-get install foremost") - elif option2 == "13": - cmd = os.system("apt-get install galleta") - elif option2 == "14": - cmd = os.system("apt-get install guymager") - elif option2 == "15": - cmd = os.system( - "apt-get install iphone-backup-analyzer") - elif option2 == "16": - cmd = os.system("apt-get install p0f") - elif option2 == "17": - cmd = os.system("apt-get install pdf-parser") - elif option2 == "18": - cmd = os.system("apt-get install pdfid") - elif option2 == "19": - cmd = os.system("apt-get install pdgmail") - elif option2 == "20": - cmd = os.system("apt-get install peepdf") - elif option2 == "21": - print("Regripper is unavailable") - elif option2 == "22": - cmd = os.system("apt-get install volatility") - elif option2 == "23": - cmd = os.system("apt-get install xplico") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y binwalk bulk-extractor chntpw cuckoo dc3dd ddrescue dumpzilla extundelete foremost galleta guymager iphone-backup-analyzer p0f pdf-parser pdfid pdgmail peepdf volatility xplico") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_stress_testing(): - while True: - options = [ - ("1", "DHCPig"), - ("2", "FunkLoad"), - ("3", "iaxflood"), - ("4", "Inundator"), - ("5", "inviteflood"), - ("6", "ipv6-toolkit"), - ("7", "mdk3"), - ("8", "Reaver"), - ("9", "rtpflood"), - ("10", "SlowHTTPTest"), - ("11", "t50"), - ("12", "Termineter"), - ("13", "THC-IPV6"), - ("14", "THC-SSL-DOS") - ] - print_menu("Stress Testing", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install dhcpig") - - elif option2 == "2": - cmd = os.system("apt-get install funkload") - - elif option2 == "3": - cmd = os.system("apt-get install iaxflood") - elif option2 == "4": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/inundator.git") - elif option2 == "5": - cmd = os.system("apt-get install inviteflood") - elif option2 == "6": - cmd = os.system("apt-get install ipv6-toolkit") - elif option2 == "7": - cmd = os.system("apt-get install mdk3") - elif option2 == "8": - cmd = os.system("apt-get install reaver") - elif option2 == "9": - cmd = os.system("apt-get install rtpflood") - elif option2 == "10": - cmd = os.system("apt-get install slowhttptest") - elif option2 == "11": - cmd = os.system("apt-get install t50") - elif option2 == "12": - cmd = os.system("apt-get install termineter") - elif option2 == "13": - cmd = os.system("apt-get install thc-ipv6") - elif option2 == "14": - cmd = os.system("apt-get install thc-ssl-dos ") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y dhcpig funkload iaxflood inviteflood ipv6-toolkit mdk3 reaver rtpflood slowhttptest t50 termineter thc-ipv6 thc-ssl-dos") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_password_attacks(): +from logger import logger + +# Path to tools.json +TOOLS_FILE = os.path.join(os.path.dirname(__file__), "tools.json") + +def load_tools() -> Dict[str, List[Dict[str, str]]]: + """Load tools from the JSON file.""" + try: + with open(TOOLS_FILE, "r") as f: + return json.load(f) + except (FileNotFoundError, json.JSONDecodeError) as e: + logger.error(f"Error loading tools.json: {e}") + sys.exit(1) + +def run_category_menu(category_name: str, tools: List[Dict[str, str]]) -> Optional[str]: + """Generic menu function for a specific category of tools.""" while True: - options = [ - ("1", "acccheck"), ("19", "Maskprocessor"), - ("2", "Burp Suite"), ("20", "multiforcer"), - ("3", "CeWL"), ("21", "Ncrack"), - ("4", "chntpw"), ("22", "oclgausscrack"), - ("5", "cisco-auditing-tool"), ("23", "PACK"), - ("6", "CmosPwd"), ("24", "patator"), - ("7", "creddump"), ("25", "phrasendrescher"), - ("8", "crunch"), ("26", "polenum"), - ("9", "DBPwAudit"), ("27", "RainbowCrack"), - ("10", "findmyhash"), ("28", "rcracki-mt"), - ("11", "gpp-decrypt"), ("29", "RSMangler"), - ("12", "hash-identifier"), ("30", "SQLdict"), - ("13", "HexorBase"), ("31", "Statsprocessor"), - ("14", "THC-Hydra"), ("32", "THC-pptp-bruter"), - ("15", "John the Ripper"), ("33", "TrueCrack"), - ("16", "Johnny"), ("34", "WebScarab"), - ("17", "keimpx"), ("35", "wordlists"), - ("18", "Maltego Teeth"), ("36", "zaproxy") - ] - print_menu("Password Attacks", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install acccheck") - - elif option2 == "2": - cmd = os.system("apt-get install burpsuite") - - elif option2 == "3": - cmd = os.system("apt-get install cewl") - elif option2 == "4": - cmd = os.system("apt-get install chntpw") - elif option2 == "5": - cmd = os.system( - "apt-get install cisco-auditing-tool") - elif option2 == "6": - cmd = os.system("apt-get install cmospwd") - elif option2 == "7": - cmd = os.system("apt-get install creddump") - elif option2 == "8": - cmd = os.system("apt-get install crunch") - elif option2 == "9": - cmd = os.system( - "apt-get install git && git clone git://git.kali.org/packages/dbpwaudit.git") - elif option2 == "10": - cmd = os.system("apt-get install findmyhash") - elif option2 == "11": - cmd = os.system("apt-get install gpp-decrypt") - elif option2 == "12": - cmd = os.system( - "apt-get install hash-identifier") - elif option2 == "13": - cmd = os.system("apt-get install hexorbase") - elif option2 == "14": - cmd = os.system( - "echo 'please visit : https://www.thc.org/thc-hydra/' ") - elif option2 == "15": - cmd = os.system("apt-get install john") - elif option2 == "16": - cmd = os.system("apt-get install johnny") - elif option2 == "17": - cmd = os.system("apt-get install keimpx") - elif option2 == "18": - cmd = os.system( - "apt-get install maltego-teeth") - elif option2 == "19": - cmd = os.system( - "apt-get install maskprocessor") - elif option2 == "20": - cmd = os.system("apt-get install multiforcer") - elif option2 == "21": - cmd = os.system("apt-get install ncrack") - elif option2 == "22": - cmd = os.system( - "apt-get install oclgausscrack") - elif option2 == "23": - cmd = os.system("apt-get install pack") - elif option2 == "24": - cmd = os.system("apt-get install patator") - elif option2 == "25": - cmd = os.system( - "echo 'please visit : http://www.leidecker.info/projects/phrasendrescher/index.shtml' ") - elif option2 == "26": - cmd = os.system("apt-get install polenum") - elif option2 == "27": - cmd = os.system("apt-get install rainbowcrack") - elif option2 == "28": - cmd = os.system("apt-get install rcracki-mt") - elif option2 == "29": - cmd = os.system("apt-get install rsmangler") - elif option2 == "30": - print("Sqldict is unavailable") - elif option2 == "31": - cmd = os.system( - "apt-get install statsprocessor") - elif option2 == "32": - cmd = os.system( - "apt-get install thc-pptp-bruter") - elif option2 == "33": - cmd = os.system("apt-get install truecrack") - elif option2 == "34": - cmd = os.system("apt-get install webscarab") - elif option2 == "35": - cmd = os.system("apt-get install wordlists") - elif option2 == "36": - cmd = os.system("apt-get install zaproxy") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y acccheck burpsuite cewl chntpw cisco-auditing-tool cmospwd creddump crunch findmyhash gpp-decrypt hash-identifier hexorbase john johnny keimpx maltego-teeth maskprocessor multiforcer ncrack oclgausscrack pack patator polenum rainbowcrack rcracki-mt rsmangler statsprocessor thc-pptp-bruter truecrack webscarab wordlists zaproxy") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_reverse_engineering(): - while True: - options = [ - ("1", "apktool"), - ("2", "dex2jar"), - ("3", "diStorm3"), - ("4", "edb-debugger"), - ("5", "jad"), - ("6", "javasnoop"), - ("7", "JD-GUI"), - ("8", "OllyDbg"), - ("9", "smali"), - ("10", "Valgrind"), - ("11", "YARA") - ] - print_menu("Reverse Engineering", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install apktool") - - elif option2 == "2": - cmd = os.system("apt-get install dex2jar") - - elif option2 == "3": - cmd = os.system( - "apt-get install python-diStorm3") - elif option2 == "4": - cmd = os.system("apt-get install edb-debugger") - elif option2 == "5": - cmd = os.system("apt-get install jad") - elif option2 == "6": - cmd = os.system("apt-get install javasnoop") - elif option2 == "7": - cmd = os.system("apt-get install JD") - elif option2 == "8": - cmd = os.system("apt-get install OllyDbg") - elif option2 == "9": - cmd = os.system("apt-get install smali") - elif option2 == "10": - cmd = os.system("apt-get install Valgrind") - elif option2 == "11": - cmd = os.system("apt-get install YARA") - elif option2 == "back": + # Build options for the menu + options: List[tuple[str, str]] = [] + tools_map: Dict[str, Dict[str, str]] = {} + + # 'tools' is a list of dicts: {"name": "...", "command": "..."} + for i, tool in enumerate(tools): + key = str(i + 1) + # Some tools might be unnamed if data is dirty, but we assume it's clean + name = tool.get("name", "Unknown") + options.append((key, name)) + tools_map[key] = tool + + print_menu(category_name, options, tools_mode=True) + print(f"\033[1;32mSelect a tool to install or press (0) to install all {category_name} tools.\n\033[1;m") + + choice = input("\033[1;36mkat > \033[1;m") + + if choice == "back": return "back" - elif option2 == "gohome": + elif choice == "gohome": return "gohome" - elif option2 == "shell": + elif choice == "shell": open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y apktool dex2jar python-diStorm3 edb-debugger jad javasnoop JD OllyDbg smali Valgrind YARA") - elif option2 == "exit" or option2 == "quit": + elif choice == "exit" or choice == "quit": sys.exit() - elif option2 == "help": + elif choice == "help": print("Available commands:\n" "back\t\tGo back to main menu\n" "gohome\t\tGo to the main menu\n" "exit\t\tExit the program\n" "help\t\tShow this help menu\n") wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") + elif choice == "0": + # Install all tools in this category + logger.info(f"Installing all tools in {category_name}...") + print(f"\n\033[1;33mInstalling all tools in {category_name}...\033[1;m\n") + + commands = [t["command"] for t in tools if t.get("command")] + if commands: + install_tools(commands) + else: + logger.warning("No commands found for this category.") + print("No commands found for this category.") + wait_for_input() + elif choice in tools_map: + tool = tools_map[choice] + cmd = tool.get("command") + if cmd: + print(f"\n\033[1;33mExecuting: {cmd}\033[1;m\n") + exec_system_command(cmd) + else: + logger.error("No command defined for this tool.") + print("\033[1;31mError: No command defined for this tool.\033[1;m") wait_for_input() else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") + print("\033[1;31mSorry, that was an invalid command!\033[1;m") wait_for_input() -def category_hardware_hacking(): - while True: - options = [ - ("1", "android-sdk"), - ("2", "apktool"), - ("3", "Arduino"), - ("4", "dex2jar"), - ("5", "Sakis3G"), - ("6", "smali") - ] - print_menu("Hardware Hacking", options, tools_mode=True) - print("\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system("apt-get install android-sdk") - - elif option2 == "2": - cmd = os.system("apt-get install apktool") - elif option2 == "3": - cmd = os.system("apt-get install arduino") - elif option2 == "4": - cmd = os.system("apt-get install dex2jar") - elif option2 == "5": - cmd = os.system("apt-get install sakis3g") - elif option2 == "6": - cmd = os.system("apt-get install smali") +def run_categories_menu() -> None: + """Main categories menu.""" + tools_data = load_tools() + # tools_data is dict: category_name -> list of tools + + # We want a fixed order if possible, roughly matching the original if possible, + # but dicts are insertion ordered in modern Python (which json.load preserves). + # Check if tools.json preserved order. + categories = list(tools_data.keys()) - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() - elif option2 == "0": - cmd = os.system( - "apt-get install -y android-sdk apktool arduino dex2jar sakis3g smali") - elif option2 == "exit" or option2 == "quit": - sys.exit() - elif option2 == "help": - print("Available commands:\n" - "back\t\tGo back to main menu\n" - "gohome\t\tGo to the main menu\n" - "exit\t\tExit the program\n" - "help\t\tShow this help menu\n") - wait_for_input() - elif option2 == "0": - cmd = os.system( - "apt-get install -y bbqsql bed cisco-auditing-tool cisco-global-exploiter cisco-ocs cisco-torch copy-router-config doona dotdotpwn greenbone-security-assistant hexorbase jsql lynis nmap ohrwurm openvas-cli openvas-manager openvas-scanner oscanner powerfuzzer sfuzz sidguesser siparmyknife sqlmap sqlninja sqlsus thc-ipv6 tnscmd10g unix-privesc-check yersinia") - wait_for_input() - else: - print( - "\033[1;31mSorry, that was an invalid command!\033[1;m") - wait_for_input() - -def category_extra(): while True: - options = [ - ("1", "Wifresti"), - ("2", "Squid3"), - ] - print_menu("Extra", options, tools_mode=True) - print( - "\033[1;32mInsert the number of the tool to install it .\n\033[1;m") - option2 = input("\033[1;36mkat > \033[1;m") - if option2 == "1": - cmd = os.system( - "git clone https://github.com/LionSec/wifresti.git && cp wifresti/wifresti.py /usr/bin/wifresti && chmod +x /usr/bin/wifresti && wifresti") - print(" ") - elif option2 == "2": - cmd = os.system("apt-get install squid3") - print(" ") - elif option2 == "back": - return "back" - elif option2 == "gohome": - return "gohome" - elif option2 == "shell": - open_shell() + options: List[tuple[str, str]] = [] + cat_map: Dict[str, str] = {} + for i, cat in enumerate(categories): + key = str(i + 1) + options.append((key, cat)) + cat_map[key] = cat -def run_categories_menu(): - # Dispatcher for the category submenus. - while True: - options = [ - ("1", "Information Gathering"), - ("2", "Vulnerability Analysis"), - ("3", "Wireless Attacks"), - ("4", "Web Applications"), - ("5", "Sniffing & Spoofing"), - ("6", "Maintaining Access"), - ("7", "Reporting Tools"), - ("8", "Exploitation Tools"), - ("9", "Forensics Tools"), - ("10", "Stress Testing"), - ("11", "Password Attacks"), - ("12", "Reverse Engineering"), - ("13", "Hardware Hacking"), - ("14", "Extra"), - ] print_menu("All Categories", options, tools_mode=True) print("\033[1;32mSelect a category or press (0) to install all Kali linux tools .\n\033[1;m") option = input("\033[1;36mkat > \033[1;m") + if option == "back": return elif option == "gohome": @@ -1563,63 +119,31 @@ def run_categories_menu(): "gohome\t\tGo to the main menu\n" "exit\t\tExit the program\n" "help\t\tShow this help menu\n") + wait_for_input() elif option == "0": - cmd = os.system(ALL_TOOLS_COMMAND) - elif option == "1": - result = category_information_gathering() - if result == "gohome": - return - elif option == "2": - result = category_vulnerability_analysis() - if result == "gohome": - return - elif option == "3": - result = category_wireless_attacks() - if result == "gohome": - return - elif option == "4": - result = category_web_applications() - if result == "gohome": - return - elif option == "5": - result = category_sniffing_spoofing() - if result == "gohome": - return - elif option == "6": - result = category_maintaining_access() + # Install ALL tools from ALL categories + logger.info("Installing all tools from all categories...") + print("\n\033[1;33mPreparing to install all tools from all categories...\033[1;m\n") + all_commands = [] + for cat in categories: + cat_tools = tools_data[cat] + for t in cat_tools: + if t.get("command"): + all_commands.append(t["command"]) + + if all_commands: + install_tools(all_commands) + else: + logger.warning("No tools found.") + print("No tools found.") + wait_for_input() + + elif option in cat_map: + selected_cat = cat_map[option] + tools = tools_data[selected_cat] + result = run_category_menu(selected_cat, tools) if result == "gohome": - return - elif option == "7": - result = category_reporting_tools() - if result == "gohome": - return - elif option == "8": - result = category_exploitation_tools() - if result == "gohome": - return - elif option == "9": - result = category_forensics_tools() - if result == "gohome": - return - elif option == "10": - result = category_stress_testing() - if result == "gohome": - return - elif option == "11": - result = category_password_attacks() - if result == "gohome": - return - elif option == "12": - result = category_reverse_engineering() - if result == "gohome": - return - elif option == "13": - result = category_hardware_hacking() - if result == "gohome": - return - elif option == "14": - result = category_extra() - if result == "gohome": - return + return # Propagate gohome to main menu else: - print("\033[1;31mSorry, that was an invalid command!\033[1;m") + print("\033[1;31mSorry, that was an invalid command!\033[1;m") + wait_for_input() From 7d15191bdd5d2c3ac445456a8be92d321910e8cd Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:17:27 +0100 Subject: [PATCH 25/33] Refactor commands.py for improved logging, error handling, and command execution; enhance install_tools function for better package management --- src/commands.py | 86 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 5 deletions(-) diff --git a/src/commands.py b/src/commands.py index f4ef1ea..2115194 100644 --- a/src/commands.py +++ b/src/commands.py @@ -1,14 +1,20 @@ import os import subprocess +from logger import logger +from typing import List, Tuple -def run_shell(cmd): +def run_shell(cmd: str) -> bool: + """Run a shell command and return True if successful.""" # Use the shell because many menu entries are plain one-liners. + logger.debug(f"Running shell command: {cmd}") return subprocess.run(cmd, shell=True).returncode == 0 -def run_shell_capture(cmd): +def run_shell_capture(cmd: str) -> tuple[int, str]: + """Run a shell command and return (return_code, stdout). Stderr is merged into stdout.""" # Capture output so we can show warnings from apt. + logger.debug(f"Running shell command (capture): {cmd}") proc = subprocess.run( cmd, shell=True, @@ -16,12 +22,82 @@ def run_shell_capture(cmd): stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) + # We log stdout if it's not empty, but we might not want to print it twice if the caller does. + # However, existing behavior printed it. Let's keep printing but maybe via logger? + # The original code used print(proc.stdout, end=""). + # For interactive tools (apt), we want the user to see output. if proc.stdout: - print(proc.stdout, end="") + print(proc.stdout, end="") + return proc.returncode, proc.stdout or "" +def exec_system_command(cmd: str) -> int: + """ + Execute a system command securely using subprocess. + Returns the return code. + """ + logger.info(f"Executing: {cmd}") + try: + # We use shell=True because we have complex commands with pipes/&& from tools.json + # Check=False allows us to handle the error code manually + result = subprocess.run(cmd, shell=True, check=False) + if result.returncode != 0: + logger.error(f"Command failed with code {result.returncode}: {cmd}") + return result.returncode + except Exception as e: + logger.error(f"Error executing command '{cmd}': {e}") + return -1 -def open_shell(): +def install_tools(commands: List[str]) -> None: + """ + Smartly install a list of tools. + Aggregates 'apt-get install' commands for performance. + Runs other commands sequentially. + """ + apt_packages: List[str] = [] + other_commands: List[str] = [] + + for cmd in commands: + cmd = cmd.strip() + # Check for simple apt-get install commands + if cmd.startswith("apt-get install ") and "&&" not in cmd and ";" not in cmd and "|" not in cmd: + pkg_part = cmd.replace("apt-get install", "").strip() + pkgs = [p for p in pkg_part.split() if not p.startswith("-")] + apt_packages.extend(pkgs) + else: + other_commands.append(cmd) + + # 1. Run aggregated apt install with fallback + if apt_packages: + # Remove duplicates + apt_packages = list(set(apt_packages)) + logger.info(f"Aggregating installation for {len(apt_packages)} packages...") + full_apt_cmd = f"apt-get install -y {' '.join(apt_packages)}" + + # Try aggregated install + ret = exec_system_command(full_apt_cmd) + + if ret != 0: + # Fallback to sequential installation + logger.warning("Aggregated installation failed. Falling back to sequential installation...") + print("\033[1;33mAggregated installation failed. Retrying packages one by one...\033[1;m") + + for pkg in apt_packages: + ret_seq = exec_system_command(f"apt-get install -y {pkg}") + # We log errors individually but continue + if ret_seq != 0: + logger.error(f"Failed to install package: {pkg}") + + # 2. Run others sequentially + for cmd in other_commands: + # Continue execution even if one fails + exec_system_command(cmd) + +def open_shell() -> None: + """Open an interactive shell.""" print("\033[1;33mStarting shell... Type 'exit' to return to Katoolin3.\033[1;m") user_shell = os.environ.get("SHELL", "/bin/bash") - subprocess.run(user_shell) + try: + subprocess.run(user_shell) + except Exception as e: + logger.error(f"Failed to open shell: {e}") From d98fdae6a30b15ac124256e116859509af75d913 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:17:36 +0100 Subject: [PATCH 26/33] Add type hints to functions in menus.py for improved clarity and type safety --- src/menus.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/menus.py b/src/menus.py index b8629e1..e4be37b 100644 --- a/src/menus.py +++ b/src/menus.py @@ -1,11 +1,11 @@ from style import C_BLUE, C_GREEN, C_RED, C_RESET, print_header -def print_separator(): +def print_separator() -> None: print("\n" + "-" * 64 + "\n") -def help_menu(): +def help_menu() -> None: print_header("Commands") print(f"{C_GREEN}back{C_RESET} \tGo back") print(f"{C_GREEN}gohome{C_RESET} \tGo to the main menu") @@ -14,7 +14,7 @@ def help_menu(): print(f"{C_GREEN}exit{C_RESET} \tExit the script") -def main_banner(): +def main_banner() -> None: banner = fr""" {C_BLUE} $$\ $$\ $$\ $$\ $$\ $$$$$$\ From fdb754f31928377b5cfe28dab6eaeda6a5f3f7c0 Mon Sep 17 00:00:00 2001 From: 0xGuigui <0xguigui@proton.me> Date: Tue, 13 Jan 2026 18:17:41 +0100 Subject: [PATCH 27/33] Remove unused core files: categories.py and gear.py --- core/__init__.py | 0 core/categories.py | 91 ----------------- core/gear.py | 237 --------------------------------------------- 3 files changed, 328 deletions(-) delete mode 100644 core/__init__.py delete mode 100644 core/categories.py delete mode 100644 core/gear.py diff --git a/core/__init__.py b/core/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/categories.py b/core/categories.py deleted file mode 100644 index 219353c..0000000 --- a/core/categories.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python - -categories = { - 1:['information_gathering', - ['acccheck', 'ace-voip', 'amap', 'automater', 'braa', 'casefile', 'cdpsnarf', 'cisco-torch', - 'cookie-cadger', 'copy-router-config', 'dmitry', 'dnmap', 'dnsenum', 'dnsmap', 'dnsrecon', - 'dnstracer', 'dnswalk', 'dotdotpwn', 'enum4linux', 'enumiax', 'fierce', 'firewalk', 'fragroute', - 'fragrouter', 'ghost-phisher', 'golismero', 'goofile', 'xplico', 'hping3', 'intrace', 'ismtp', - 'lbd', 'maltego-teeth', 'masscan', 'metagoofil', 'miranda', 'nbtscan-unixwiz', 'nmap', 'p0f', - 'parsero', 'recon-ng', 'set', 'smtp-user-enum', 'snmpcheck', 'sslcaudit', 'sslsplit', 'sslstrip', - 'sslyze', 'thc-ipv6', 'theharvester', 'tlssled', 'twofi', 'urlcrazy','wireshark', 'wol-e'] - ], - - 2:['vulnerability_analysis', - ['bbqsql', 'bed', 'cisco-auditing-tool', 'cisco-global-exploiter', 'cisco-ocs', 'cisco-torch', - 'copy-router-config', 'doona', 'dotdotpwn', 'greenbone-security-assistant', 'hexorbase', 'jsql', - 'lynis', 'nmap', 'ohrwurm', 'openvas-administrator', 'openvas-cli', 'openvas-manager', 'openvas-scanner', - 'oscanner', 'powerfuzzer', 'sfuzz', 'sidguesser', 'siparmyknife', 'sqlmap', 'sqlninja', 'sqlsus', - 'thc-ipv6', 'tnscmd10g', 'unix-privesc-check', 'yersinia'] - ], - - 3:['wireless_attacks', - ['aircrack-ng', 'asleap', 'bluelog', 'blueranger', 'bluesnarfer', 'bully', 'cowpatty', 'crackle', - 'eapmd5pass', 'fern-wifi-cracker', 'ghost-phisher', 'giskismet', 'gqrx', 'hostapd-wpe', 'kalibrate-rtl', - 'killerbee', 'kismet', 'mdk3', 'mfcuk', 'mfoc', 'mfterm', 'multimon-ng', 'pixiewps', 'reaver', 'redfang', - 'rtlsdr-scanner', 'spooftooph', 'wifi-honey', 'wifiphisher', 'wifitap', 'wifite'] - ], - - 4:['web_applications', - ['apache-users', 'arachni', 'bbqsql', 'blindelephant', 'burpsuite', 'cutycapt', 'davtest', 'deblaze', - 'dirb', 'dirbuster', 'fimap', 'funkload', 'gobuster', 'grabber', 'jboss-autopwn', 'joomscan', 'jsql', - 'maltego-teeth', 'padbuster', 'paros', 'parsero', 'plecost', 'powerfuzzer', 'proxystrike', 'recon-ng', - 'skipfish', 'sqlmap', 'sqlninja', 'sqlsus', 'ua-tester', 'uniscan', 'vega', 'w3af', 'webscarab', - 'websploit', 'wfuzz', 'wpscan', 'xsser', 'zaproxy'] - ], - - 5:['sniffing_spoofing', - ['burpsuite', 'dnschef', 'fiked', 'hamster-sidejack', 'hexinject', 'iaxflood', 'inviteflood', 'ismtp', - 'isr-evilgrade', 'mitmproxy', 'ohrwurm', 'protos-sip', 'rebind', 'responder', 'rtpbreak', 'rtpinsertsound', - 'rtpmixsound', 'sctpscan', 'siparmyknife', 'sipp', 'sipvicious', 'sniffjoke', 'sslsplit', 'sslstrip', - 'thc-ipv6', 'voiphopper', 'webscarab', 'wifi-honey', 'wireshark', 'xspy', 'yersinia', 'zaproxy'] - ], - - 6:['maintaining_access', - ['cryptcat', 'cymothoa', 'dbd', 'dns2tcp', 'http-tunnel', 'httptunnel', 'intersect', 'nishang', 'polenum', - 'powersploit', 'pwnat', 'ridenum', 'sbd', 'u3-pwn', 'webshells', 'weevely', 'winexe'] - ], - - 7:['reporting_tools', - ['casefile', 'cutycapt', 'dos2unix', 'dradis', 'keepnote', 'magictree', 'metagoofil', 'nipper-ng', 'pipal'] - ], - - 8:['exploitation_tools', - ['armitage', 'backdoor-factory', 'beef-xss', 'cisco-auditing-tool', 'cisco-global-exploiter', 'cisco-ocs', - 'cisco-torch', 'crackle', 'exploitdb', 'jboss-autopwn', 'linux-exploit-suggester', 'maltego-teeth', 'set', - 'shellnoob', 'sqlmap', 'thc-ipv6', 'yersinia'] - ], - - 9:['forensics_tools', - ['binwalk', 'bulk-extractor', 'chntpw', 'cuckoo', 'dc3dd', 'ddrescue', 'python-distorm3', 'dumpzilla', - 'volatility', 'xplico', 'foremost', 'galleta', 'guymager', 'iphone-backup-analyzer', 'p0f', 'pdf-parser', - 'pdfid', 'pdgmail', 'peepdf', 'extundelete'] - ], - - 10:['stress_testing', - ['dhcpig', 'funkload', 'iaxflood', 'inviteflood', 'ipv6-toolkit', 'mdk3', 'reaver', 'rtpflood', - 'slowhttptest', 't50', 'termineter', 'thc-ipv6', 'thc-ssl-dos'] - ], - - 11:['password_attacks', - ['acccheck', 'burpsuite', 'cewl', 'chntpw', 'cisco-auditing-tool', 'cmospwd', 'creddump', 'crunch', - 'findmyhash', 'gpp-decrypt', 'hash-identifier', 'hexorbase', 'hydra', 'john', 'johnny', 'keimpx', - 'maltego-teeth', 'maskprocessor', 'multiforcer', 'ncrack', 'oclgausscrack', 'pack', 'patator', 'polenum', - 'rainbowcrack', 'rcracki-mt', 'rsmangler', 'statsprocessor', 'thc-pptp-bruter', 'truecrack', 'webscarab', - 'wordlists', 'zaproxy'] - ], - - 12:['reverse_engineering', - ['apktool', 'dex2jar', 'python-distorm3', 'edb-debugger', 'jad', 'javasnoop', 'smali', 'valgrind', 'yara'] - ], - - 13:['hardware_hacking', - [ 'android-sdk', 'apktool', 'arduino', 'dex2jar', 'sakis3g', 'smali'] - ], - - 14:['extra', - ['kali-linux', 'kali-linux-full', 'kali-linux-all', 'kali-linux-top10', 'kali-linux-forensic', - 'kali-linux-gpu', 'kali-linux-pwtools', 'kali-linux-rfid', 'kali-linux-sdr', 'kali-linux-voip', - 'kali-linux-web', 'kali-linux-wireless', 'squid3'] - ] -} diff --git a/core/gear.py b/core/gear.py deleted file mode 100644 index 0dc1e42..0000000 --- a/core/gear.py +++ /dev/null @@ -1,237 +0,0 @@ -#!/usr/bin/env python -from core.categories import * -import sys, os - -# colors -red = "\033[1;31m" -green = "\033[1;32m" -yellow = "\033[33m" -cyan = "\033[1;36m" -reset = "\033[0m" - -# option menu -menu_list = { - "1":"show_categories", - "2":"update", - "3":"help", - "4":"exit", - "show":"show_categories", - "clear":"clean_screen", - "update":"update", - "help":"help", - "exit":"exit", -} - -menu_list_set = { - "load":"load_category", - "search":"search_tool" -} - -def load(fuction, param=False): - """ - If the function exists, it is loaded - """ - if param == False: - globals()[fuction]() - else: - globals()[fuction](param) - -def show_categories(): - """ - Displays the categories available in the 'categories' dictionary of the core/categories.py file - """ - print "\n%s:: Categories:%s\n" %(green, reset) - for name in categories.items(): - category = name[1][0] - category = format(category) - if name[0]%2 != 0: - print " "+str(name[0]).rjust(2) + ")", category.ljust(23)[:23], - else: - print " "+str(name[0]).rjust(2) + ")", category - print " " - -def load_category(key): - """ - When loading a category you can install one or more tools of that category - """ - if int(key) in categories.keys(): - os.system('clear') - category = categories[int(key)][0] - category = format(category) - print green + ":: " + category + reset + "\n" - show_tools(categories[int(key)][1]) - tools = categories[int(key)][1] - site = categories[int(key)][0] - action = False - while action == False: - try: - option = raw_input(": katoolin (%s%s%s) > " %(yellow, site, reset)) - except KeyboardInterrupt: - delete_repository() - print "..."; break - try: - if option == 'back': - delete_repository() - break - elif option == 'clear': - os.system('clear') - elif option == 'show': - show_tools(categories[int(key)][1]) - elif option == 'help': - help(True) - elif option == '99': - add_repository() - for tool in tools: - install_tool = "apt install -y " + tool - os.system(install_tool) - elif int(option) in range(1,len(tools)+1): - add_repository() - install_tool = "apt install -y " + tools[int(option)-1] - os.system(install_tool) - except: - pass - else: - print red + "E: The command is invalid!" + reset - -def search_tool(tool): - """ - Shows in which category the tool you are looking for is available - """ - print ": Find " + yellow + tool + reset - print ": Available in:" - for lists in categories.items(): - tools = lists[1][1] - category = lists[1][0] - category = format(category) - if tool in tools: - print " [%s+%s] %s" %(green, reset, category) - -def show_tools(tools): - """ - Show all tools in the loaded category - """ - for tool in enumerate(tools): - if tool[0]%2 == 0: - print " "+str(tool[0]+1).rjust(2) + ")", tool[1].ljust(23)[:23], - else: - print " "+str(tool[0]+1).rjust(2) + ")", tool[1] - print "\n 99) ALL" - -def add_repository(): - """ - The Kali Linux repository is added in '/etc/apt/sources.list.d /' - """ - if os.path.exists("/etc/apt/sources.list.d/katoolin.list"): - add_key() - else: - try: - f = open("/etc/apt/sources.list.d/katoolin.list", "wb") - f.write("#Katoolin\ndeb http://http.kali.org/kali kali-rolling main contrib non-free\n# For source package access, uncomment the following line\n# deb-src http://http.kali.org/kali kali-rolling main contrib non-free\n") - f.close() - print green + "\n[+] Add repository\n" + reset - add_key() - except IOError: - print red+"E: Please run as root"+reset - sys.exit() - -def delete_repository(): - """ - The Kali Linux repository is removed from '/etc/apt/sources.list.d/' - """ - repository = "/etc/apt/sources.list.d/katoolin.list" - if os.path.exists(repository): - os.remove(repository) - print green + "\n[+] Repository deleted\n" + reset - -def add_key(): - """ - Repository keyserver is added - """ - tmp_key = "/tmp/key_katoolin.txt" - if os.path.exists(tmp_key): - pass - else: - os.system("apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6") - f = open(tmp_key, "wb") - f.write("katoolin\n") - f.close() - print green + "\n[+] Add keyserver\n" + reset - os.system('apt-get update -o Dir::Etc::sourcelist="sources.list.d/katoolin.list" -o Dir::Etc::sourceparts="-" -o apt::Get::List-Cleanup="0"') - print green + "\n[+] Update\n" + reset - -def banner(): - version = "v1.3b" - tools = num_tools() - options = """ - 1) View Categories - 2) Update Katoolin - 3) Help - - 4) Exit - """ - print """ - $$\ $$\ $$\ $$\ $$\ - $$ | $$ | $$ | $$ |\__| - $$ |$$ / $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$ |$$\ $$$$$$$\ - $$$$$ / \____$$\ \_$$ _| $$ __$$\ $$ __$$\ $$ |$$ |$$ __$$\ - $$ $$< $$$$$$$ | %sKali linux tools installer%s |$$ |$$ |$$ | $$ |%s - $$ |\$$\ $$ __$$ | $$ |$$\ $$ | $$ |$$ | $$ |$$ |$$ |$$ | $$ | - $$ | \$$\ \$$$$$$$ | \$$$$ |\$$$$$$ |\$$$$$$ |$$ |$$ |$$ | $$ | - \__| \__| \_______| \____/ \______/ \______/ \__|\__|\__| \__| %s%s - - %s+ -- -- +=[ Original project: https://github.com/LionSec/katoolin | LionSec - + -- -- +=[ %s Tools%s""" %(cyan,reset,cyan,version,reset,green,tools,reset) - print options - -def update(): - """ - Update 'katoolin' with: git pull - """ - try: - os.system('git pull') - print yellow + "W: Please restart katoolin" + reset - except: - print red + "E: can't start update please use "+reset - -def help(x=False): - """ - Displays tool help - """ - if x != True: - print """: load= Load category -: search= Find tool -: clear Clean screen -: 1, show Show categories -: 2, update Update katoolin (git pull) -: 3, help Show help -: 4, exit Exit katoolin""" - else: - print """: