pimp-my-kali/README.md

471 lines
22 KiB
Markdown

# pimpmykali.sh
# Fixes for new imported Kali Linux virtual machines
- Author assumes zero liability for any data loss or misuse of pimpmykali
- Can be used on a bare metal machines, but thats on you
- Menu breakdown added below revision history
# Github index updated added +x permission:
- Script is now be executable upon clone (perms: 755 rwxr-xr-x added to github)
- There is no need to chmod +x pimpmykali.sh upon git clone
# Installation script:
- rm -rf pimpmykali/
- git clone https://github.com/Dewalt-arch/pimpmykali
- cd pimpmykali
- sudo ./pimpmykali.sh
- For a new kali vm, run menu option N
# Revision 1.2.4 - added common missing items
- Added to menu options : 1 - Fix Missing, 0 - Fix All, and N - new vm setup
- gcc-mingw-w64-x86-64-win32
- libssl-dev
- set
- Resolved an issue with vscode installer menu option V
# Revision 1.2.3 - fix_broken_xfce
- only_upgrade function modified
- function virt_what was called to early in only_upgrade
- moved to later part of the only_upgrade function after apt update
- fix_broken_xfce function is no longer necessary as of Kali 2021.1
- fix_broken_xfce removed from all script processing
- fix_broken_xfce has been moved to stand alone function
- not called by any other part of the script except (menu F)
- fix_broken_xfce (menu F)
- left as a stand alone function as a fail-safe for older versions of Kali
- fix_broken_xfce code and function will be removed completely at a future date
- fix_upgrade function modified
- virt_what function was called before run_update
- virt_what function moved, now called after run_update
- apt_update function added, now gives on screen display of running process function
- apt_upgrade function added, now gives on screen display of running process function
- apt_autoremove function added, now gives on screen display of running process function
# Revision 1.2.2 - A number of changes / updates
- Added Menu option C added - Install Google-Chrome (gowitness dependancy)
- Added google-chrome to fix_missing which will be activated by
- menu option 1 fix missing
- menu option 0 fix all
- menu option N new vm setup
- /etc/apt/sources.list function rewritten
- function will now only search for a specific line in sources.list
- "#deb-src http://http.kali.org/kali kali-rolling main contrib non-free" or
- "# deb-src http://http.kali.org/kali kali-rolling main contrib non-free"
- if found, script will sed out the # and enable deb-src
- no other modifications are made to sources.list
- Downgrade Metasploit function has been removed - Menu option D
- virt-what function upgraded, check added for already existing
- enable root login prompt moved in the script should appear sooner during execution
# Revision 1.2.1 - Menu Option N Modified
- minor code cleanup, no major changes.
# Revision 1.2.0 - Menu Option N Modified
- Kali 2021.1 + MSF-6.0.30-DEV have been released live in the Kali Repo
- Downgrade Metasploit has been removed from menu option N
- Downgrade Metasploit is now only available via menu option D
- Minor code cleanup
# Revision 1.1.9 - Gedit Connection Refused
- added fix for gedit as root connection refused
- Fix will be installed via :
- 1 - Fix Missing
- 0 - Fix All
- N - New VM Setup
- Menu item G to apply only this fix
# Revision 1.1.8 - Quality of life improvements
- Added install for theharvester
- xfce power management is now disabled
- fix_xfcepower fix_xfce_root fix_xfce_user
- will also be executed in menu option F - Fix Icons
- pc speaker beep now disabled /etc/modprobe.d/nobeep.conf
- silence_pcbeep
- Items will be installed via the following :
- 1 - Fix Missing
- 0 - Fix All (Runs only options 1 thru 8)
- N - New VM Setup
- Updated Readme.md documentation for menu items S, F
- Minor updates for a few prompts
# Revision 1.1.7 - libguestfs-tools cifs-utils added
- libguestfs-tools added to fix_missing
- cifs-utils added to fix_missing
- Items will be installed via the following :
- 1 - Fix Missing
- 0 - Fix All (Runs only options 1 thru 8)
- N - New VM Setup
# Revision 1.1.6 - update to curl get-pip.py
- script has been updated to point directly to the python2.7 get-pip.py
# Revision 1.1.5 - Fix SPIKE
- menu option S to apply this fix only
- fix_spike will be applied thru the following menu options automatically
- 1 - Fix Missing (fix_spike is a part of fix_missing)
- 0 - Fix All (Runs only options 1 thru 8)
- N - New VM Setup
- current version of spike2.9-1kali7 throws undefined symbol error
- removes spike2.9-1kali7
- installs spike_2.9-1kali6 (reverts spike to prior version)
- apt adds hold to spike to prevent accidental future upgrades
- apt hold will be removed at a future date once 2.9-1kali7 issues are resolved
# Revision 1.1.4 - Fix Broken XFCE Icons
- menu option F to apply this fix only
- Menu N and 9 will apply fix automatically as a part of their function
- restores FileManager (Folder Icon on Taskbar) function
- restores TerminalEmulator (Terminal Icon) function
- restores "File System" icon on desktop function
- restores "Home" icon on desktop function
# Revision 1.1.3 - added Are you sure prompt
- Added "Are you sure you want to copy all files from /home/kali to /root" prompt
- Gives the user a last chance to abort the function
- There are no major functional changes between 1.1.2 and 1.1.3 other than the additional
prompt to the copy /home/kali to /root function
- Answering Y - performs copy function of /home/kali to /root
- Answering N - skips copy function and proceeds on to the next section of the script
# Revision 1.1.2 - copy /home/kali to /root screen and prompt
- 1.1.2 Notes updated to reflect 1.1.3 addition and changes to 1.1.2 function
- Recently there have been a number of users wanting to run as root in kali but finding there
are no files or directories in /root once the root login is enabled and they login as root.
This is the default as root was disabled, there is nothing in /root
- This function ONLY executes If the user selects Yes at the enable root login prompt
- A second screen and prompt was added to the Enable Root Login function
- Prompts the user to copy everything from /home/kali to /root (And we mean everything!)
- Answering Y - will prompt user for "Are you sure?" added in 1.1.3
- Answering N - will skip the copy and end this function
- No file-checking will be performed
- Warning: This WILL overwrite anything in /root with the contents of /home/kali if Yes is selected
- Function does NOT remove anything from /home/kali
# Revision 1.1.1 - quick fix
- Quick fix applied to modifiy a specific function that was calling
- the exit_screen when it should not have been
# Revision 1.1.0 - python module: xlrd added
- added pip install xlrd==1.2.0 to fix missing
- general code cleanup
- Thank you to hackza for testing functions on Mac Vmware Fusion!
# Revision 1.0.9 - Qemu/Libvirt Detection added
- Thank you m4ul3r! It was his idea and testing that we are able to add this!
- detection of "kvm" hypervisor
- upon that detection xserver-xorg-video-qxl spice-vdagent are installed
# Revision 1.0.8 - New Menu Item n or N
- function will run fix_all, fix_missing, downgrade metasploit and pimpmyupgrade
- executes menu options 0, D and 9 from a single menu item.
- On-screen Menu display has been reworked and cleaned up a bit
- This saves the user from running menu 0, then running D then running 9 individually.
# Revision 1.0.7 - GOPATH statements added to .zshrc and .bashrc
- function will check for GOPATH in .zshrc and .bashrc
- Checks added for root and regular users
- if "GOPATH" is not found in .zshrc or .bashrc, statements will be added:
- export GOPATH=$HOME/go
- export PATH=$PATH:$GOPATH/bin
- if "GOPATH" is found in .zshrc or .bashrc, no changes will be made
- Menu Options 0 (Fix All), 1 (Fix Missing) or 3 (Fix GoLang) will activate this function
# Revision 1.0.6 - theHarvester fix removed
- Python3.9.1 has arrived! No longer in Release Candidate status!
- theHarvester fix is no longer necessary and has been commented as of this Revision
- if no further complications, code will be removed completely
# Revision 1.0.5 - Gedit returns!
- gedit has been added to fix_all and fix_missing functions
# Revision 1.0.4 - fix theHarvester (removed in 1.0.6)
- This is only to be used in the following case :
- Menu option H and will only be called via menu option H
- Kali 2020.4 has been apt upgraded and python3.9 is installed
- theHarvester is not functioning and is getting an error on uvloop
- this will set python3 to default to python3.9
- git clones uvloop, applies fixes and recompiles
- git clones theHarvester, applies fixes and installs
- additional checks will be added in the future
# Revision 1.0.3 - Metasploit 6 to Metasploit 5 Downgrade Option / Apt Upgrade returns!
- Menu option D has been added to perform the downgrade
- will not be called by any other function
- only menu option D will execute the downgrade
- metasploit will complain about 2 versions of reline being installed but do not believe it is an issue
- places a hold on metasploit-framework so it will not be upgraded in the future
- Pimpmyupgrade menu option 9
- set as a stand alone function, and will not be called from any other function in the script
- apt upgrade will only be called from this function
- mark metasploit-framework to be ignored in the upgrade process
- perform apt upgrade without upgrading metasploit-framework
- unmark metasploit-framework from being held back
- Fix All menu option 0 (modified)
- now only runs menu options 1 thru 8 , does not include menu 9 (pimpmyupgrade)
# Revision 1.0.2 - Apt Upgrade Commented Out
- Due to Metasploit being upgraded from msf5 -> MSF6
apt upgrade has been commented out and will NOT be run
at this time.
# Revision 1.0.1 Python-Requests
- added python requests and colorama installations to fix_missing (menu option 1) and (menu option 0) fix_all
# Revision 1.0.0 Atom replaces Gedit
- pimpmykali has reached a state of consistency and stability in the function it performs
version is being bumped to v1.0.0 to be more in line with version numbering standards.
- Atom has replaced gedit, gedit will no longer be installed by pimpmykali
# Revision 0.5j - rockyou.txt.gz
- added fix_rockyou function
- added gzip -dq /usr/share/wordlists/rockyou.txt.gz
- fix_missing and fix_all both call this function
- added restart-vm-tools as a part of menu 9 pimpmyupgrade
- added fix for bad apt hash issue (automatically applied)
- revision is going to be bumped to v1.0.0 upon next release
# Revision 0.5i - virtualbox specific fixes
- virtualbox-guest-addditions-iso added to check_vm as a part of fix_upgrade
- VBoxLinuxAdditions.run execution added to check_vm as a part of fix_upgrade
- '/sbin/rcvboxadd quicksetup all' added to check_vm as a part of fix_upgrade
# Revision 0.5h
- minor code cleanup
- 2nd warning screen of nuke impacket has been disabled and will no longer show
- removed --borked from main menu system as the ! menu item is now available
- added htop to fix_missing
# Revision 0.5g
- minor updates
- moved wait_time, finduser and groups to global vars from local vars
- general cleanup of script, comments, etc
- 2nd warning screen of nuke impacket has been disabled and will no longer show
# Revision 0.5f
- flameshot, 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
- only command line switches with -- are now valid all others have been removed
- all revision history except for the most 3 recent have been removed from the script
- full revision history can be found here in REAME.md
# Revision 0.5e
- Nuke Impacket added to menu, enter character ! to run nuke impacket
- 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.
the command: sudo ./pimpmykali.sh --bored was used to call the nuke-impacket
function now thanks to a new menu item of ! it can be called from the menu system
directly without the need for command line switches, but the switch is still available
- command line switches with a single - or just the name have been removed all command line
switches are now --nameofswtich as per the --help system indicates
# 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
- unfortunatly versions 0.5c thru 0.4 are affected if you have an old version
or havent ran pimpmykali.sh please git clone a fresh copy and re-run the nmap from the menu
Menu Option 8 - Fix clamav-exec.nse
- corrected http-shellshock.nse nmap script added - Thank you Alek & Blob!
# Revision 0.5c
- fix_upgrade removed from fix_missing
- fix_upgrade removed from fix_missing and is no longer 'forced' as a part of fix_missing
- fix_upgrade will now only be called as a part of fix_all (menu 0) or fix_upgrade (menu 9)
or command line switches --upgrade -upgrade or upgrade
- general code cleanup, some additional comments added
# Revision 0.5b - The Essentials
- Blindpentesters Essential Collection added
- added Blindpentesters 'The Essentials' tools and utils collection
- menu option 'B' for blindpentesters tools collection, installs, runs the_essentials.sh and exits
# Revision 0.5a
- minor cosmetic fixes to pimpmyupgrade functions
# Revision 0.5
- pimpmyupgrade added
- fix_sources deb-src is not enabled in /etc/apt/sources.list - fixed
- linux-headers-(uname -r) are not installed - fixed
- new functions check_vm, virt_what, run_update are what comprise pimpmyupgrade
- virt_what determines if vm is under virtualbox or vmware
- 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
# Revision 0.4b
- minor updates
- reworked fix_section works much better now
- added slient 'mode' variable, uncomment silent= line to turn output on and off from apt etc
- misc cleanup in the script
# 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....
- last chance warning screen ( mostly novelty ), random launch code generation on each run of --borked
- list of target selection, targets locked, etc
- seriously if you made it to --borked 2nd warning your having a bad day with impacket.. enjoy the giggle
- 10 second wait timer added to last chance launch screen before operations are performed
- 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
# Revision 0.4
- Major Update for impacket removal
- 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
- new commandline switch of --borked has been implemented for removal of impacket across various locations
- added --borked notice to menu system, help system
- added warning screen for --borked, only input of Y will proceed anything else exits
- fix_sead_warning, fix_sead_run, fix_impacket_array, fix_impacket all executed in order with --borked
- fix_sead_run removes any and all directories named impacket* in the following locations (you have been warned):
/opt /usr/bin /usr/local/lib /usr/lib /home/$finduser/.local/bin /home/$finduser/.local/lib ~/.local/lib ~/.local/bin
- fix_sead_run, also removes via fix_impacket_array any .py or .pyc related to impacket in the following:
/usr/bin/$impacket_file /usr/local/bin/$impacket_file
(root)~/.local/bin/$impacket_file
(user)/home/$finduser/.local/bin/$impacket_file
# Revision 0.3d
- added flameshot to fix_missing as a part of the default installed tools
- emergency fix to --force, everything should be functioning now
# Revision 0.3c
- 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
- added to note that if you dont understand what this part of the script is doing hit N
- added colors for syntax highlighting in the onscreen messages of the script in places
- added fix_nmap function for fixing /usr/share/nmap/scripts/clamav-exec.nse (commented out at this time
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
# Revision 0.3b
- bug fix 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
- remove clear from exit screen
# Revision 0.3a
- 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
/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
# Revision 0.3
- 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
- added on screen notification of files being removed by the array
- fix_missing function : has been reworked new vars check section force type
- 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
# Revision 0.2
- 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
- anything other than --all or -all or all , will only run that function and then exit.
- command line arguments can be used with -- or - or just the word itself to try can catch for all possible cases
- example command line var: --help or -help or help will catch help and works for all valid command line arguments
anything other the command line arugement catch exits and displays help
# Menu Breakdown of Pimpmykali
Menu breakdown of what pimpmykali does:
- This section is being provided as a brief overview
Menu option N (New Users/New VM's Should start here!)
- executes menu option 0 fix all ( menu options 1 thru 8 )
- executes menu opiion 9 (pimpmyupgrade)
Menu Option 1 - Fix missing
- fix_sources
- uncomment #deb-src from /etc/apt/sources.list
- python-pip installation via curl
- python3-pip installed
- seclists installed
- gedit installed (feature request)
- flameshot installed (feature request)
- locate installed (feature request)
- fix_rockyou function
- gunzip's /usr/share/wordlists/rockyou.gz to /usr/share/wordlists/rockyou.txt
- fix_golang function
- installs golang
- adds golang GOPATH to .bashrc and .zshrc
- installs htop
- installs python requests
- installs python xlrd
- disables xfce power management
- blacklists pcspkr kernel module /etc/modprobe.d/nobeep.conf
Menu Option 2 - Fix smb.conf
- Fix /etc/samba/smb.conf
- adds client min protocol = CORE below [global]
- adds client max protocol = SMB3 below [global]
Menu Option 3 - Fix Golang
- Installs golang
- checks for GOPATH in .bashrc and .zshrc
- if GOPATH is found, adds nothing
- if not found, adds GOPATH statements to both .zshrc and .bashrc
Menu Option 4 - Fix Grub
- adds mitigations=off to GRUB_CMDLINE_LINUX_DEFAULT
Menu Option 5
- installs Impacket-0.9.19
Menu Option 6 - Enable root login
- installs kali-root-login
- prompts for root password
- copy /home/kali to /root prompt (1.1.2)
- added are you sure? prompt to copy /home/kali to /root prompt (1.1.3)
Menu Option 7
- installs Atom text editor
Menu Option 8 - Fix Nmap
- wget nmap script fixes
- clamav-exec.nse
- http-shellshock.nse (Thank you Alek!)
Menu Option 9 - Pimpmyupgrade
- additional notes will be added
- performs apt ugprade and places hold on metasploit-framework from being upgraded
- due to msf6 to msf5 downgrade
- fix : black screen after login
- add additional details here
- fix : Hypervisor detection (vmware, virtualbox, qemu/libvirt)
- add additional details here
- fix : virtualbox shared folder fix applied
Menu Option 0 - Fix all
- Executes Menu options 1 thru 8 Only
Menu Option B
- BlindPentesters The_Essentials tools and utilities collection
- Install all of BlindPentesters favorite tools and utilities to /opt (aprox 8GB)
- Click the link below for a full list of the_essentials.sh script and its inner workings
- https://github.com/blindpentester/the-essentials
Menu Option F
- Fixes XFCE Broken Icons "TerminalEmulator" Not Found
- Fixes XFCE Open Catfish instead of Thunar when double clicking Home or FileSystem Icon
- this fix is a temporary fix and will be removed once xfce has been corrected
Menu Option S - Fix Spike
- Fixes undefined symbol error thrown when using generic_send_tcp
- this fix is temporary and will be removed once a corrected version is available
Menu Option D - Downgrade metasploit-framework from 6 to 5
- included in menu option N
- downgrades metasploit-framework (msfconsole) from msf6 to msf5
- this is a temporary solution and will eventually be removed once a corrected version is available
Menu Option ! - Nuke Impacket (yes its literally the ! character)
- removes any prior installation of impacket (gracefully and forcefully)
- installs impacket-0.9.19
- installs python-pip via curl
- installs python wheel
- 1 warning screen (2nd warning screen removed)
# TODO
- clean up todo list :)