Update Thu Oct 8 10:55:32 PM CDT 2020

This commit is contained in:
Dewalt 2020-10-08 22:55:32 -05:00
parent a775537125
commit 523339afcb
2 changed files with 59 additions and 53 deletions

View File

@ -13,6 +13,11 @@
- cd pimpmykali - cd pimpmykali
- sudo ./pimpmykali.sh - sudo ./pimpmykali.sh
# Revision 0.5g
- minor updates
- moved wait_time, finduser and groups to global vars from local vars
- general cleanup of script, comments, etc
# Revision 0.5f # Revision 0.5f
- flamshot, gedit and seclists have been removed from fix_missing and - flamshot, gedit and seclists have been removed from fix_missing and
- now will only be a part of fix_all or as an individual Option for installation - now will only be a part of fix_all or as an individual Option for installation
@ -63,12 +68,14 @@
- check_vm checks for virtualbox or vmware and installs proper drivers for each - check_vm checks for virtualbox or vmware and installs proper drivers for each
- run_update runs fix_sources, runs apt upgrade calls virt_what, calls check_vm - run_update runs fix_sources, runs apt upgrade calls virt_what, calls check_vm
# Revision 0.4b : minor updates # Revision 0.4b
- minor updates
- reworked fix_section works much better now - reworked fix_section works much better now
- added slient 'mode' variable, uncomment silent= line to turn output on and off from apt etc - added slient 'mode' variable, uncomment silent= line to turn output on and off from apt etc
- misc cleanup in the script - misc cleanup in the script
# Revision 0.4a : 2nd warning screen added for --borked impacket removal system # Revision 0.4a
- 2nd warning screen added for --borked impacket removal system
- If you cant have a little fun with your own scripts your doing something wrong.... - If you cant have a little fun with your own scripts your doing something wrong....
- last chance warning screen ( mostly novelty ), random launch code generation on each run of --borked - last chance warning screen ( mostly novelty ), random launch code generation on each run of --borked
- list of target selection, targets locked, etc - list of target selection, targets locked, etc
@ -77,7 +84,8 @@
- if no ctrl+c is entered to cancel the operation, fix_sead is run, followed by fix_impacket - if no ctrl+c is entered to cancel the operation, fix_sead is run, followed by fix_impacket
- added apt -y reinstall python3-impacket impacket-scripts to fix error with smbmap after impacket removal - added apt -y reinstall python3-impacket impacket-scripts to fix error with smbmap after impacket removal
# Revision 0.4 : Major Update for impacket removal # Revision 0.4
- Major Update for impacket removal
- added flameshot as a part of the missing group to be installed - added flameshot as a part of the missing group to be installed
- added clamav-exec.nse wget to fix clamav-exec.nse failed during nmap --script vuln scans - added clamav-exec.nse wget to fix clamav-exec.nse failed during nmap --script vuln scans
- new commandline switch of --borked has been implemented for removal of impacket across various locations - new commandline switch of --borked has been implemented for removal of impacket across various locations
@ -95,7 +103,7 @@
- added flameshot to fix_missing as a part of the default installed tools - added flameshot to fix_missing as a part of the default installed tools
- emergency fix to --force, everything should be functioning now - emergency fix to --force, everything should be functioning now
# Revision 0.3c: # Revision 0.3c
- per request kali-root-login enabling prompt has been reworked and reworded to be less confusing and - per request kali-root-login enabling prompt has been reworked and reworded to be less confusing and
to give the user a better explanation of what the script is doing at that stage to give the user a better explanation of what the script is doing at that stage
- added to note that if you dont understand what this part of the script is doing hit N - added to note that if you dont understand what this part of the script is doing hit N
@ -104,18 +112,18 @@
clamav-exec.nse was an issue at one time but unknown if it is still relevent) clamav-exec.nse was an issue at one time but unknown if it is still relevent)
- --force command line argument was being called without setting $force in fix_all $force - fixed - --force command line argument was being called without setting $force in fix_all $force - fixed
# Revision 0.3b: # Revision 0.3b
- bug fix ( Thanks ShadeauxBoss! for finding it ) impacket installation was missing cd /opt/impacket-0.9.19 - bug fix ( Thanks ShadeauxBoss! for finding it ) impacket installation was missing cd /opt/impacket-0.9.19
- feature request added : Gedit installation menu option 7, is included in fix_missing, all and force - feature request added : Gedit installation menu option 7, is included in fix_missing, all and force
- remove clear from exit screen - remove clear from exit screen
# Revision 0.3a: # Revision 0.3a
- the extraction of the impacket-0.9.19.tar.gz was leaving /opt/impacket-0.9.19 with 700 perms - the extraction of the impacket-0.9.19.tar.gz was leaving /opt/impacket-0.9.19 with 700 perms
and an ownership of 503:root, this has been changed to ownership root:root and all files inside and an ownership of 503:root, this has been changed to ownership root:root and all files inside
/opt/impacket-0.9.19 have had their permissions set to 755 after extraction of impacket-0.9.19.tar.gz /opt/impacket-0.9.19 have had their permissions set to 755 after extraction of impacket-0.9.19.tar.gz
- Ascii art added to the menu - Ascii art added to the menu
# Revision 0.3: # Revision 0.3
- added checks for already installed installations, added --force command ( --force will run all fixes/reinstalls ) - added checks for already installed installations, added --force command ( --force will run all fixes/reinstalls )
- fix_impacket function : added both .py and .pyc files to impacket removal array - fix_impacket function : added both .py and .pyc files to impacket removal array
- added on screen notification of files being removed by the array - added on screen notification of files being removed by the array
@ -123,7 +131,7 @@
- added fix_section function : fix_section is the workhorse for fix_missing - added fix_section function : fix_section is the workhorse for fix_missing
- reworked python-pip installation to its own function python-pip-curl and installs python-pip via curl - reworked python-pip installation to its own function python-pip-curl and installs python-pip via curl
# Revision 0.2: # Revision 0.2
- Added colorized notifications, help system, command line arguments, case based menu system - Added colorized notifications, help system, command line arguments, case based menu system
- valid command line arguments are: help, all, go, grub, impacket, missing, menu, smb, grub, root - valid command line arguments are: help, all, go, grub, impacket, missing, menu, smb, grub, root
- anything other than --all or -all or all , will only run that function and then exit. - anything other than --all or -all or all , will only run that function and then exit.
@ -132,18 +140,31 @@
- example command line var: --help or -help or help will catch help and works for all valid command line arguements - example command line var: --help or -help or help will catch help and works for all valid command line arguements
anything other the command line arugement catch exits and displays help anything other the command line arugement catch exits and displays help
# Fixes : What pimpmykali does:
- python-pip now removed from kali repos, installation via curl - BlindPentesters The_Essentials tools and utilities collection
- menu option B
- blank/black screen after login
- pimpmyupgrade menu option #9
- virtualbox shared folder permission denied - fixed
- auto-detection of virtualbox or vmware hypervisor
- python-pip installation via curl
- python3-pip not installed - python3-pip not installed
- seclists not installed - seclists not installed
- golang not installed - golang not installed
- kali-root-login not installed and reneables root login - gedit installed (feature request)
- flameshot installed (feature request)
- locate installed (feature request)
- kali-root-login not installed and re-enables root login
- reworked and added prompt - reworked and added prompt
- nmap scripts clamav-exec.nse and http-shellshock.nse - fixed
- impacket-0.9.19 - impacket-0.9.19
- removes any prior installation of impacket (gracefully and forcefully) - removes any prior installation of impacket (gracefully and forcefully)
- installs impacket-0.9.19 - installs impacket-0.9.19
- installs python-pip via curl - installs python-pip via curl
- installs python wheel - installs python wheel
- impacket nuke function
- menu option ! (its literally the ! character)
- 2 warning screens
- /etc/samba/smb.conf - /etc/samba/smb.conf
- adds the 2 lines below [global] for min max protocol - adds the 2 lines below [global] for min max protocol
- client min protocol = CORE - client min protocol = CORE

