Update Sun Jan 15 07:08:18 AM CST 2023

This commit is contained in:
Dewalt 2023-01-15 07:08:18 -06:00
parent 10190621a7
commit 12b809e5ed
2 changed files with 158 additions and 234 deletions

View File

@ -37,6 +37,37 @@
# Writeups / Honorable Mentions # Writeups / Honorable Mentions
- ip3c4c_n00b https://ip3c4c.com/2202_homelab_vmware/ - ip3c4c_n00b https://ip3c4c.com/2202_homelab_vmware/
# Revision 1.6.0 - Atom removed + misc fixes/updates
- Corrected the non-interactive shell being opened for:
- Menu option K - Reconfigure Keyboard
- Menu option T - Reconfigure Timezone
- shell is now interactive and functions properly
- Added $archtype variable for potential upcoming arm64 specific support ( Mac m1, rasberry pi, etc )
- Added $pyver variable for detection of version of python3
- corrects error with installing python'$pyver'-venv and other various python required installations
- Atom
- has been deprecated/sunset and the installation of atom has been removed
- menu option 7 - Install atom removed
- Seclists
- changed seclists to be pulled from github, to be more verbose about what is taking place on screen
- gowitness function updated to detect amd64 or arm64 installations, still installs from github
- httprobe, assetfinder, amass are now installed from the kali repo instead of github
- Misc Fixes
- corrected if statement on line 1240 MPP Course Setup
- added function for apt_fixbroken and apt_fixbroken_complete
- removed functions: fix_bloodhound, ask_python39, fix_python39, fix_resopnder
- addded -o Dpkg::Progress-Fancy="1" to all apt operations for fancy progress bars
- moved virt-what to be installed much earlier in the script
- general code cleanup
- Menu option B restored to BlindPenTesters - TheEssentials
# Revision 1.5.9 - gowitness update # Revision 1.5.9 - gowitness update
- due to a new line error, pimpmykali is now hardcoded to pull gowitness 2.4.1 - due to a new line error, pimpmykali is now hardcoded to pull gowitness 2.4.1
until the new line error in gowitness 2.4.2 is resolved. until the new line error in gowitness 2.4.2 is resolved.

View File

