From bfa5571acf7cca95b51ea26f2b006235e9ebc2a7 Mon Sep 17 00:00:00 2001 From: Jeff McJunkin Date: Tue, 5 Apr 2022 12:28:10 -0700 Subject: [PATCH 01/10] crackmapexec: Stop hardcoding exact Python3 version python3.7 is for Debian 10, the now-stable Debian 11 uses python3.9 instead. Use `python3` as the package and command name to avoid breaking newer Debian builds. https://wiki.debian.org/Python https://packages.debian.org/search?suite=all§ion=all&arch=any&searchon=names&keywords=python3 --- modules/post-exploitation/crackmapexec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/post-exploitation/crackmapexec.py b/modules/post-exploitation/crackmapexec.py index 46a0b983..cdfe0cf1 100644 --- a/modules/post-exploitation/crackmapexec.py +++ b/modules/post-exploitation/crackmapexec.py @@ -26,7 +26,7 @@ FEDORA="git" # COMMANDS TO RUN AFTER -AFTER_COMMANDS="cd {INSTALL_LOCATION},rm -rf crackmapexec,git clone --recursive https://github.com/byt3bl33d3r/CrackMapExec crackmapexec,cd {INSTALL_LOCATION}crackmapexec,python3.7 -m pip install -r requirements.txt,python3.7 setup.py install" +AFTER_COMMANDS="cd {INSTALL_LOCATION},rm -rf crackmapexec,git clone --recursive https://github.com/byt3bl33d3r/CrackMapExec crackmapexec,cd {INSTALL_LOCATION}crackmapexec,python3 -m pip install -r requirements.txt,python3 setup.py install" # AUTOMATIC LAUNCH LAUNCHER="crackmapexec" From 1302cae9a3aeb031d4f3711eec965ed27ce3fbe3 Mon Sep 17 00:00:00 2001 From: Jeff McJunkin Date: Tue, 5 Apr 2022 12:30:36 -0700 Subject: [PATCH 02/10] wifipumpkin3: Stop hardcoding exact Python 3 version Same issue as #588 , found with a quick GitHub search. --- modules/wireless/wifipumpkin3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wireless/wifipumpkin3.py b/modules/wireless/wifipumpkin3.py index f6bf92c0..663315ea 100644 --- a/modules/wireless/wifipumpkin3.py +++ b/modules/wireless/wifipumpkin3.py @@ -20,7 +20,7 @@ INSTALL_LOCATION="wifipumpkin3" # DEPENDS FOR DEBIAN INSTALLS -DEBIAN="git python3.7-dev libssl-dev libffi-dev build-essential python3.7" +DEBIAN="git python3.7-dev libssl-dev libffi-dev build-essential python3" # DEPENDS FOR FEDORA INSTALLS FEDORA="git python3.7" From 9f3321e38f5e7c7c5c1d46f77e2f2a2f515e74e6 Mon Sep 17 00:00:00 2001 From: "you@example.com" Date: Sun, 3 Jul 2022 17:03:03 +0200 Subject: [PATCH 03/10] ADDED NEW MODULE: go-windapsearch --- .../intelligence-gathering/go-windapsearch.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 modules/intelligence-gathering/go-windapsearch.py diff --git a/modules/intelligence-gathering/go-windapsearch.py b/modules/intelligence-gathering/go-windapsearch.py new file mode 100644 index 00000000..42877a63 --- /dev/null +++ b/modules/intelligence-gathering/go-windapsearch.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python +##################################### +# Installation module for go-windapsearch +##################################### + +# DESCRIPTION OF THE MODULE +DESCRIPTION="This module will install/update go-windapsearch a tool to assist in Active Directory Domain enumeration through LDAP queries." + +AUTHOR="Ronnie Flathers - ropnop" + +# INSTALL TYPE GIT, SVN, FILE DOWNLOAD +# OPTIONS = GIT, SVN, FILE +INSTALL_TYPE="GIT" + +# LOCATION OF THE FILE OR GIT/SVN REPOSITORY +REPOSITORY_LOCATION="https://github.com/ropnop/go-windapsearch.git" + +# WHERE DO YOU WANT TO INSTALL IT +INSTALL_LOCATION="go-windapsearch" + +# DEPENDS FOR DEBIAN INSTALLS +DEBIAN="git" + +# DEPENDS FOR FEDORA INSTALLS +FEDORA="git" + +# DEPENDS FOR ARCHLINUX INSTALLS +ARCHLINUX="git,go" + +# COMMANDS TO RUN AFTER +AFTER_COMMANDS="go get -u github.com/magefile/mage && cd {INSTALL_LOCATION} && mage build" + +# THIS WILL CREATE AN AUTOMATIC LAUNCHER FOR THE TOOL +LAUNCHER="windapsearch" + +# PREREQ INSTALL MODULES NEEDED FOR THIS TOOL TO WORK PROPERLY +TOOL_DEPEND="" From 2058b038ab331076f51f3499a9661a680716d919 Mon Sep 17 00:00:00 2001 From: "you@example.com" Date: Sun, 3 Jul 2022 17:12:09 +0200 Subject: [PATCH 04/10] Fix: evilwinrm module for ARCHLINUX --- modules/post-exploitation/evilwinrm.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/post-exploitation/evilwinrm.py b/modules/post-exploitation/evilwinrm.py index 7500e5ff..5d2c3899 100644 --- a/modules/post-exploitation/evilwinrm.py +++ b/modules/post-exploitation/evilwinrm.py @@ -25,11 +25,14 @@ # DEPENDS FOR FEDORA INSTALLS FEDORA="git" +# DEPENDS FOR ARCHLINUX INSTALLS +ARCHLINUX="git, ruby" + # COMMANDS TO RUN AFTER -AFTER_COMMANDS="cd {INSTALL_LOCATION},gem install evil-winrm" +AFTER_COMMANDS="cd {INSTALL_LOCATION},gem install evil-winrm winrm winrm-fs stringio" # THIS WILL CREATE AN AUTOMATIC LAUNCHER FOR THE TOOL -LAUNCHER="" +LAUNCHER="evil-winrm" # PREREQ INSTALL MODULES NEEDED FOR THIS TOOL TO WORK PROPERLY TOOL_DEPEND="" From 83ac3591882d059ce47e561a697ff92474d8533e Mon Sep 17 00:00:00 2001 From: David Kennedy <60713916+HackingDave@users.noreply.github.com> Date: Tue, 26 Jul 2022 09:56:38 -0400 Subject: [PATCH 05/10] Update sparta.py --- modules/vulnerability-analysis/sparta.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/vulnerability-analysis/sparta.py b/modules/vulnerability-analysis/sparta.py index e3a4b5f9..edb8f533 100644 --- a/modules/vulnerability-analysis/sparta.py +++ b/modules/vulnerability-analysis/sparta.py @@ -20,7 +20,7 @@ INSTALL_LOCATION="sparta" # DEPENDS FOR DEBIAN INSTALLS -DEBIAN="python-elixir python-qt4 xsltproc nmap hydra cutycapt ldap-utils rwho rsh-client x11-apps finger" +DEBIAN="python-elixir python-qt4 xsltproc nmap hydra cutycapt ldap-utils rwho rsh-client x11-apps finger wkhtmltopdf" # DEPENDS FOR FEDORA INSTALLS FEDORA="python-elixir python-qt4 libxslt nmap hydra CutyCapt openldap rwho rsh xorg-x11-apps finger" From 6194c962b6fee31d7489eeefb800e9cc4b43e543 Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Sat, 13 Aug 2022 15:27:48 -0400 Subject: [PATCH 06/10] remove sparta and add legion --- modules/vulnerability-analysis/legion.py | 22 ++++++++-------- modules/vulnerability-analysis/sparta.py | 32 ------------------------ 2 files changed, 10 insertions(+), 44 deletions(-) delete mode 100644 modules/vulnerability-analysis/sparta.py diff --git a/modules/vulnerability-analysis/legion.py b/modules/vulnerability-analysis/legion.py index b36f20cb..0c14f919 100644 --- a/modules/vulnerability-analysis/legion.py +++ b/modules/vulnerability-analysis/legion.py @@ -1,34 +1,32 @@ #!/usr/bin/env python ##################################### -# Installation module for Legion +# Installation module for legion ##################################### # AUTHOR OF MODULE NAME -AUTHOR="qt-pie" +AUTHOR="HackingDave / BustedSec" # DESCRIPTION OF THE MODULE -DESCRIPTION="This module will install/update Legion by GoVanguard - a semi-automated network penetration testing framework based on the tool Sparta (https://govanguard.com/legion)" +DESCRIPTION="This module will install/update Legion (semi-automated network penetration testing framework)" # INSTALL TYPE GIT, SVN, FILE DOWNLOAD # OPTIONS = GIT, SVN, FILE INSTALL_TYPE="GIT" # LOCATION OF THE FILE OR GIT/SVN REPOSITORY -REPOSITORY_LOCATION="https://github.com/GoVanguard/legion" +REPOSITORY_LOCATION="https://github.com/GoVanguard/legion.git" # WHERE DO YOU WANT TO INSTALL IT INSTALL_LOCATION="legion" # DEPENDS FOR DEBIAN INSTALLS -DEBIAN="git docker xorg" +DEBIAN="python3-pip python3-pyqt5 python3-sqlalchemy python3-serial-asyncio python3-quamash python3-termcolor python3-pyfiglet python3-psycopg2 python3-apscheduler python3-pandas" # DEPENDS FOR FEDORA INSTALLS -FEDORA="git docker xorg-x11-server-Xorg" +FEDORA="" -AFTER_COMMANDS="cd {INSTALL_LOCATION}/docker,chmod +x runIt.sh,xhost +local:docker,./runIt.sh" +# COMMANDS TO RUN AFTER +AFTER_COMMANDS="pip3 install pyExploitDb;pip3 install pyShodan;cd {INSTALL_LOCATION};chmod +x startLegion.sh" -# create a launcher -LAUNCHER="" - -# PREREQ INSTALL MODULES NEEDED FOR THIS TOOL TO WORK PROPERLY -TOOL_DEPEND="" +# THIS WILL CREATE AN AUTOMATIC LAUNCHER FOR THE TOOL +LAUNCHER="startlegion" diff --git a/modules/vulnerability-analysis/sparta.py b/modules/vulnerability-analysis/sparta.py deleted file mode 100644 index edb8f533..00000000 --- a/modules/vulnerability-analysis/sparta.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -##################################### -# Installation module for sparta -##################################### - -# AUTHOR OF MODULE NAME -AUTHOR="Nick Dyer" - -# DESCRIPTION OF THE MODULE -DESCRIPTION="This module will install/update Sparta (Network Infrastructure Penetration Testing Tool)" - -# INSTALL TYPE GIT, SVN, FILE DOWNLOAD -# OPTIONS = GIT, SVN, FILE -INSTALL_TYPE="GIT" - -# LOCATION OF THE FILE OR GIT/SVN REPOSITORY -REPOSITORY_LOCATION="https://github.com/SECFORCE/sparta.git" - -# WHERE DO YOU WANT TO INSTALL IT -INSTALL_LOCATION="sparta" - -# DEPENDS FOR DEBIAN INSTALLS -DEBIAN="python-elixir python-qt4 xsltproc nmap hydra cutycapt ldap-utils rwho rsh-client x11-apps finger wkhtmltopdf" - -# DEPENDS FOR FEDORA INSTALLS -FEDORA="python-elixir python-qt4 libxslt nmap hydra CutyCapt openldap rwho rsh xorg-x11-apps finger" - -# COMMANDS TO RUN AFTER -AFTER_COMMANDS="ln -s {INSTALL_LOCATION} /usr/share/sparta" - -# THIS WILL CREATE AN AUTOMATIC LAUNCHER FOR THE TOOL -LAUNCHER="sparta" From ca8dfb6512190ef81226ed113f2ef6748ddf8465 Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Sat, 13 Aug 2022 15:28:24 -0400 Subject: [PATCH 07/10] bump version --- src/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core.py b/src/core.py index dbd41518..4e6c92a6 100644 --- a/src/core.py +++ b/src/core.py @@ -117,7 +117,7 @@ def count_modules(): return counter # version information -grab_version = "2.6" +grab_version = "2.7" # banner banner = bcolors.RED + r""" From ebbca65b1e6186c28b1b75987207a03e5a15597a Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 16 Aug 2022 11:47:24 -0400 Subject: [PATCH 08/10] add teamfiltration --- .../intelligence-gathering/teamfiltration.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 modules/intelligence-gathering/teamfiltration.py diff --git a/modules/intelligence-gathering/teamfiltration.py b/modules/intelligence-gathering/teamfiltration.py new file mode 100644 index 00000000..f7a8b3b1 --- /dev/null +++ b/modules/intelligence-gathering/teamfiltration.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +##################################### +# Installation module for TeamFiltration +##################################### + +# AUTHOR OF MODULE NAME +AUTHOR="David Kennedy (HackingDave)" + +# DESCRIPTION OF THE MODULE +DESCRIPTION="This module will install/update TeamFiltration - a cross-platform framework for O365/AAD accounts." + +# INSTALL TYPE GIT, SVN, FILE DOWNLOAD +# OPTIONS = GIT, SVN, FILE +INSTALL_TYPE="FILE" + +# LOCATION OF THE FILE OR GIT/SVN REPOSITORY - new releases will need to change tag path +REPOSITORY_LOCATION="https://github.com/Flangvik/TeamFiltration/releases/download/v3.3.6/TeamFiltration_Linux" + +# WHERE DO YOU WANT TO INSTALL IT +INSTALL_LOCATION="teamfiltration" + +# DEPENDS FOR DEBIAN INSTALLS +DEBIAN="" + +# DEPENDS FOR FEDORA INSTALLS +FEDORA="" + +# DEPENDS FOR ARCHLINUX INSTALLS +ARCHLINUX="" + +# COMMANDS TO RUN AFTER +AFTER_COMMANDS="cd {INSTALL_LOCATION};chmod +x TeamFiltration_Linux" From af1239a9a1cc4d2584ad84fd56a33b71077c1f2b Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 16 Aug 2022 11:48:00 -0400 Subject: [PATCH 09/10] bump changelog --- readme/CHANGELOG | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme/CHANGELOG b/readme/CHANGELOG index 0f7f755f..f4d840c6 100644 --- a/readme/CHANGELOG +++ b/readme/CHANGELOG @@ -1,3 +1,11 @@ +~~~~~~~~~~~~~~~~~ +version 2.7 +~~~~~~~~~~~~~~~~~ + +* remove sparta (not updated) +* add legion +* add teamfiltration + ~~~~~~~~~~~~~~~~~ version 2.6 ~~~~~~~~~~~~~~~~~ From e11598db463333c1054dc6e22b5c14e7376a0f3e Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 16 Aug 2022 13:53:03 -0400 Subject: [PATCH 10/10] add tags ability within github --- README.md | 4 ++- .../intelligence-gathering/teamfiltration.py | 24 ++++++++++++--- ptf | 2 -- readme/CHANGELOG | 9 ++++++ src/core.py | 15 +++++++++- src/framework.py | 30 +++++++++---------- 6 files changed, 61 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 67a9aa2e..bf2e14bc 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ TOOL_DEPEND="modules/exploitation/metasploit" ### Module Development: -All of the fields are pretty easy, on the repository locations, you can use GIT, SVN or FILE. Fill in the depends, and where you want the install location to be. PTF will take where the python file is located (for example exploitation) and move it to what you specify in the PTF config (located under config). By default it installs all your tools to `/pentest/PTES_PHASE/TOOL_FOLDER` +All of the fields are pretty easy, on the repository locations, you can use GIT, SVN FILE, OR TAGS. Fill in the depends, and where you want the install location to be. PTF will take where the python file is located (for example exploitation) and move it to what you specify in the PTF config (located under config). By default it installs all your tools to `/pentest/PTES_PHASE/TOOL_FOLDER` Note in modules, you can specify after commands `{INSTALL_LOCATION}`. This will append where you want the install location to go when using after commands. @@ -139,6 +139,8 @@ You also have the ability for repository locations to specify both a 32 bit and Note that ArchLinux packages are also supported, it needs to be specified for both DEBIAN and ARCH in order for it to be properly installed on either platform in the module +When using the TAGS mode, this will allow you to use a github project that utilizes tags to pull the latest version (usually compiled applications) and automatically download. In order to use the TAGS method, take a look at the structure under modules/intelligence-gathering/teamfiltration.py. In this example, there is no need for a repository_location, but you will need to know the project owner, project name/repo, and the filename to download. In the example of TeamFiltration, it is located at: https://github.com/Flangvik/TeamFiltration. The owner would be Flangvik, the project/tool would be TeamFiltration. If you navigate to releases: https://github.com/Flangvik/TeamFiltration/releases/, we can see here that the name of the file we want to download is "TeamFiltration_Linux". These are under the OWNER, REPOHOME, and FILENAME. Specifying these, PTF will automatically detect the latest release of the tool and install them. + ### GITLAB Support You can create your own modules and PTF also supports gitlab access. Instead of specifying git, wget, etc., simply specify gitlab and point to your own internal gitlab tools for modules. diff --git a/modules/intelligence-gathering/teamfiltration.py b/modules/intelligence-gathering/teamfiltration.py index f7a8b3b1..e5c035d1 100644 --- a/modules/intelligence-gathering/teamfiltration.py +++ b/modules/intelligence-gathering/teamfiltration.py @@ -9,12 +9,28 @@ # DESCRIPTION OF THE MODULE DESCRIPTION="This module will install/update TeamFiltration - a cross-platform framework for O365/AAD accounts." -# INSTALL TYPE GIT, SVN, FILE DOWNLOAD -# OPTIONS = GIT, SVN, FILE -INSTALL_TYPE="FILE" +# INSTALL TYPE GIT, SVN, FILE DOWNLOAD, TAGS +# OPTIONS = GIT, SVN, FILE, TAGS +INSTALL_TYPE="TAGS" # LOCATION OF THE FILE OR GIT/SVN REPOSITORY - new releases will need to change tag path -REPOSITORY_LOCATION="https://github.com/Flangvik/TeamFiltration/releases/download/v3.3.6/TeamFiltration_Linux" +REPOSITORY_LOCATION="" + +# IF INSTALL_TYPE TAGS IS SPECIFIED, THIS WILL PULL THE LATEST VERSION OF AN APPLICATION BACK VIA GITHUB TAGS +# YOU WILL NEED TO KNOW THE OWNER, REPO, AND FILENAME. EXAMPLE: https://github.com/Flangvik/TeamFiltration/ +# THE OWNER: FLANGVIK +# THE REPO: TeamFiltration +# THE FILENAME CAN BE FOUND UNDER https://github.com/Flangvik/TeamFiltration/releases/ +# IN THIS EXAMPLE TeamFiltration_Linux IS THE NAME OF THE FILE WE ARE DOWNLOADING + +# OWNER OF THE REPO +OWNER="FLANGVIK" + +# REPO NAME FOR THE TOOL/PROJECT +REPOHOME="TeamFiltration" + +# FILENAME WE ARE DOWNLOADING +FILENAME="TeamFiltration_Linux" # WHERE DO YOU WANT TO INSTALL IT INSTALL_LOCATION="teamfiltration" diff --git a/ptf b/ptf index 6a5e86b8..78280b70 100755 --- a/ptf +++ b/ptf @@ -111,8 +111,6 @@ if __name__ == "__main__": except KeyboardInterrupt: print("\n") info("User aborted operation ctrl+c") - #print_status("Running updatedb to tidy everything up.") - #subprocess.Popen("updatedb", shell=True).wait() print_status("Exiting PTF - the easy pentest platform creation framework.") exit() sys.exit() diff --git a/readme/CHANGELOG b/readme/CHANGELOG index f4d840c6..080cf26c 100644 --- a/readme/CHANGELOG +++ b/readme/CHANGELOG @@ -1,3 +1,12 @@ +~~~~~~~~~~~~~~~~~ +version 2.7.1 +~~~~~~~~~~~~~~~~~ + +* added new ability to specify TAGS option in modules. This will allow you to use the tags method in github to automatically pull back the latest version of a tool/application and keep them updated. PTF will now detect the latest version and download them. Take a look at the modules/intelligence-gathering/teamfiltration file for the appropriate format. +* Updated README.md with the latest ability to use TAGS method. +* Fixed an issue that would not allow you to exit PTF properly. + + ~~~~~~~~~~~~~~~~~ version 2.7 ~~~~~~~~~~~~~~~~~ diff --git a/src/core.py b/src/core.py index 4e6c92a6..98d996e1 100644 --- a/src/core.py +++ b/src/core.py @@ -117,7 +117,7 @@ def count_modules(): return counter # version information -grab_version = "2.7" +grab_version = "2.7.1" # banner banner = bcolors.RED + r""" @@ -485,3 +485,16 @@ def check_kali(): else: print("[!] Not running a Debian variant..") return "Non-Kali" + +# this will pull back the latest tag for releases if they are using git tags for releases +# owner is the github repo owner for example in this github repo: +# https://github.com/Flangvik/TeamFiltration +# owner equals Flangvik +# repo equals TeamFiltration +# Filename is the actual filename after version, in this case it would be TeamFiltration_Linux which is the name of the binary name for the application. This is essentially the filename to download. +def get_latest_tag(owner, repo, filename): + import requests + url = ("https://api.github.com/repos/" + owner + "/" + repo + "/releases/latest") + response = requests.get(url) + tag = (response.json()["name"]).replace("V", "v") + return("https://github.com/" + owner + "/" + repo + "/releases/download/" + tag + "/" + filename) diff --git a/src/framework.py b/src/framework.py index 19000e02..b795afd2 100755 --- a/src/framework.py +++ b/src/framework.py @@ -331,20 +331,11 @@ def use_module(module, all_trigger): if "use " in prompt: return prompt - # options menu - was a choice here to load upon initial load of dynamically pull each time - # if changes are made, it makes sense to keep it loading each time - #if prompt.lower() == "show options": - # print("Module options (%s):" % module) - # if we are searching for something if "search " in prompt: if search(prompt): prompt("") - #if "show " in prompt: - # prompt = split("/","")[1] - # search(prompt) - if prompt == "" or len(prompt) < 1: print("[*] No prompt given, type help, back, show options, or run to proceed.") #prompt(back) @@ -517,8 +508,7 @@ def check_io(): launcher(filename, install_location) # run after commands if prompt != "update": after_commands(filename, install_location) - #print_status("Running updatedb to tidy everything up.") - #subprocess.Popen("updatedb", shell=True).wait() + if not os.path.isdir(install_location): print_error("The tool was not found in the install location. Try running install first!") # if we want to install it @@ -641,8 +631,18 @@ def check_io(): print_status("Finished Installing! Enjoy the tool located under: " + install_location) launcher(filename, install_location) after_commands(filename, install_location) - #print_status("Running updatedb to tidy everything up.") - #subprocess.Popen("updatedb", shell=True).wait() + # if we are using tags + if install_type.lower() == "tags": + print_status("GitHub TAGS method used, will pull the latest version of the tool/project and download each time.") + owner = module_parser(filename, "OWNER") + repo = module_parser(filename, "REPOHOME") + repo_filename = module_parser(filename, "FILENAME") + download_url = get_latest_tag(owner, repo, repo_filename) + print("Latest version found: " + download_url) + print("Pulling latest version from GitHub tags...") + subprocess.Popen("cd %s && wget -q %s" % (install_location, download_url), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).wait() + print_status("Finished installation! Enjoy the tool located under: " + install_location) + # if we update all we need to break out until finished if int(all_trigger) == 1 or int(all_trigger) == 2: break @@ -669,8 +669,8 @@ def handle_prompt(prompt, force=False): # if we want to exit out if prompt == "quit" or prompt == "exit" or prompt == "back": base_counter = 1 - print_status("Running updatedb to tidy everything up.") - subprocess.Popen("updatedb", shell=True).wait() + #print_status("Running updatedb to tidy everything up.") + #subprocess.Popen("updatedb", shell=True).wait() exit_ptf() sys.exit() # if we want to see the modules