View File

@ -5,11 +5,18 @@
# #
# Usage: sudo ./pimpmykali.sh ( defaults to the menu system ) command line arguements are valid, only catching 1 arguement # Usage: sudo ./pimpmykali.sh ( defaults to the menu system ) command line arguements are valid, only catching 1 arguement
# #
# Revision 0.5f - flamshot, gedit and seclists have been removed from fix_missing and # Revision 0.5g
# - minor updates
# - moved wait_time, finduser and groups to global vars from local vars
# - general cleanup of script, comments, etc
#
# Revision 0.5f
# - flamshot, gedit and seclists have been removed from fix_missing and
# - now will only be a part of fix_all or as an individual Option for installation # - now will only be a part of fix_all or as an individual Option for installation
# - only command line switches with -- are now valid all others have been removed # - only command line switches with -- are now valid all others have been removed
# #
# Revision 0.5e - Nuke Impacket added to menu enter character ! to run nuke imapcket # Revision 0.5e
# - Nuke Impacket added to menu enter character ! to run nuke imapcket
# - some issues with people understanding how to use --borked on the command line # - some issues with people understanding how to use --borked on the command line
# a menu option of character ! was added to ease use of the nuke impacket function. # a menu option of character ! was added to ease use of the nuke impacket function.
# the correct command is : sudo ./pimpmykali.sh --bored was used to call the # the correct command is : sudo ./pimpmykali.sh --bored was used to call the
@ -19,11 +26,12 @@
# - command line switchs with a single - or just the name has been remove all commandline # - command line switchs with a single - or just the name has been remove all commandline
# line switches are not --nameofswtich # line switches are not --nameofswtich
# #
# Revision 0.5d - bugfix Thank you to AES for finding the bug, nmap wget script was pulling the wrong page # Revision 0.5d
# - bugfix Thank you to AES for finding the bug, nmap wget script was pulling the wrong page
# - correct page has been added new version git pushd # - correct page has been added new version git pushd
# - correct http-shellshock.nse nmap script added - Thank you Alek and Blob! # - correct http-shellshock.nse nmap script added - Thank you Alek and Blob!
# #
# Revision history for only the latest 3 revisions will be kept in the script # Only partial revision history will be kept in the script
# Full Revision history can be found in README.md # Full Revision history can be found in README.md
# #
# Standard Disclaimer: Author assumes no liability for any damage # Standard Disclaimer: Author assumes no liability for any damage
@ -58,11 +66,16 @@
fourblinkexclaim='\e[1;31m[\e[5;31m!!!!\e[0m\e[1;31m]\e[0m' fourblinkexclaim='\e[1;31m[\e[5;31m!!!!\e[0m\e[1;31m]\e[0m'
# variables needed in the script # variables needed in the script
wait_time=10 # 2nd warning screen wait time
force=0 force=0
check="" check=""
section="" section=""
type="" type=""
# varliables moved from local to global
finduser=$(logname)
groups=$(groups $finduser | grep -i -c "vboxsf") # for vbox_fix_shared_folder_permission_denied
# silent mode # silent mode
silent='' # uncomment to see all output silent='' # uncomment to see all output
# silent='>/dev/null 2>&1' # uncomment to hide all output # silent='>/dev/null 2>&1' # uncomment to hide all output
@ -84,16 +97,16 @@ check_for_root () {
fix_section () { fix_section () {
if [ $check -ne 1 ] if [ $check -ne 1 ]
then then
# 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 -y install $section $silent
elif [ $force = 1 ] elif [ $force = 1 ]
then then
# 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 -y reinstall $section $silent
else else
# force=0 check=1 # sanity check : force=0 check=1
echo -e "\n $greenminus $section already installed" echo -e "\n $greenminus $section already installed"
echo -e " use --force to reinstall" echo -e " use --force to reinstall"
fi fi
@ -115,7 +128,7 @@ fix_missing () {
fix_all () { fix_all () {
fix_sources fix_sources
fix_missing $force fix_missing $force
seclists $force seclists $force
fix_gedit $force fix_gedit $force
fix_flameshot $force fix_flameshot $force
@ -126,7 +139,6 @@ fix_all () {
fix_upgrade fix_upgrade
# ID10T REMINDER: DONT CALL THESE HERE THEY ARE IN FIX_MISSING! # ID10T REMINDER: DONT CALL THESE HERE THEY ARE IN FIX_MISSING!
# python-pip-cul python3_pip fix_golang fix_nmap # python-pip-cul python3_pip fix_golang fix_nmap
#
# fix_upgrade is not a part of fix_missing and only called as sub-function call of fix_all or fix_upgrade itself # fix_upgrade is not a part of fix_missing and only called as sub-function call of fix_all or fix_upgrade itself
} }
@ -169,7 +181,6 @@ seclists () {
} }
fix_nmap () { fix_nmap () {
# not checking for it just doing it
rm -f /usr/share/nmap/scripts/clamav-exec.nse rm -f /usr/share/nmap/scripts/clamav-exec.nse
echo -e "\n $redminus /usr/share/nmap/scripts/clamav-exec.nse removed " echo -e "\n $redminus /usr/share/nmap/scripts/clamav-exec.nse removed "
eval wget https://raw.githubusercontent.com/nmap/nmap/master/scripts/clamav-exec.nse -O /usr/share/nmap/scripts/clamav-exec.nse $silent eval wget https://raw.githubusercontent.com/nmap/nmap/master/scripts/clamav-exec.nse -O /usr/share/nmap/scripts/clamav-exec.nse $silent
@ -258,9 +269,8 @@ enable_rootlogin () {
} }
fix_sead_warning () { fix_sead_warning () {
finduser=$(logname)
clear clear
# fugly # fugly - really need to clean this up, it works but its just a nightmare too look at
echo -e " echo -e "
"$bold$redexclaim$red" WARNING "$redexclaim$bold$red" PIMPMYKALI IMPACKET REMOVAL FUNCTION "$redexclaim$bold$red" WARNING "$redexclaim$white$norm" "$bold$redexclaim$red" WARNING "$redexclaim$bold$red" PIMPMYKALI IMPACKET REMOVAL FUNCTION "$redexclaim$bold$red" WARNING "$redexclaim$white$norm"
@ -304,24 +314,15 @@ fix_sead_warning () {
} }
fix_sead_run () { fix_sead_run () {
# run update just in case
eval apt update $silent eval apt update $silent
# install pip and pip3 - pip3 is gonna get installed twice here know all about it
python-pip-curl python-pip-curl
python3_pip python3_pip
# gracefully attempt to remove impacket via pip and pip3
eval pip uninstall impacket -y $silent eval pip uninstall impacket -y $silent
eval pip3 uninstall impacket -y $silent eval pip3 uninstall impacket -y $silent
# used to get the username running this script as sudo to check /home/$finduser/.local/lib and /home/$finduser/.local/bin
finduser=$(logname)
# Not playin here... anything impacket* in the following find statement goes BYE BYE and not ask about it.. its gone # Not playin here... anything impacket* in the following find statement goes BYE BYE and not ask about it.. its gone
SEAD=$(find /opt /usr/bin /usr/local/lib /usr/lib /home/$finduser/.local/bin /home/$finduser/.local/lib ~/.local/lib ~/.local/bin -name impacket* 2> /dev/null) SEAD=$(find /opt /usr/bin /usr/local/lib /usr/lib /home/$finduser/.local/bin /home/$finduser/.local/lib ~/.local/lib ~/.local/bin -name impacket* 2> /dev/null)
# Last Chance Launch Sequence ** WARNING SCREEN ** and 10 second time out
# added Last Chance Launch Sequence ** WARNING SCREEN ** and 10 second time out # may consider removing this.... 2nd warning screen
clear clear
echo -e " If you've made it this far you're having a really bad day with impacket... " echo -e " If you've made it this far you're having a really bad day with impacket... "
echo -e " Enjoy the last chance launch sequence!\n" echo -e " Enjoy the last chance launch sequence!\n"
@ -333,7 +334,6 @@ fix_sead_run () {
echo -e " $green[<$red@@$green>]$white taking aim\n" echo -e " $green[<$red@@$green>]$white taking aim\n"
echo -e " $green[$red####$green]$white requesting launch code\n" echo -e " $green[$red####$green]$white requesting launch code\n"
echo -e " $green[$red$launch_codes_alpha-$launch_codes_beta-$launch_codes_charlie$green]$white launch code confirmed\n" echo -e " $green[$red$launch_codes_alpha-$launch_codes_beta-$launch_codes_charlie$green]$white launch code confirmed\n"
wait_time=10 # seconds
echo -e " Are you sure you meant to run this script?\n" echo -e " Are you sure you meant to run this script?\n"
temp_cnt=${wait_time} temp_cnt=${wait_time}
while [[ ${temp_cnt} -gt 0 ]]; while [[ ${temp_cnt} -gt 0 ]];
@ -352,7 +352,6 @@ fix_sead_run () {
} }
fix_impacket_array () { fix_impacket_array () {
finduser=$(logname)
arr=('addcomputer.py' 'atexec.py' 'dcomexec.py' 'dpapi.py' 'esentutl.py' 'findDelegation.py' 'GetADUsers.py' 'getArch.py' arr=('addcomputer.py' 'atexec.py' 'dcomexec.py' 'dpapi.py' 'esentutl.py' 'findDelegation.py' 'GetADUsers.py' 'getArch.py'
'GetNPUsers.py' 'getPac.py' 'getST.py' 'getTGT.py' 'GetUserSPNs.py' 'goldenPac.py' 'karmaSMB.py' 'kintercept.py' 'GetNPUsers.py' 'getPac.py' 'getST.py' 'getTGT.py' 'GetUserSPNs.py' 'goldenPac.py' 'karmaSMB.py' 'kintercept.py'
'lookupsid.py' 'mimikatz.py' 'mqtt_check.py' 'mssqlclient.py' 'mssqlinstance.py' 'netview.py' 'nmapAnswerMachine.py' 'lookupsid.py' 'mimikatz.py' 'mqtt_check.py' 'mssqlclient.py' 'mssqlinstance.py' 'netview.py' 'nmapAnswerMachine.py'
@ -370,28 +369,17 @@ fix_impacket_array () {
for impacket_file in ${arr[@]}; do for impacket_file in ${arr[@]}; do
rm -f /usr/bin/$impacket_file /usr/local/bin/$impacket_file ~/.local/bin/$impacket_file /home/$finduser/.local/bin/$impacket_file rm -f /usr/bin/$impacket_file /usr/local/bin/$impacket_file ~/.local/bin/$impacket_file /home/$finduser/.local/bin/$impacket_file
# removed status of whats being removed from screen, too much screen garbage
# echo -e "\n $greenplus $impacket_file removed" # echo -e "\n $greenplus $impacket_file removed"
done done
} }
fix_impacket () { fix_impacket () {
finduser=$(logname)
# 2020.3 - package: impacket no longer exists in repo will throw error
eval apt -y remove impacket $silent ## do not remove : python3-impacket impacket-scripts eval apt -y remove impacket $silent ## do not remove : python3-impacket impacket-scripts
# make sure pip and pip3 are there before we attempt to uninstall gracefully
python-pip-curl python-pip-curl
python3_pip python3_pip
# remove impacket gracefully
eval pip uninstall impacket -y $silent eval pip uninstall impacket -y $silent
eval pip3 uninstall impacket -y $silent eval pip3 uninstall impacket -y $silent
# call fix_impacket_arrary for .py and .pyc removal
fix_impacket_array fix_impacket_array
# get and install new impacket-0.9.19
eval wget https://github.com/SecureAuthCorp/impacket/releases/download/impacket_0_9_19/impacket-0.9.19.tar.gz -O /tmp/impacket-0.9.19.tar.gz $silent eval wget https://github.com/SecureAuthCorp/impacket/releases/download/impacket_0_9_19/impacket-0.9.19.tar.gz -O /tmp/impacket-0.9.19.tar.gz $silent
eval tar xfz /tmp/impacket-0.9.19.tar.gz -C /opt $silent eval tar xfz /tmp/impacket-0.9.19.tar.gz -C /opt $silent
cd /opt cd /opt
@ -408,10 +396,9 @@ fix_impacket () {
eval pip install wheel $silent eval pip install wheel $silent
eval pip install . $silent eval pip install . $silent
rm -f /tmp/impacket-0.9.19.tar.gz rm -f /tmp/impacket-0.9.19.tar.gz
# added as a result of blobs removal of impacket and problem with smbmap after
eval apt -y reinstall python3-impacket impacket-scripts $silent eval apt -y reinstall python3-impacket impacket-scripts $silent
echo -e "\n $greenplus installed: impacket-0.9.19 python-pip wheel impacket flask pyasn1" echo -e "\n $greenplus installed: impacket-0.9.19 python-pip wheel impacket flask pyasn1"
echo -e "\n $greenplus installed: pycryptodomes pyOpenSSL ldap3 ldapdomaindump" echo -e "\n $greenplus installed: lsassy pycryptodomes pyOpenSSL ldap3 ldapdomaindump"
echo -e "\n $greenplus installed: python3-pip python3-impacket impacket-scripts" echo -e "\n $greenplus installed: python3-pip python3-impacket impacket-scripts"
} }
@ -436,7 +423,8 @@ pimpmywifi_main () {
# -----begin fix----- # -----begin fix-----
# apt -y update # apt -y update
# apt -y remove realtek-88xxau-dkms && apt -y purge realtek-88xxau-dkms # apt -y remove realtek-88xxau-dkms && apt -y purge realtek-88xxau-dkms
# apt -y install gcc-9-base # libc6 breaks libgcc-9-dev fix # what todo on this one? 2019.x upgraded to 2020 throws Error # apt -y install gcc-9-base # libc6 breaks libgcc-9-dev fix
# # what to do on this one? 2019.x upgraded to 2020 throws Error
# apt -y install linux-headers-amd64 # apt -y install linux-headers-amd64
# apt -y install realtek-88xxau-dkms # apt -y install realtek-88xxau-dkms
# apt -y upgrade # apt -y upgrade
@ -449,7 +437,6 @@ pimpmywifi_main () {
# -- status: idea stage - pre-alpha development # -- status: idea stage - pre-alpha development
# realtek-rtl8188eus-dkms - Realtek RTL8188EUS driver in DKMS format # realtek-rtl8188eus-dkms - Realtek RTL8188EUS driver in DKMS format
# realtek-rtl88xxau-dkms - Realtek RTL88xxAU driver in DKMS format # realtek-rtl88xxau-dkms - Realtek RTL88xxAU driver in DKMS format
# add function to check for linux-headers in /lib/modules vs unname -r # add function to check for linux-headers in /lib/modules vs unname -r
find_linux_headers=$(find /lib/modules -name $(uname -r) 2> /dev/null) find_linux_headers=$(find /lib/modules -name $(uname -r) 2> /dev/null)
running_kernel=$(uname -r) running_kernel=$(uname -r)
@ -472,8 +459,6 @@ virt_what() {
} }
vbox_fix_shared_folder_permission_denied () { vbox_fix_shared_folder_permission_denied () {
finduser=$(logname)
groups=$(groups $finduser | grep -i -c "vboxsf")
if [ $groups = 1 ] if [ $groups = 1 ]
then then
# TRUE - user is already in vboxsf group # TRUE - user is already in vboxsf group