@ -9,7 +9,7 @@
# Standard Disclaimer: Author assumes no liability for any damage # Standard Disclaimer: Author assumes no liability for any damage
# revision var # revision var
revision="1.5.9" revision="1.6.0"
# unicorn puke: # unicorn puke:
red=$'\e[1;31m' red=$'\e[1;31m'
@ -71,10 +71,23 @@
finduser=$(logname) finduser=$(logname)
detected_env="" detected_env=""
pyver=$(python3 --version | awk '{print$2}' | cut -d "." -f1-2)
archtype=$(uname -m)
if [[ "$archtype" == "aarch64" ]];
then
arch="arm64"
fi
if [[ "$archtype" == "x86_64" ]];
then
arch="amd64"
fi
# for vbox_fix_shared_folder_permission_denied # for vbox_fix_shared_folder_permission_denied
findgroup=$(groups $finduser | grep -i -c "vboxsf") findgroup=$(groups $finduser | grep -i -c "vboxsf")
# Logging # Logging
LOG_FILE=pimpmykali.log LOG_FILE=pimpmykali.log
exec > >(tee ${LOG_FILE}) 2>&1 exec > >(tee ${LOG_FILE}) 2>&1
@ -94,24 +107,6 @@ check_distro() {
fi fi
} }
# May change check_distro
# check_distro() {
# # distro=$(uname -a | grep -i -c "kali") # distro check
# # may change the distro check
#
# if [ -f /etc/os-release ]
# then
# distro=$(cat /etc/os-release | grep -c "kali")
# if [ $distro = 0 ]
# then echo -e "\n $blinkexclaim Kali Linux Not Detected - WSL/WSL2/Anything else is unsupported $blinkexclaim \n"; exit
# else
# echo "System is Kali Linux - Proceeding..."
# fi
# else
# echo "Unable to determine distro - /etc/os-release does not exist"
# fi
check_for_root () { check_for_root () {
if [ "$EUID" -ne 0 ] if [ "$EUID" -ne 0 ]
then echo -e "\n\n Script must be run with sudo ./pimpmykali.sh or as root \n" then echo -e "\n\n Script must be run with sudo ./pimpmykali.sh or as root \n"
@ -128,12 +123,12 @@ fix_section () {
then then
# sanity check : force=0 check=0 or force=1 check=0 # sanity check : force=0 check=0 or force=1 check=0
echo -e "\n $greenplus install : $section" echo -e "\n $greenplus install : $section"
eval apt -y install $section $silent eval apt -o Dpkg::Progress-Fancy="1" -y install $section $silent
elif [ $force = 1 ] elif [ $force = 1 ]
then then
# sanity check : force=1 check=1 # sanity check : force=1 check=1
echo -e "\n $redstar reinstall : $section" echo -e "\n $redstar reinstall : $section"
eval apt -y reinstall $section $silent eval apt -o Dpkg::Progress-Fancy="1" -y reinstall $section $silent
else else
# sanity check : force=0 check=1 # sanity check : force=0 check=1
echo -e "\n $greenminus $section already installed" echo -e "\n $greenminus $section already installed"
@ -146,17 +141,17 @@ fix_section () {
apt_update() { apt_update() {
echo -e "\n $greenplus running: apt update \n" echo -e "\n $greenplus running: apt update \n"
eval apt -y update eval apt -y update -o Dpkg::Progress-Fancy="1"
} }
apt_upgrade() { apt_upgrade() {
echo -e "\n $greenplus running: apt upgrade \n" echo -e "\n $greenplus running: apt upgrade \n"
eval apt -y upgrade eval apt -y upgrade -o Dpkg::Progress-Fancy="1"
} }
apt_autoremove() { apt_autoremove() {
echo -e "\n $greenplus running: apt autoremove \n" echo -e "\n $greenplus running: apt autoremove \n"
eval apt -y autoremove eval apt -y autoremove -o Dpkg::Progress-Fancy="1"
} }
apt_update_complete() { apt_update_complete() {
@ -171,7 +166,16 @@ apt_autoremove_complete() {
echo -e "\n $greenplus apt autoremove - complete" echo -e "\n $greenplus apt autoremove - complete"
} }
apt_fixbroken() {
apt -y --fix-broken install
}
apt_fixbroken_complete() {
echo -e "\n $greenplus apt -y --fix-broken install - complete"
}
fix_missing () { fix_missing () {
fix_kali_lightdm_theme_and_background
fix_sources fix_sources
fix_hushlogin # 06.18.2021 - added fix for .hushlogin file fix_hushlogin # 06.18.2021 - added fix for .hushlogin file
apt_update && apt_update_complete apt_update && apt_update_complete
@ -180,7 +184,8 @@ fix_missing () {
eval apt -y remove kali-undercover $silent eval apt -y remove kali-undercover $silent
# 02.01.2020 - Added cifs-utils and libguestfs-tools as they are require for priv escalation # 02.01.2020 - Added cifs-utils and libguestfs-tools as they are require for priv escalation
# 10.05.2021 - Added dbus-x11 as it has become a common problem for those wanting to use gedit # 10.05.2021 - Added dbus-x11 as it has become a common problem for those wanting to use gedit
eval apt -y install neo4j dkms build-essential autogen automake python-setuptools python3-setuptools python3-distutils python3.9-dev libguestfs-tools cifs-utils dbus-x11 $silent # 01.15.2023 - Added libu2f-udev and moved virt-what to an earlier section of the script
eval apt -o Dpkg::Progress-Fancy="1" -y install libu2f-udev virt-what neo4j dkms build-essential autogen automake python-setuptools python3-setuptools python3-distutils python'$pyver'-dev libguestfs-tools cifs-utils dbus-x11 $silent
# check_python # 07.02.21 - check_python check if python is symlinked to python2 if not, make it point to python2 # check_python # 07.02.21 - check_python check if python is symlinked to python2 if not, make it point to python2
python-pip-curl python-pip-curl
python3_pip $force python3_pip $force
@ -204,14 +209,14 @@ fix_missing () {
check_chrome check_chrome
fix_gowitness # 01.27.2021 added due to 404 errors with go get -u github.com/sensepost/gowitness fix_gowitness # 01.27.2021 added due to 404 errors with go get -u github.com/sensepost/gowitness
fix_mitm6 # 05.09.2022 - added mitm6 to fix missing fix_mitm6 # 05.09.2022 - added mitm6 to fix missing
# fix_qterminal_history
} }
fix_all () { fix_all () {
fix_missing $force fix_missing $force
apt_autoremove && apt_autoremove_complete
apt_fixbroken && apt_fixbroken_complete
make_rootgreatagain $force make_rootgreatagain $force
seclists $force seclists
install_atom
fix_flameshot $force fix_flameshot $force
fix_grub fix_grub
fix_smbconf fix_smbconf
@ -222,20 +227,17 @@ fix_all () {
# called as sub-function call of fix_all or fix_upgrade itself # called as sub-function call of fix_all or fix_upgrade itself
} }
#fix_kali_lightdm_theme_and_background() fix_kali_lightdm_theme_and_background () {
# { # set kali lightdm login theme from Kali-Light to Kali-Dark
# lightdm theme change to light or dark mode sed s:"Kali-Light":"Kali-Dark":g -i /etc/lightdm/lightdm-gtk-greeter.conf
# dark to light theme
# set kali lightdm login theme from Kali-Light to Kali-Dark # set kali login-theme to Kali-Light from Dark theme
# sed s:"Kali-Light":"Kali-Dark":g -i /etc/lightdm/lightdm.conf # sed s:"Kali-Dark":"Kali-Light":g -i /etc/lightdm/lightdm.conf
# dark to light theme
# set kali login-theme to Kali-Light from Dark theme # set kali background to solid black color
# sed s:"Kali-Dark":"Kali-Light":g -i /etc/lightdm/lightdm.conf # sed s:"background = /usr/share/desktop-base/kali-theme/login/background":"background = #000000":g
}
# set kali background to solid black color
# sed s:"background = /usr/share/desktop-base/kali-theme/login/background":"background = #000000":g
# }
fix_libwacom() { fix_libwacom() {
eval apt -y install libwacom-common eval apt -y install libwacom-common
@ -243,10 +245,9 @@ fix_libwacom() {
} }
fix_assetfinder () { fix_assetfinder () {
echo -e "\n $greenplus Installing Assetfinder precompiled binary ... " echo -e "\n $greenplus Installing Assetfinder precompiled binary for $arch ... "
[[ -f /usr/bin/assetfinder ]] && rm -f /usr/bin/assetfinder || echo > /dev/null [[ -f /usr/bin/assetfinder ]] && rm -f /usr/bin/assetfinder || echo > /dev/null
eval wget https://github.com/tomnomnom/assetfinder/releases/download/v0.1.1/assetfinder-linux-amd64-0.1.1.tgz -O /tmp/assetfinder.tgz eval apt -y install assetfinder
tar xvfz /tmp/assetfinder.tgz -C /usr/bin/
} }
fix_httprobe() { # 01.04.22 - added httprobe precompiled binary to fix_missing fix_httprobe() { # 01.04.22 - added httprobe precompiled binary to fix_missing
@ -261,22 +262,12 @@ fix_httprobe() { # 01.04.22 - added httprobe precompiled binary to fix_missing
} }
fix_amass() { fix_amass() {
echo -e "\n $greenplus installing amass" echo -e "\n $greenplus installing amass for $arch "
# rewrite this for pull from Kali Repo using APT not wget from github # 01.15.2023 rev 1.6.0 - Function updated for $arch detection amd64 or arm64
eval wget https://github.com/OWASP/Amass/releases/download/v3.13.4/amass_linux_amd64.zip -O /tmp/amass_linux_amd64.zip echo apt -y install amass
cd /tmp
unzip amass_linux_amd64.zip
cp /tmp/amass_linux_amd64/amass /usr/bin
rm -rf /tmp/amass*
echo -e "\n $greenplus amass installed" echo -e "\n $greenplus amass installed"
} }
fix_assetfinder () {
eval wget https://github.com/tomnomnom/assetfinder/releases/download/v0.1.1/assetfinder-linux-amd64-0.1.1.tgz -O /tmp/assetfinder
tar xvfz /tmp/assetfinder.tgz -C /usr/bin
}
fix_pyftpdlib() { fix_pyftpdlib() {
echo -e "\n $greenplus installing pyftpdlib" echo -e "\n $greenplus installing pyftpdlib"
eval pip install pyftpdlib eval pip install pyftpdlib
@ -290,11 +281,19 @@ check_chrome(){
# 04.06.21 - rev 1.2.2 - add google-chrome due to gowitness dependancy # 04.06.21 - rev 1.2.2 - add google-chrome due to gowitness dependancy
fix_chrome() { fix_chrome() {
echo -e "\n $greenplus Gowitness dependancy fix: Downloading - google-chrome \n" if [[ "$arch" == "arm64" ]];
eval wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/google-chrome-stable_current_amd64.deb then
echo -e "\n $greenplus Gowitness dependancy fix: Installing - google-chrome \n" echo -e "\n $redexclaim Google-Chrome is not available for this platform $arch -- skipping"
eval dpkg -i /tmp/google-chrome-stable_current_amd64.deb elif [[ "$arch" == "amd64" ]];
rm -f /tmp/google-chrome-stable_current_amd64.deb then
# need if statement here if arm64 , chrome does not exist in kali linux on arm64 as of yet
echo -e "\n $greenplus Gowitness dependancy fix: Downloading - google-chrome for $arch \n"
eval wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/google-chrome-stable_current_amd64.deb
#eval wget https://dl.google.com/linux/deb/pool/main/g/google-chrome-stable/google-chrome-stable_109.0.5414.74-1_amd64.deb -O /tmp/google-chrome-stable_current_amd64.deb
echo -e "\n $greenplus Gowitness dependancy fix: Installing - google-chrome for $arch \n"
eval dpkg -i /tmp/google-chrome-stable_current_amd64.deb
rm -f /tmp/google-chrome-stable_current_amd64.deb
fi
} }
# 06.18.2021 - fix_hushlogin rev 1.2.9 # 06.18.2021 - fix_hushlogin rev 1.2.9
@ -320,34 +319,6 @@ fix_hushlogin() {
fi fi
} }
# Wont work if qterminal is the active terminal running pimpmykali - find another way
# 08.18.2021 - fix_qterminal_history - set history for unlimited scrollback
# fix_qterminal_history() {
# findrealuser=$(who | awk '{print $1}')
# if [[ $findrealuser = "root" ]]
# then
# check_qterminal=$(sudo -i -u $findrealuser cat /root/.config/qterminal.org/qterminal.ini | grep -c "HistoryLimited=true")
# if [[ $check_qterminal = 1 ]]
# then
# echo -e "\n $greenplus Qterminal for $findrealuser not set for unlimited scrollback - fixing"
# sudo -i -u $findrealuser cat /root/.config/qterminal.org/qterminal.ini | sed s:"HistoryLimited=true":"HistoryLimited=false":g > /tmp/tmp_qterminal.ini
# sudo -i -u $findrealuser cp -f /tmp/tmp_qterminal.ini /root/.config/qterminal.org/qterminal.ini
# else
# echo -e "\n $greenplus Qterminal $findrealuser already set for unlimited scrollback - skipping"
# fi
# else
# check_qterminal=$(sudo -i -u $findrealuser cat /home/$findrealuser/.config/qterminal.org/qterminal.ini | grep -c "HistoryLimited=true")
# if [[ $check_qterminal = 1 ]]
# then
# echo -e "\n $greenplus Qterminal for $findrealuser not set for unlimited scrollback - fixing"
# sudo -i -u $findrealuser cat /home/$findrealuser/.config/qterminal.org/qterminal.ini | sed s:"HistoryLimited=true":"HistoryLimited=false":g > /tmp/tmp_qterminal.ini
# sudo -i -u $findrealuser cp -f /tmp/tmp_qterminal.ini /home/$findrealuser/.config/qterminal.org/qterminal.ini
# else
# echo -e "\n $greenplus Qterminal for $findrealuser already set for unlimited scrollback - skipping"
# fi
# fi
# }
# 06.18.2021 - disable_power_gnome rev 1.2.9 # 06.18.2021 - disable_power_gnome rev 1.2.9
disable_power_gnome() { disable_power_gnome() {
# CODE CONTRIBUTION : pswalia2u - https://github.com/pswalia2u # CODE CONTRIBUTION : pswalia2u - https://github.com/pswalia2u
@ -497,97 +468,28 @@ python-pip-curl () {
# force= to override force / set force var # force= to override force / set force var
# fix_section $section $check $force # fix_section $section $check $force
fix_bloodhound () {
# Kali 2022.1 - bloodhound 4.1.0 incompatable collectors fix: downgrade to bloodhound 4.0.3
apt_update
eval apt-mark unhold bloodhound # added - revision 1.5.0
eval apt -y install neo4j
echo -e "\n $greenplus Downgrading Bloodhound from current to 4.0.3"
echo -e "\n $greenplus Removing Bloodhound"
eval apt -y remove bloodhound
echo -e "\n $greenplus Purging Bloodhound"
eval apt -y purge bloodhound
echo -e "\n $greenplus Downloading Bloodhound 4.0.3"
eval wget http://old.kali.org/kali/pool/main/b/bloodhound/bloodhound_4.0.3-0kali1_amd64.deb -O /tmp/bloodhound403.deb
echo -e "\n $greenplus Installing Bloodhound 4.0.3"
echo -e "\n $greenplus Note: This process may take several minutes to complete..."
eval dpkg -i /tmp/bloodhound403.deb
echo -e "\n $greenplus Bloodhound package marked with hold to prevent upgrading"
eval apt-mark hold bloodhound
echo -e "\n $greenplus Cleaning up"
eval rm -f /tmp/bloodhound403.deb
echo -e "\n $greenplus Complete - Bloodhound Downgraded to v4.0.3"
}
# 01.26.2021 - rev 1.1.5 - Current version of spike throws undefined symbol error, revert to old version # 01.26.2021 - rev 1.1.5 - Current version of spike throws undefined symbol error, revert to old version
# 01.15.2023 - rev 1.6.0 - Updated to use $arch variable for amd64 or arm64
fix_spike () { fix_spike () {
echo -e "\n $greenplus Fix SPIKE " echo -e "\n $greenplus Fix SPIKE "
echo -e "\n $greenplus removing SPIKE..." echo -e "\n $greenplus removing SPIKE..."
eval apt -y --allow-change-held-packages remove spike eval apt -y --allow-change-held-packages remove spike
# curl --progress-bar # curl --progress-bar
eval wget http://old.kali.org/kali/pool/main/s/spike/spike_2.9-1kali6_amd64.deb -O /tmp/spike_2.9-1kali6_amd64.deb eval wget http://old.kali.org/kali/pool/main/s/spike/spike_2.9-1kali6_$arch.deb -O /tmp/spike_2.9-1kali6_$arch.deb
echo -e "\n $greenplus installing spike 2.9... \n" echo -e "\n $greenplus installing spike 2.9 for $arch ... \n"
eval dpkg -i /tmp/spike_2.9-1kali6_amd64.deb eval dpkg -i /tmp/spike_2.9-1kali6_$arch.deb
echo -e "\n $greenplus spike 2.9 installed \n" echo -e "\n $greenplus spike 2.9 installed \n"
rm -f /tmp/spike_2.9-1kali6_amd64.deb rm -f /tmp/spike_2.9-1kali6_$arch.deb
echo -e "\n $greenplus setting apt hold on spike package" echo -e "\n $greenplus setting apt hold on spike package"
eval apt-mark hold spike eval apt-mark hold spike
echo -e "\n $greenplus apt hold placed on spike package" echo -e "\n $greenplus apt hold placed on spike package"
} }
# 05.09.2022 - rev 1.5.5 - Ask before installing python3.9 for fix_responder fix_python39 is not going to ask about it
ask_python39 () {
echo -e "\n Do you wish to continue?"
read -n1 -p " Please enter Y or N : " userinput
case $userinput in
y|Y) fix_python39;;
n|N) echo -e "\n\n $redexclaim User selected No - Exiting"; exit;;
*) echo -e "\n\n $redexclaim Invalid key try again, Y or N keys only $redexclaim"; ask_python39;;
esac
}
# 05.09.2022 - rev 1.5.5 - Install python3.9-full and python3.9-dbg and resymlink /bin/python3.9 to /bin/python3
fix_python39 () {
#
check_python_version=$(/usr/bin/python3 --version | grep -i -c "3.10")
if [[ $check_python_version == 1 ]];
then
echo -e "\n $greenplus Python 3.9 fix: Installing Python3.9"
eval apt -y install python3.9-full python3.9-dev
echo -e "\n $greenplus Re-Symlinking /bin/python3.9 to /bin/python3"
ln -sf /bin/python3.9 /bin/python3
echo -e "\n It is highly advised to add the following to your .bashrc or .zshrc"
echo -e " export PYTHONWARNINGS=ignore"
else
echo -e "\n $greenminus Python 3.10 not detected"
fi
}
# 05.09.2022 - rev 1.5.5 - updated function with python3.9 fix and warning + prompt
fix_responder () {
echo -e "\n\n $redexclaim This is a 2 part fix for Responder and Python3.9 $redexclaim"
echo -e "\n Python3.9 will be installed and /bin/python3.9 will be symlinked to /bin/python3"
echo -e " then Responder 3.0.6.0 will be installed"
ask_python39
PYTHONWARNINGS="ignore"
export PYTHONWARNINGS="ignore"
echo -e "\n $greenplus Fix Responder: Downloading Responder 3.0.6.0"
eval wget http://old.kali.org/kali/pool/main/r/responder/responder_3.0.6.0-0kali2_all.deb -O /tmp/responder3060.deb
echo -e "\n $greenplus Fix Responder: Uninstalling current Responder"
eval apt update
eval apt -y remove responder
echo -e "\n $greenplus Fix Responder: Package hold Responder"
eval apt-mark hold responder
echo -e "\n $greenplus Fix Responder: Installing Responder 3.0.6.0"
sudo dpkg -i /tmp/responder3060.deb >/dev/null 2>&1
rm -f /tmp/responder3060.deb
echo -e "\n $greenplus Fix Responder - Complete"
}
fix_mitm6() { fix_mitm6() {
[[ -d /opt/mitm6 ]] && rm -rf /opt/mitm6 || git clone https://github.com/dirkjanm/mitm6 /opt/mitm6 [[ -d /opt/mitm6 ]] && rm -rf /opt/mitm6 || git clone https://github.com/dirkjanm/mitm6 /opt/mitm6
git clone https://github.com/dirkjanm/mitm6 /opt/mitm6 git clone https://github.com/dirkjanm/mitm6 /opt/mitm6
cd /opt/mitm6 cd /opt/mitm6
pip install typing twisted
pip install -r requirements.txt pip install -r requirements.txt
python setup.py install python setup.py install
echo -e "\n $greenplus MITM6 installed.. " echo -e "\n $greenplus MITM6 installed.. "
@ -598,11 +500,8 @@ fix_gowitness () {
rm -f /tmp/releases.gowitness > /dev/null rm -f /tmp/releases.gowitness > /dev/null
check_chrome check_chrome
rm -f /usr/bin/gowitness > /dev/null rm -f /usr/bin/gowitness > /dev/null
#eval wget https://github.com/sensepost/gowitness/releases -O /tmp/releases.gowitness # 01.15.2023 rev 1.6.0 updated with $arch variable for amd64 or arm64 detected by pimpmykali
#current_build=$(cat /tmp/releases.gowitness | grep -i "<a href=\"/sensepost/gowitness/releases/download/" | grep -i -m1 linux | cut -d "\"" -f2) eval wget https://github.com/sensepost/gowitness/releases/download/2.4.1/gowitness-2.4.1-linux-$arch -O /usr/bin/gowitness
#eval wget https://github.com$current_build -O /usr/bin/gowitness
# Updated code to only pull 2.4.1 of GoWitness as there is a no new line error with 2.4.2
eval wget https://github.com/sensepost/gowitness/releases/download/2.4.1/gowitness-2.4.1-linux-amd64 -O /usr/bin/gowitness
chmod +x /usr/bin/gowitness chmod +x /usr/bin/gowitness
rm -f /tmp/releases.gowitness > /dev/null rm -f /tmp/releases.gowitness > /dev/null
} }
@ -630,7 +529,7 @@ fix_set() {
fix_rockyou () { fix_rockyou () {
cd /usr/share/wordlists cd /usr/share/wordlists
gzip -dq /usr/share/wordlists/rockyou.txt.gz gzip -dqf /usr/share/wordlists/rockyou.txt.gz
echo -e "\n $greenplus gunzip /usr/share/wordlists/rockyou.txt.gz\n" echo -e "\n $greenplus gunzip /usr/share/wordlists/rockyou.txt.gz\n"
} }
@ -655,9 +554,19 @@ python3_pip () {
} }
seclists () { seclists () {
section="seclists" #section="seclists"
check=$(whereis seclists | grep -i -c "seclists: /usr/bin/seclists /usr/share/seclists") # Function changed 01.15.2023 rev 1.6.0 many users were thinking the script was "stuck" with no info being displayed
fix_section $section $check $force if [[ -d /usr/share/seclists ]];
then
echo -e "\n $greenplus /usr/share/seclists already exists -- skipping"
else
echo -e "\n $greenplus Download Seclists to /tmp/SecLists.zip"
eval wget https://github.com/danielmiessler/SecLists/archive/master.zip -O /tmp/SecList.zip
echo -e "\n $greenplus Extracing /tmp/Seclists.zip to /usr/share/seclists"
unzip -o /tmp/SecList.zip -d /usr/share/seclists
rm -f /tmp/SecList.zip
echo -e "\n $greenplus Seclists complete"
fi
} }
fix_nmap () { fix_nmap () {
@ -790,20 +699,21 @@ fix_bad_apt_hash () {
echo "all" > /etc/gcrypt/hwf.deny echo "all" > /etc/gcrypt/hwf.deny
} }
install_atom () { # Update this function with the new fork as atom was deprecated
if [ -f /usr/bin/atom ] # install_atom () {
then # if [ -f /usr/bin/atom ]
echo -e "\n $greenminus atom already installed - skipping" # then
else # echo -e "\n $greenminus atom already installed - skipping"
apt_update && apt_update_complete # else
echo -e "\n $greenplus downloading atom" # apt_update && apt_update_complete
eval wget https://atom.io/download/deb -O /tmp/atom.deb $silent # echo -e "\n $greenplus downloading atom"
echo -e "\n $greenplus installing atom" # eval wget https://atom.io/download/deb -O /tmp/atom.deb $silent
eval dpkg -i /tmp/atom.deb $silent # echo -e "\n $greenplus installing atom"
eval rm -f /tmp/atom.deb $silent # eval dpkg -i /tmp/atom.deb $silent
eval apt -y --fix-broken install $silent # eval rm -f /tmp/atom.deb $silent
fi # eval apt -y --fix-broken install $silent
} # fi
# }
install_sublime () { install_sublime () {
echo -e "\n $greenplus installing sublime text editor" echo -e "\n $greenplus installing sublime text editor"
@ -1154,20 +1064,8 @@ bpt () {
exit_screen exit_screen
} }
#downgrade_msf () {
# echo -e "\n $greenplus Downgrading Metasploit from v6.x to 5.1.101 \n"
# eval apt -y remove metasploit-framework
# wget https://archive.kali.org/kali/pool/main/m/metasploit-framework/metasploit-framework_5.0.101-0kali1%2Bb1_amd64.deb -O /tmp/metasploit-framework_5.deb
# eval dpkg -i /tmp/metasploit-framework_5.deb
# eval gem cleanup reline
# eval msfdb init
# rm -f /tmp/metasploit-framework_5.deb
# apt-mark hold metasploit-framework
# echo -e "\n $greenplus metasploit downgraded \n"
# echo -e "\n $greenplus hold placed on metasploit-framework \n"
# }
# Upgraded virt-what function - 04.07.2021 rev 1.2.2 # Upgraded virt-what function - 04.07.2021 rev 1.2.2
# 01.15.2023 - Virt-What installed much earlier in the script, function is now redundant
virt_what() { virt_what() {
[ -f "/usr/sbin/virt-what" ] && virtwhat=1 || virtwhat=0 [ -f "/usr/sbin/virt-what" ] && virtwhat=1 || virtwhat=0
@ -1224,7 +1122,7 @@ check_vm() {
echo -e "\n $greenplus detecting hypervisor type \n" echo -e "\n $greenplus detecting hypervisor type \n"
vbox_check=$(virt-what | grep -i -c "virtualbox") # virtualbox check vbox_check=$(virt-what | grep -i -c "virtualbox") # virtualbox check
vmware_check=$(virt-what | grep -i -c "vmware") # vmware check - vmware check works on Mac VMWare Fusion vmware_check=$(virt-what | grep -i -c "vmware") # vmware check - vmware check works on Mac VMWare Fusion
qemu_check=$(virt-what | grep -i -c "qemu\|kvm") # m4ul3r Qemu/libvirt check qemu_check=$(virt-what | grep -i -c "qemu\|kvm") # m4ul3r Qemu/libvirt check
if [ $vbox_check = 1 ] if [ $vbox_check = 1 ]
then then
echo -e "\n $greenplus *** VIRTUALBOX DETECTED *** \n" echo -e "\n $greenplus *** VIRTUALBOX DETECTED *** \n"
@ -1267,8 +1165,8 @@ mapt_prereq() {
python3_pip python3_pip
apt_update apt_update
echo -e "\n $greenplus Installing tools for MAPT Course Requirements" echo -e "\n $greenplus Installing tools for MAPT Course Requirements"
echo -e " $greenplus python3.9-venv aapt apktool adb apksigner zipalign wkhtmltopdf default-jdk jadx" echo -e " $greenplus python'$pyver'-venv aapt apktool adb apksigner zipalign wkhtmltopdf default-jdk jadx"
apt -y install python3.9-venv aapt apktool adb apksigner zipalign wkhtmltopdf default-jdk jadx apt -y install python'$pyver'-venv aapt apktool adb apksigner zipalign wkhtmltopdf default-jdk jadx
echo -e "\n $greenplus git cloning mobsf to /opt" echo -e "\n $greenplus git cloning mobsf to /opt"
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF /opt/Mobile-Security-Framework-MobSF git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF /opt/Mobile-Security-Framework-MobSF
echo -e "\n $greenplus Installing MobSF" echo -e "\n $greenplus Installing MobSF"
@ -1306,10 +1204,8 @@ mayor_mpp() {
# additions to PMK 1.3.0 - Mayor MPP Course additions # additions to PMK 1.3.0 - Mayor MPP Course additions
fix_sources fix_sources
apt_update && apt_update_complete apt_update && apt_update_complete
# check_msfversion=$(apt list --installed | grep -i metasploit | cut -d " " -f2 | cut -d "." -f1)
# add check for msf version? if not 5 then place hold before upgrade and then downgrade
apt_upgrade && apt_upgrade_complete apt_upgrade && apt_upgrade_complete
# downgrade_msf apt_autoremove && apt_autoremove_complete
echo -e "\n $greenplus installing apt-transport-https dnsutils dotnet-sdk-3.1" echo -e "\n $greenplus installing apt-transport-https dnsutils dotnet-sdk-3.1"
apt -y install apt-transport-https dnsutils dotnet-sdk-3.1 apt -y install apt-transport-https dnsutils dotnet-sdk-3.1
# download directly to /tmp and install # download directly to /tmp and install
@ -1341,7 +1237,7 @@ mayor_mpp() {
#make desktop icon #make desktop icon
findrealuser=$(who | awk '{print $1}') findrealuser=$(who | awk '{print $1}')
if [ $findrealuser == "root" ] if [[ $findrealuser == "root" ]];
then then
echo -e "\n $greenplus creating desktop icon /root/Desktop/Start Covenent" echo -e "\n $greenplus creating desktop icon /root/Desktop/Start Covenent"
echo '[Desktop Entry]' > /root/Desktop/"Start Covenant.desktop" echo '[Desktop Entry]' > /root/Desktop/"Start Covenant.desktop"
@ -1381,9 +1277,7 @@ get_mirrorlist() {
# relaxed grep should now work with tracelabs osint vm - 12.11.2021 # relaxed grep should now work with tracelabs osint vm - 12.11.2021
mod_deb=$(cat /etc/apt/sources.list | grep -c "deb http\:\/\/.* kali\-rolling.*") mod_deb=$(cat /etc/apt/sources.list | grep -c "deb http\:\/\/.* kali\-rolling.*")
mod_debsrc=$(cat /etc/apt/sources.list | grep -c "deb-src http\:\/\/.* kali\-rolling.*") mod_debsrc=$(cat /etc/apt/sources.list | grep -c "deb-src http\:\/\/.* kali\-rolling.*")
# original code - to be purged
#mod_deb=$(cat /etc/apt/sources.list | grep -c "deb http\:\/\/.* kali\-rolling main contrib non\-free")
#mod_debsrc=$(cat /etc/apt/sources.list | grep -c "deb-src http\:\/\/.* kali\-rolling main contrib non\-free")
if [[ $mod_deb = 1 ]] if [[ $mod_deb = 1 ]]
then then
echo -e "\n $greenplus deb http://*/kali found in /etc/apt/sources.list" echo -e "\n $greenplus deb http://*/kali found in /etc/apt/sources.list"
@ -1398,8 +1292,7 @@ get_mirrorlist() {
echo -e "\n $redexclaim Unable to find deb-src in /etc/apt/sources.list" echo -e "\n $redexclaim Unable to find deb-src in /etc/apt/sources.list"
exit_screen exit_screen
fi fi
# specific mirror testing point, uncomment echo statement, comment-out curl statement
# echo "http://ftp2.nluug.nl/os/Linux/distr/kali/README" > /tmp/timetest.list
curl -s http://http.kali.org/README.mirrorlist | grep -i "README" | cut -d ">" -f2 | cut -d "\"" -f2 | grep -i "http://" | \ curl -s http://http.kali.org/README.mirrorlist | grep -i "README" | cut -d ">" -f2 | cut -d "\"" -f2 | grep -i "http://" | \
sed s:"http\:\/\/http.kali.org\/README.meta4":"":g | sed s:"http\:\/\/http.kali.org\/README.metalink":"":g | sort -u > /tmp/timetest.list sed s:"http\:\/\/http.kali.org\/README.meta4":"":g | sed s:"http\:\/\/http.kali.org\/README.metalink":"":g | sort -u > /tmp/timetest.list
} }
@ -1454,9 +1347,6 @@ large_speedtest() {
gen_new_sources() { gen_new_sources() {
i=$(cat /tmp/mirrors_speedtest | sort -n | tail -n1 | cut -d "/" -f3) i=$(cat /tmp/mirrors_speedtest | sort -n | tail -n1 | cut -d "/" -f3)
final_mirror=$(cat /tmp/timetest.list | grep "$i" | sed s:"http\:\/\/":"":g | sed s:"/README":"":g ) final_mirror=$(cat /tmp/timetest.list | grep "$i" | sed s:"http\:\/\/":"":g | sed s:"/README":"":g )
# original code - to be purged
# newdeb=$(cat /etc/apt/sources.list | grep "deb http\:\/\/.* kali\-rolling main contrib non\-free" | sed s:"deb http\:\/\/.* kali\-rolling main contrib non\-free":"deb http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g)
# newdebsrc=$(cat /etc/apt/sources.list | grep "deb-src http\:\/\/.* kali\-rolling main contrib non\-free" | sed s:"deb-src http\:\/\/.* kali\-rolling main contrib non\-free":"deb\-src http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g )
# --- relaxed grep and sed, implement at later date 12.11.2021 - should now work with tracelabs osint vm # --- relaxed grep and sed, implement at later date 12.11.2021 - should now work with tracelabs osint vm
newdeb=$(cat /etc/apt/sources.list | grep "deb http\:\/\/.* kali\-rolling.*" | sed s:"deb http\:\/\/.* kali\-rolling.*":"deb http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g) newdeb=$(cat /etc/apt/sources.list | grep "deb http\:\/\/.* kali\-rolling.*" | sed s:"deb http\:\/\/.* kali\-rolling.*":"deb http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g)
newdebsrc=$(cat /etc/apt/sources.list | grep "deb-src http\:\/\/.* kali\-rolling.*" | sed s:"deb-src http\:\/\/.* kali\-rolling.*":"deb\-src http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g ) newdebsrc=$(cat /etc/apt/sources.list | grep "deb-src http\:\/\/.* kali\-rolling.*" | sed s:"deb-src http\:\/\/.* kali\-rolling.*":"deb\-src http\:\/\/"$final_mirror" kali\-rolling main contrib non\-free":g )
@ -1505,6 +1395,17 @@ fix_ssh() {
fi fi
} }
fix_keyboard() {
sudo /bin/bash --rcfile /home/$finduser/.bashrc -ic 'dpkg-reconfigure keyboard-configuration'
}
fix_timezone() {
sudo /bin/bash --rcfile /home/$finduser/.bashrc -ic 'dpkg-reconfigure tzdata' 2>/dev/null
echo -e "\n $greenplus Timezone now set to: $(cat /etc/timezone)"
}
# ascii art - DONT move # ascii art - DONT move
asciiart=$(base64 -d <<< "H4sIAAAAAAAAA31QQQrCQAy89xVz9NR8QHoQH+BVCATBvQmC asciiart=$(base64 -d <<< "H4sIAAAAAAAAA31QQQrCQAy89xVz9NR8QHoQH+BVCATBvQmC
CEXI480kXdteTJfdzGQy2S3wi9EM/2MnSDm3oUoMuJlX3hmsMMSjA4uAtUTsSQ9NUkkKVgKKBX CEXI480kXdteTJfdzGQy2S3wi9EM/2MnSDm3oUoMuJlX3hmsMMSjA4uAtUTsSQ9NUkkKVgKKBX
@ -1515,7 +1416,7 @@ pimpmykali_menu () {
# DATE=$(date +%x); TIME=$(date +%X) # DATE=$(date +%x); TIME=$(date +%X)
clear clear
echo -e "$asciiart" echo -e "$asciiart"
echo -e "\n Select an option from menu: Rev:$revision" echo -e "\n Select an option from menu: Rev: $revision Arch: $arch"
# echo -e "\n *** APT UPGRADE WILL ONLY BE CALLED FROM MENU OPTION 9 ***" # echo -e "\n *** APT UPGRADE WILL ONLY BE CALLED FROM MENU OPTION 9 ***"
# echo -e "\n Menu Options:" # function call list # echo -e "\n Menu Options:" # function call list
echo -e "\n Key Menu Option: Description:" echo -e "\n Key Menu Option: Description:"
@ -1524,9 +1425,9 @@ pimpmykali_menu () {
echo -e " 2 - Fix /etc/samba/smb.conf (adds the 2 missing lines)" # fix_smbconf echo -e " 2 - Fix /etc/samba/smb.conf (adds the 2 missing lines)" # fix_smbconf
echo -e " 3 - Fix Golang (installs golang, adds GOPATH= to .zshrc and .bashrc)" # fix_golang echo -e " 3 - Fix Golang (installs golang, adds GOPATH= to .zshrc and .bashrc)" # fix_golang
echo -e " 4 - Fix Grub (adds mitigations=off)" # fix_grub echo -e " 4 - Fix Grub (adds mitigations=off)" # fix_grub
echo -e " 5 - Fix Impacket (installs impacket)" # fix_impacket echo -e " 5 - Fix Impacket (installs impacket)" # fix_impacket
echo -e " 6 - Enable Root Login (installs kali-root-login)" # make_rootgreatagain echo -e " 6 - Enable Root Login (installs kali-root-login)" # make_rootgreatagain
echo -e " 7 - Install Atom (installs atom)" # install_atom #echo -e " 7 - Install Atom (installs atom - disabled)" # install_atom
echo -e " 8 - Fix nmap scripts (clamav-exec.nse and http-shellshock.nse)" # fix_nmap echo -e " 8 - Fix nmap scripts (clamav-exec.nse and http-shellshock.nse)" # fix_nmap
echo -e " 9 - Pimpmyupgrade (apt upgrade with vbox/vmware detection)" # only_upgrade echo -e " 9 - Pimpmyupgrade (apt upgrade with vbox/vmware detection)" # only_upgrade
echo -e " (sources.list, linux-headers, vm-video)" # - echo -e " (sources.list, linux-headers, vm-video)" # -
@ -1538,10 +1439,7 @@ pimpmykali_menu () {
echo -e " Key Stand alone functions: Description:" # optional line echo -e " Key Stand alone functions: Description:" # optional line
echo -e " --- ---------------------- ------------" # optional line echo -e " --- ---------------------- ------------" # optional line
echo -e " O - Fix SSH (Enable SSH wide compatibility + legacy ciphers)" # fix_ssh echo -e " O - Fix SSH (Enable SSH wide compatibility + legacy ciphers)" # fix_ssh
# echo -e " R - Fix Responder (Downgrade Responder to v3.0.6.0) + Python3.9 fix" # fix_responder echo -e " B - BPT - TheEssentials (BlindPentesters TheEssentials aprox 8GB of tools)" # bpt function
# echo -e " P - Downgrade to Python3.9 (Only install python3.9 and resymlink /bin/python3)" # fix_python39
echo -e " B - Fix Bloodhound (Downgrade Bloodhound to v4.0.3)" # sorry blind, need the letter B... was bpt function
# echo -e " D - Downgrade Metasploit (Downgrade from MSF6 to MSF5)" # downgrade_msf
echo -e " I - Install MITM6 (install mitm6 from github)" # fix_mitm6 echo -e " I - Install MITM6 (install mitm6 from github)" # fix_mitm6
echo -e " C - Missing Google-Chrome (install google-chrome only)" # check_chrome / fix_chrome echo -e " C - Missing Google-Chrome (install google-chrome only)" # check_chrome / fix_chrome
echo -e " S - Fix Spike (remove spike and install spike v2.9)" # fix_spike echo -e " S - Fix Spike (remove spike and install spike v2.9)" # fix_spike
@ -1551,12 +1449,9 @@ pimpmykali_menu () {
echo -e " L - Install Sublime Editor (install the sublime text editor)" # install_sublime echo -e " L - Install Sublime Editor (install the sublime text editor)" # install_sublime
echo -e " M - Mayors MPP Course Setup (adds requirments for Mayors MPP Course)" # mayor_mpp echo -e " M - Mayors MPP Course Setup (adds requirments for Mayors MPP Course)" # mayor_mpp
echo -e " A - MAPT Course Setup (adds requirments for MAPT Course)" # mapt_course echo -e " A - MAPT Course Setup (adds requirments for MAPT Course)" # mapt_course
#echo -e " P - Disable PowerManagement (Gnome/XFCE Detection Disable Power Management)" # disable_power_checkde # Thanks pswalia2u!!
echo -e " W - Gowitness Precompiled (download and install gowitness)" # fix_gowitness echo -e " W - Gowitness Precompiled (download and install gowitness)" # fix_gowitness
echo -e " V - Install MS-Vscode (install microsoft vscode only)" # install_vscode echo -e " V - Install MS-Vscode (install microsoft vscode only)" # install_vscode
echo -e " ! - Nuke Impacket (Type the ! character for this menu item)\n" # fix_sead_warning echo -e " ! - Nuke Impacket (Type the ! character for this menu item)\n" # fix_sead_warning
#echo -e " Q - Fix Qterminal Scrollback set qterminal history to unlimited scrollback" # fix_qterminal_history
#echo -e "\n"
read -n1 -p " Press key for menu item selection or press X to exit: " menuinput read -n1 -p " Press key for menu item selection or press X to exit: " menuinput
case $menuinput in case $menuinput in
@ -1566,27 +1461,25 @@ pimpmykali_menu () {
4) fix_grub;; 4) fix_grub;;
5) fix_impacket;; 5) fix_impacket;;
6) make_rootgreatagain;; 6) make_rootgreatagain;;
7) install_atom;; 7) pimpmykali_menu;;
8) fix_nmap ;; 8) fix_nmap ;;
9) apt_update; fix_libwacom; only_upgrade;; 9) apt_update; fix_libwacom; only_upgrade;;
0) fix_all; run_update; virt_what; check_vm;; 0) fix_all; run_update; virt_what; check_vm;;
!) forced=1; fix_sead_warning;; !) forced=1; fix_sead_warning;;
a|A) mapt_prereq;; a|A) mapt_prereq;;
b|B) fix_bloodhound;; # was bpt;; b|B) bpt;;
c|C) check_chrome;; c|C) check_chrome;;
f|F) fix_broken_xfce;; f|F) fix_broken_xfce;;
g|G) fix_root_connectionrefused ;; g|G) fix_root_connectionrefused ;;
h|H) fix_httprobe;; h|H) fix_httprobe;;
i|I) fix_mitm6;; i|I) fix_mitm6;;
k|K) sudo dpkg-reconfigure keyboard-configuration; echo -e "\n $greenplus Keyboard now set to: $(cat /etc/default/keyboard | grep XKBLAYOUT | cut -d "\"" -f2)";; k|K) fix_keyboard; echo -e "\n $greenplus Keyboard is currently set to: $(cat /etc/default/keyboard | grep XKBLAYOUT | cut -d "\"" -f2)";;
l|L) install_sublime;; l|L) install_sublime;;
m|M) mayor_mpp;; m|M) mayor_mpp;;
n|N) fix_all; fix_upgrade;; n|N) fix_all; fix_upgrade;;
o|O) fix_ssh;; o|O) fix_ssh;;
# p|P) fix_python39;; # revision 1.5.5
# r|R) fix_responder;; # revision 1.5.5
s|S) fix_spike;; s|S) fix_spike;;
t|T) sudo dpkg-reconfigure tzdata; echo -e "\n $greenplus Timezone now set to: $(cat /etc/timezone)";; t|T) fix_timezone;;
v|V) install_vscode;; v|V) install_vscode;;
w|W) fix_gowitness;; w|W) fix_gowitness;;
"=") get_mirrorlist; best_ping; small_speedtest; large_speedtest; gen_new_sources; cleanup;; "=") get_mirrorlist; best_ping; small_speedtest; large_speedtest; gen_new_sources; cleanup;;
@ -1628,7 +1521,7 @@ check_arg () {
--bpt) bpt ;; --bpt) bpt ;;
--vscode) install_vscode ;; --vscode) install_vscode ;;
--subl) install_sublime ;; --subl) install_sublime ;;
--atom) install_atom ;; # --atom) install_atom ;;
--upgrade) only_upgrade ;; --upgrade) only_upgrade ;;
--mirrors) get_mirrorlist; best_ping; small_speedtest; large_speedtest; gen_new_sources; cleanup;; --mirrors) get_mirrorlist; best_ping; small_speedtest; large_speedtest; gen_new_sources; cleanup;;
# --harvester) fix_theharvester ;; # --harvester) fix_theharvester ;;