├── Backup-files ├── .bash_aliases ├── .bashrc └── bash.bashrc ├── Kali-fresh-install.sh ├── LICENSE ├── Original-g0tmi1k └── kali-rolling.sh ├── Other-useful-installs ├── README.md ├── VirtualBox.sh ├── bookmarks.sh ├── conky.sh └── imwheel.sh ├── README.md ├── Troubleshoot ├── Info │ └── CPU.info.txt └── README.md └── contents └── README.md /Backup-files/.bash_aliases: -------------------------------------------------------------------------------- 1 | ## grc diff alias 2 | alias diff='/usr/bin/grc /usr/bin/diff' 3 | 4 | ## grc dig alias 5 | alias dig='/usr/bin/grc /usr/bin/dig' 6 | 7 | ## grc gcc alias 8 | alias gcc='/usr/bin/grc /usr/bin/gcc' 9 | 10 | ## grc ifconfig alias 11 | alias ifconfig='/usr/bin/grc /sbin/ifconfig' 12 | 13 | ## grc mount alias 14 | alias mount='/usr/bin/grc /bin/mount' 15 | 16 | ## grc netstat alias 17 | alias netstat='/usr/bin/grc /bin/netstat' 18 | 19 | ## grc ping alias 20 | alias ping='/usr/bin/grc /bin/ping' 21 | 22 | ## grc ps alias 23 | alias ps='/usr/bin/grc /bin/ps' 24 | 25 | ## grc tail alias 26 | alias tail='/usr/bin/grc /usr/bin/tail' 27 | 28 | ## grc traceroute alias 29 | alias traceroute='/usr/bin/grc /usr/sbin/traceroute' 30 | 31 | ## grc wdiff alias 32 | alias wdiff='/usr/bin/grc ' 33 | 34 | ## grep aliases 35 | alias grep="grep --color=always" 36 | alias ngrep="grep -n" 37 | 38 | alias egrep="egrep --color=auto" 39 | 40 | alias fgrep="fgrep --color=auto" 41 | 42 | ## tmux 43 | alias tmux="tmux attach || tmux new" 44 | 45 | ## axel 46 | alias axel="axel -a" 47 | 48 | ## screen 49 | alias screen="screen -xRR" 50 | 51 | ## Checksums 52 | alias sha1="openssl sha1" 53 | alias md5="openssl md5" 54 | 55 | ## Force create folders 56 | alias mkdir="/bin/mkdir -pv" 57 | 58 | ## List open ports 59 | alias ports="netstat -tulanp" 60 | 61 | ## Get header 62 | alias header="curl -I" 63 | 64 | ## Get external IP address 65 | alias ipx="curl -s http://ipinfo.io/ip" 66 | 67 | ## DNS - External IP #1 68 | alias dns1="dig +short @resolver1.opendns.com myip.opendns.com" 69 | 70 | ## DNS - External IP #2 71 | alias dns2="dig +short @208.67.222.222 myip.opendns.com" 72 | 73 | ### DNS - Check ("#.abc" is Okay) 74 | alias dns3="dig +short @208.67.220.220 which.opendns.com txt" 75 | 76 | ## Directory navigation aliases 77 | alias ..="cd .." 78 | alias ...="cd ../.." 79 | alias ....="cd ../../.." 80 | alias .....="cd ../../../.." 81 | 82 | 83 | ## Extract file, example. "ex package.tar.bz2" 84 | ex() { 85 | if [[ -f $1 ]]; then 86 | case $1 in 87 | *.tar.xz) tar xf $1 ;; 88 | *.tar.bz2) tar xjf $1 ;; 89 | *.tar.gz) tar xzf $1 ;; 90 | *.bz2) bunzip2 $1 ;; 91 | *.rar) rar x $1 ;; 92 | *.gz) gunzip $1 ;; 93 | *.tar) tar xf $1 ;; 94 | *.tbz2) tar xjf $1 ;; 95 | *.tgz) tar xzf $1 ;; 96 | *.zip) unzip $1 ;; 97 | *.Z) uncompress $1 ;; 98 | *.7z) 7z x $1 ;; 99 | *) echo $1 cannot be extracted ;; 100 | esac 101 | else 102 | echo $1 is not a valid file 103 | fi 104 | } 105 | ## strings 106 | alias strings="strings -a" 107 | 108 | ## history 109 | alias hg="history | grep" 110 | 111 | ### Network Services 112 | alias listen="netstat -antp | grep LISTEN" 113 | 114 | ### HDD size 115 | alias hogs="for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11" 116 | 117 | ### Listing 118 | alias ll="ls -l --block-size=1 --color=auto" 119 | 120 | ## nmap 121 | alias nmap="nmap --reason --open --stats-every 3m --max-retries 1 --max-scan-delay 20 --defeat-rst-ratelimit" 122 | 123 | ## aircrack-ng 124 | alias aircrack-ng="aircrack-ng -z" 125 | 126 | ## airodump-ng 127 | alias airodump-ng="airodump-ng --manufacturer --wps --uptime" 128 | 129 | ## metasploit 130 | alias msfc="systemctl start postgresql; msfdb start; msfconsole -q \"\$@\"" 131 | alias msfconsole="systemctl start postgresql; msfdb start; msfconsole \"\$@\"" 132 | 133 | ## mana-toolkit 134 | alias mana-toolkit-start="a2ensite 000-mana-toolkit;a2dissite 000-default; systemctl restart apache2" 135 | alias mana-toolkit-stop="a2dissite 000-mana-toolkit; a2ensite 000-default; systemctl restart apache2" 136 | 137 | ## ssh 138 | alias ssh-start="systemctl restart ssh" 139 | alias ssh-stop="systemctl stop ssh" 140 | 141 | ## samba 142 | alias smb-start="systemctl restart smbd nmbd" 143 | alias smb-stop="systemctl stop smbd nmbd" 144 | 145 | ## rdesktop 146 | alias rdesktop="rdesktop -z -P -g 90% -r disk:local=\"/tmp/\"" 147 | 148 | ## python http 149 | alias http="python2 -m SimpleHTTPServer" 150 | 151 | ## work 152 | alias workroot="cd /work/" 153 | alias work="cd /work/" 154 | 155 | ## Firefox 156 | alias ffx="firefox" 157 | 158 | ## Google chrome 159 | alias chrome="gksu -u chromeuser google-chrome-stable" 160 | 161 | ## Jupyter notebook 162 | alias jn="jupyter notebook --allow-root" 163 | ## GitHub 164 | alias gthb="cd /work/github/" 165 | alias github="cd /work/github/" 166 | 167 | ## esec 168 | alias esec="cd /work/ArIES/" 169 | 170 | ## ml 171 | alias ml="cd /work/machine_learning/" 172 | alias mlroot="cd /work/machine_learning/" 173 | 174 | ## nn 175 | alias nn="cd /work/machine_learning/neuralnetwork/" 176 | alias nnroot="cd /work/machine_learning/neuralnetwork/" 177 | 178 | ### DNS - Check ("#.abc" is Okay) 179 | alias dns3="dig +short @208.67.220.220 which.opendns.com txt" 180 | 181 | ### Network Services 182 | alias listen="netstat -antp | grep LISTEN" 183 | 184 | ### HDD size 185 | alias hogs="for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11" 186 | 187 | ### Listing 188 | alias ll="ls -l --block-size=1 --color=auto" 189 | 190 | alias msfvenom-list-all='cat ~/.msf4/msfvenom/all' 191 | alias msfvenom-list-nops='cat ~/.msf4/msfvenom/nops' 192 | alias msfvenom-list-payloads='cat ~/.msf4/msfvenom/payloads' 193 | alias msfvenom-list-encoders='cat ~/.msf4/msfvenom/encoders' 194 | alias msfvenom-list-formats='cat ~/.msf4/msfvenom/formats' 195 | alias msfvenom-list-generate='_msfvenom-list-generate' 196 | function _msfvenom-list-generate { 197 | mkdir -p ~/.msf4/msfvenom/ 198 | msfvenom --list > ~/.msf4/msfvenom/all 199 | msfvenom --list nops > ~/.msf4/msfvenom/nops 200 | msfvenom --list payloads > ~/.msf4/msfvenom/payloads 201 | msfvenom --list encoders > ~/.msf4/msfvenom/encoders 202 | msfvenom --help-formats 2> ~/.msf4/msfvenom/formats 203 | } 204 | ### DNS - Check ("#.abc" is Okay) 205 | alias dns3="dig +short @208.67.220.220 which.opendns.com txt" 206 | 207 | ### Network Services 208 | alias listen="netstat -antp | grep LISTEN" 209 | 210 | ### HDD size 211 | alias hogs="for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11" 212 | 213 | ### Listing 214 | alias ll="ls -l --block-size=1 --color=auto" 215 | 216 | ## tftp 217 | alias tftproot="cd /var/tftp/" 218 | 219 | ## ftp 220 | alias ftproot="cd /var/ftp/" 221 | 222 | ## smb 223 | alias smb="cd /var/samba/" 224 | #alias smbroot="cd /var/samba/" 225 | 226 | ## VirtualBox 227 | alias vm="virtualbox &" 228 | 229 | -------------------------------------------------------------------------------- /Backup-files/.bashrc: -------------------------------------------------------------------------------- 1 | # ~/.bashrc: executed by bash(1) for non-login shells. 2 | # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) 3 | # for examples 4 | 5 | # If not running interactively, don't do anything 6 | case $- in 7 | *i*) ;; 8 | *) return;; 9 | esac 10 | 11 | # don't put duplicate lines or lines starting with space in the history. 12 | # See bash(1) for more options 13 | HISTCONTROL=ignoreboth 14 | 15 | # append to the history file, don't overwrite it 16 | shopt -s histappend 17 | 18 | # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) 19 | HISTSIZE=1000 20 | HISTFILESIZE=2000 21 | 22 | # check the window size after each command and, if necessary, 23 | # update the values of LINES and COLUMNS. 24 | shopt -s checkwinsize 25 | 26 | # If set, the pattern "**" used in a pathname expansion context will 27 | # match all files and zero or more directories and subdirectories. 28 | #shopt -s globstar 29 | 30 | # make less more friendly for non-text input files, see lesspipe(1) 31 | #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" 32 | 33 | # set variable identifying the chroot you work in (used in the prompt below) 34 | if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then 35 | debian_chroot=$(cat /etc/debian_chroot) 36 | fi 37 | 38 | # set a fancy prompt (non-color, unless we know we "want" color) 39 | case "$TERM" in 40 | xterm-color) color_prompt=yes;; 41 | esac 42 | 43 | # uncomment for a colored prompt, if the terminal has the capability; turned 44 | # off by default to not distract the user: the focus in a terminal window 45 | # should be on the output of commands, not on the prompt 46 | force_color_prompt=yes 47 | 48 | if [ -n "$force_color_prompt" ]; then 49 | if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then 50 | # We have color support; assume it's compliant with Ecma-48 51 | # (ISO/IEC-6429). (Lack of such support is extremely rare, and such 52 | # a case would tend to support setf rather than setaf.) 53 | color_prompt=yes 54 | else 55 | color_prompt= 56 | fi 57 | fi 58 | 59 | if [ "$color_prompt" = yes ]; then 60 | PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 61 | else 62 | PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' 63 | fi 64 | unset color_prompt force_color_prompt 65 | 66 | # If this is an xterm set the title to user@host:dir 67 | case "$TERM" in 68 | xterm*|rxvt*) 69 | PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" 70 | ;; 71 | *) 72 | ;; 73 | esac 74 | 75 | # enable color support of ls and also add handy aliases 76 | if [ -x /usr/bin/dircolors ]; then 77 | test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 78 | alias ls='ls --color=auto' 79 | alias dir='dir --color=auto' 80 | alias vdir='vdir --color=auto' 81 | 82 | alias grep='grep --color=auto' 83 | alias fgrep='fgrep --color=auto' 84 | alias egrep='egrep --color=auto' 85 | fi 86 | 87 | # some more ls aliases 88 | alias ll='ls -l' 89 | alias la='ls -A' 90 | alias l='ls -CF' 91 | 92 | # Alias definitions. 93 | # You may want to put all your additions into a separate file like 94 | # ~/.bash_aliases, instead of adding them here directly. 95 | # See /usr/share/doc/bash-doc/examples in the bash-doc package. 96 | 97 | if [ -f ~/.bash_aliases ]; then 98 | . ~/.bash_aliases 99 | fi 100 | 101 | # enable programmable completion features (you don't need to enable 102 | # this, if it's already enabled in /etc/bash.bashrc and /etc/profile 103 | # sources /etc/bash.bashrc). 104 | if ! shopt -oq posix; then 105 | if [ -f /usr/share/bash-completion/bash_completion ]; then 106 | . /usr/share/bash-completion/bash_completion 107 | elif [ -f /etc/bash_completion ]; then 108 | . /etc/bash_completion 109 | fi 110 | fi 111 | ‘export PATH=/root/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin’ 112 | 113 | imwheel --kill --buttons "4 5" -------------------------------------------------------------------------------- /Backup-files/bash.bashrc: -------------------------------------------------------------------------------- 1 | # System-wide .bashrc file for interactive bash(1) shells. 2 | 3 | # To enable the settings / commands in this file for login shells as well, 4 | # this file has to be sourced in /etc/profile. 5 | 6 | # If not running interactively, don't do anything 7 | [ -z "$PS1" ] && return 8 | 9 | # check the window size after each command and, if necessary, 10 | # update the values of LINES and COLUMNS. 11 | shopt -s checkwinsize 12 | 13 | # set variable identifying the chroot you work in (used in the prompt below) 14 | if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then 15 | debian_chroot=$(cat /etc/debian_chroot) 16 | fi 17 | 18 | # set a fancy prompt (non-color, overwrite the one in /etc/profile) 19 | PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 20 | 21 | # Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. 22 | # If this is an xterm set the title to user@host:dir 23 | #case "$TERM" in 24 | #xterm*|rxvt*) 25 | # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' 26 | # ;; 27 | #*) 28 | # ;; 29 | #esac 30 | 31 | # enable bash completion in interactive shells 32 | if ! shopt -oq posix; then 33 | if [ -f /usr/share/bash-completion/bash_completion ]; then 34 | . /usr/share/bash-completion/bash_completion 35 | elif [ -f /etc/bash_completion ]; then 36 | . /etc/bash_completion 37 | fi 38 | fi 39 | 40 | # if the command-not-found package is installed, use it 41 | if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then 42 | function command_not_found_handle { 43 | # check because c-n-f could've been removed in the meantime 44 | if [ -x /usr/lib/command-not-found ]; then 45 | /usr/lib/command-not-found -- "$1" 46 | return $? 47 | elif [ -x /usr/share/command-not-found/command-not-found ]; then 48 | /usr/share/command-not-found/command-not-found -- "$1" 49 | return $? 50 | else 51 | printf "%s: command not found\n" "$1" >&2 52 | return 127 53 | fi 54 | } 55 | fi 56 | shopt -sq cdspell 57 | shopt -s autocd 58 | shopt -sq nocaseglob 59 | HISTSIZE=10000 60 | HISTFILESIZE=10000 61 | force_color_prompt=yes 62 | export LS_OPTIONS='--color=auto' 63 | eval "$(dircolors)" 64 | alias ls='ls ' 65 | alias ll='ls -l' 66 | alias l='ls -lA' 67 | EDITOR="vim" 68 | MSF_DATABASE_CONFIG=/usr/share/metasploit-framework/config/database.yml 69 | 70 | export PYTHONSTARTUP=$HOME/.pythonstartup 71 | -------------------------------------------------------------------------------- /Kali-fresh-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #------------Metadata---------------------------------------------------------------------------# 3 | # Filename: Kali-fresh-install.sh (Update: 2018-01-23) # 4 | #------------Info-------------------------------------------------------------------------------# 5 | # Personal post-install script for Kali Linux Rolling # 6 | #-Author(s)-------------------------------------------------------------------------------------# 7 | # Aditya Dhan Raj Singh # 8 | #-Operating System------------------------------------------------------------------------------# 9 | # Tested on: Kali Linux 2017.3 x64 # 10 | # https://raw.githubusercontent.com/adityadrs/Kali-Scripts/master/Kali-fresh-install.sh # 11 | #-Licence---------------------------------------------------------------------------------------# 12 | # MIT License ~ http://opensource.org/licenses/MIT # 13 | #-Notes-----------------------------------------------------------------------------------------# 14 | # Run as root straight after a clean install of Kali Rolling # 15 | # --------------- # 16 | # You will need 25GB+ free HDD space before running. # 17 | # --------------- # 18 | # Command line arguments: # 19 | # -burp = Automates configuring Burp Suite (Community) # 20 | # -dns = Use OpenDNS and locks permissions # 21 | # -openvas = Installs & configures OpenVAS vuln scanner # 22 | # -osx = Changes to Apple keyboard layout # 23 | # # 24 | # -keyboard = Change the keyboard layout language # 25 | # -timezone = Change the timezone location # 26 | # # 27 | # e.g. # bash kali-rolling.sh -burp -keyboard gb -openvas # 28 | # --------------- # 29 | # Will cut it up (so modular based), at a later date... # 30 | # --------------- # 31 | # ** This script is meant for _ME_. ** # 32 | # ** EDIT this to meet _YOUR_ requirements! ** # 33 | #-----------------------------------------------------------------------------------------------# 34 | 35 | #change this to your own repository, and script lication 36 | if [ 1 -eq 0 ]; then # This is never true, thus it acts as block comments ;) 37 | ################################################################################ 38 | ### One liner - Grab the latest version and execute! ########################### 39 | ################################################################################ 40 | https://raw.githubusercontent.com/adityadrs/Kali-Scripts/master/Kali-fresh-install.sh \ 41 | && bash Kali-fresh-install.sh -burp -keyboard us -timezone "Delhi/India" 42 | ################################################################################ 43 | fi 44 | 45 | 46 | #-Defaults-------------------------------------------------------------# 47 | 48 | 49 | ##### Location information 50 | keyboardApple=false # Using a Apple/Macintosh keyboard (non VM)? [ --osx ] 51 | keyboardLayout="" # Set keyboard layout [ --keyboard gb] 52 | timezone="" # Set timezone location [ --timezone Europe/London ] 53 | 54 | ##### Optional steps 55 | burpFree=false # Disable configuring Burp Suite (for Burp Pro users...) [ --burp ] 56 | hardenDNS=false # Set static & lock DNS name server [ --dns ] 57 | openVAS=false # Install & configure OpenVAS (not everyone wants it...) [ --openvas ] 58 | 59 | ##### (Optional) Enable debug mode? 60 | #set -x 61 | 62 | ##### (Cosmetic) Colour output 63 | RED="\033[01;31m" # Issues/Errors 64 | GREEN="\033[01;32m" # Success 65 | YELLOW="\033[01;33m" # Warnings/Information 66 | BLUE="\033[01;34m" # Heading 67 | BOLD="\033[01;01m" # Highlight 68 | RESET="\033[00m" # Normal 69 | 70 | STAGE=0 # Where are we up to 71 | TOTAL=$( grep '(${STAGE}/${TOTAL})' $0 | wc -l );(( TOTAL-- )) # How many things have we got todo 72 | 73 | 74 | #-Arguments------------------------------------------------------------# 75 | 76 | 77 | ##### Read command line arguments 78 | while [[ "${#}" -gt 0 && ."${1}" == .-* ]]; do 79 | opt="${1}"; 80 | shift; 81 | case "$(echo ${opt} | tr '[:upper:]' '[:lower:]')" in 82 | -|-- ) break 2;; 83 | 84 | -osx|--osx ) 85 | keyboardApple=true;; 86 | -apple|--apple ) 87 | keyboardApple=true;; 88 | 89 | -dns|--dns ) 90 | hardenDNS=true;; 91 | 92 | -openvas|--openvas ) 93 | openVAS=true;; 94 | 95 | -burp|--burp ) 96 | burpFree=true;; 97 | 98 | -keyboard|--keyboard ) 99 | keyboardLayout="${1}"; shift;; 100 | -keyboard=*|--keyboard=* ) 101 | keyboardLayout="${opt#*=}";; 102 | 103 | -timezone|--timezone ) 104 | timezone="${1}"; shift;; 105 | -timezone=*|--timezone=* ) 106 | timezone="${opt#*=}";; 107 | 108 | *) echo -e ' '${RED}'[!]'${RESET}" Unknown option: ${RED}${x}${RESET}" 1>&2 \ 109 | && exit 1;; 110 | esac 111 | done 112 | 113 | ##### Check user inputs 114 | if [[ -n "${timezone}" && ! -f "/usr/share/zoneinfo/${timezone}" ]]; then 115 | echo -e ' '${RED}'[!]'${RESET}" Looks like the ${RED}timezone '${timezone}'${RESET} is incorrect/not supported (Example: ${BOLD}Europe/London${RESET})" 1>&2 116 | echo -e ' '${RED}'[!]'${RESET}" Quitting..." 1>&2 117 | exit 1 118 | elif [[ -n "${keyboardLayout}" && -e /usr/share/X11/xkb/rules/xorg.lst ]]; then 119 | if ! $(grep -q " ${keyboardLayout} " /usr/share/X11/xkb/rules/xorg.lst); then 120 | echo -e ' '${RED}'[!]'${RESET}" Looks like the ${RED}keyboard layout '${keyboardLayout}'${RESET} is incorrect/not supported (Example: ${BOLD}gb${RESET})" 1>&2 121 | echo -e ' '${RED}'[!]'${RESET}" Quitting..." 1>&2 122 | exit 1 123 | fi 124 | fi 125 | 126 | 127 | #-Start----------------------------------------------------------------# 128 | 129 | ##### Check if we are running as root - else this script will fail (hard!) 130 | if [[ "${EUID}" -ne 0 ]]; then 131 | echo -e ' '${RED}'[!]'${RESET}" This script must be ${RED}run as root${RESET}" 1>&2 132 | echo -e ' '${RED}'[!]'${RESET}" Quitting..." 1>&2 133 | exit 1 134 | else 135 | echo -e " ${BLUE}[*]${RESET} ${BOLD}Kali Linux rolling post-install script${RESET}" 136 | sleep 3s 137 | fi 138 | 139 | if [ "${burpFree}" != "true" ]; then 140 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping Burp Suite${RESET} (missing: '$0 ${BOLD}--burp${RESET}')..." 1>&2 141 | sleep 2s 142 | fi 143 | 144 | 145 | ##### Fix display output for GUI programs (when connecting via SSH) 146 | export DISPLAY=:0.0 147 | export TERM=xterm 148 | 149 | 150 | ##### Are we using GNOME? 151 | if [[ $(which gnome-shell) ]]; then 152 | ##### RAM check 153 | if [[ "$(free -m | grep -i Mem | awk '{print $2}')" < 2048 ]]; then 154 | echo -e '\n '${RED}'[!]'${RESET}" ${RED}You have <= 2GB of RAM and using GNOME${RESET}" 1>&2 155 | echo -e " ${YELLOW}[i]${RESET} ${YELLOW}Might want to use XFCE instead${RESET}..." 156 | sleep 15s 157 | fi 158 | 159 | 160 | 161 | ##### Disable its auto notification package updater 162 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Disabling GNOME's ${GREEN}notification package updater${RESET} service ~ in case it runs during this script" 163 | export DISPLAY=:0.0 164 | timeout 5 killall -w /usr/lib/apt/methods/http >/dev/null 2>&1 165 | 166 | 167 | ##### Disable screensaver 168 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Disabling ${GREEN}screensaver${RESET}" 169 | xset s 0 0 170 | xset s off 171 | gsettings set org.gnome.desktop.session idle-delay 0 172 | else 173 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping disabling package updater${RESET}..." 174 | fi 175 | 176 | 177 | ##### Check Internet access 178 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Checking ${GREEN}Internet access${RESET}" 179 | #--- Can we ping google? 180 | for i in {1..10}; do ping -c 1 -W ${i} www.google.com &>/dev/null && break; done 181 | #--- Run this, if we can't 182 | if [[ "$?" -ne 0 ]]; then 183 | echo -e ' '${RED}'[!]'${RESET}" ${RED}Possible DNS issues${RESET}(?)" 1>&2 184 | echo -e ' '${RED}'[!]'${RESET}" Will try and use ${YELLOW}DHCP${RESET} to 'fix' the issue" 1>&2 185 | chattr -i /etc/resolv.conf 2>/dev/null 186 | dhclient -r 187 | #--- Second interface causing issues? 188 | ip addr show eth1 &>/dev/null 189 | [[ "$?" == 0 ]] \ 190 | && route delete default gw 192.168.155.1 2>/dev/null 191 | #--- Request a new IP 192 | dhclient 193 | dhclient eth0 2>/dev/null 194 | dhclient wlan0 2>/dev/null 195 | #--- Wait and see what happens 196 | sleep 15s 197 | _TMP="true" 198 | _CMD="$(ping -c 1 8.8.8.8 &>/dev/null)" 199 | if [[ "$?" -ne 0 && "$_TMP" == "true" ]]; then 200 | _TMP="false" 201 | echo -e ' '${RED}'[!]'${RESET}" ${RED}No Internet access${RESET}" 1>&2 202 | echo -e ' '${RED}'[!]'${RESET}" You will need to manually fix the issue, before re-running this script" 1>&2 203 | fi 204 | _CMD="$(ping -c 1 www.google.com &>/dev/null)" 205 | if [[ "$?" -ne 0 && "$_TMP" == "true" ]]; then 206 | _TMP="false" 207 | echo -e ' '${RED}'[!]'${RESET}" ${RED}Possible DNS issues${RESET}(?)" 1>&2 208 | echo -e ' '${RED}'[!]'${RESET}" You will need to manually fix the issue, before re-running this script" 1>&2 209 | fi 210 | if [[ "$_TMP" == "false" ]]; then 211 | (dmidecode | grep -iq virtual) && echo -e " ${YELLOW}[i]${RESET} VM Detected" 212 | (dmidecode | grep -iq virtual) && echo -e " ${YELLOW}[i]${RESET} ${YELLOW}Try switching network adapter mode${RESET} (e.g. NAT/Bridged)" 213 | echo -e ' '${RED}'[!]'${RESET}" Quitting..." 1>&2 214 | exit 1 215 | fi 216 | else 217 | echo -e " ${YELLOW}[i]${RESET} ${YELLOW}Detected Internet access${RESET}" 1>&2 218 | fi 219 | #--- GitHub under DDoS? 220 | (( STAGE++ )); echo -e " ${GREEN}[i]${RESET} (${STAGE}/${TOTAL}) Checking ${GREEN}GitHub status${RESET}" 221 | timeout 300 curl --progress -k -L -f "https://status.github.com/api/status.json" | grep -q "good" \ 222 | || (echo -e ' '${RED}'[!]'${RESET}" ${RED}GitHub is currently having issues${RESET}. ${BOLD}Lots may fail${RESET}. See: https://status.github.com/" 1>&2 \ 223 | && exit 1) 224 | 225 | 226 | ##### Enable default network repositories ~ http://docs.kali.org/general-use/kali-linux-sources-list-repositories 227 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Enabling default OS ${GREEN}network repositories${RESET}" 228 | #--- Add network repositoires 229 | file=/etc/apt/sources.list; [ -e "${file}" ] && cp -n $file{,.bkup} 230 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 231 | #--- Main 232 | grep -q '^deb .* kali-rolling' "${file}" 2>/dev/null \ 233 | || echo -e "\n\n# Kali Rolling\ndeb http://http.kali.org/kali kali-rolling main contrib non-free" >> "${file}" 234 | #--- Source 235 | grep -q '^deb-src .* kali-rolling' "${file}" 2>/dev/null \ 236 | || echo -e "deb-src http://http.kali.org/kali kali-rolling main contrib non-free" >> "${file}" 237 | #--- Disable CD repositories 238 | sed -i '/kali/ s/^\( \|\t\|\)deb cdrom/#deb cdrom/g' "${file}" 239 | #--- incase we were interrupted 240 | dpkg --configure -a 241 | #--- Update 242 | apt -qq update 243 | if [[ "$?" -ne 0 ]]; then 244 | echo -e ' '${RED}'[!]'${RESET}" There was an ${RED}issue accessing network repositories${RESET}" 1>&2 245 | echo -e " ${YELLOW}[i]${RESET} Are the remote network repositories ${YELLOW}currently being sync'd${RESET}?" 246 | echo -e " ${YELLOW}[i]${RESET} Here is ${BOLD}YOUR${RESET} local network ${BOLD}repository${RESET} information (Geo-IP based):\n" 247 | curl -sI http://http.kali.org/README 248 | exit 1 249 | fi 250 | 251 | 252 | ##### Update location information - set either value to "" to skip. 253 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Updating ${GREEN}location information${RESET}" 254 | #--- Configure keyboard layout (Apple) 255 | if [ "${keyboardApple}" != "false" ]; then 256 | ( (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Applying ${GREEN}Apple hardware${RESET} profile" ) 257 | file=/etc/default/keyboard; #[ -e "${file}" ] && cp -n $file{,.bkup} 258 | sed -i 's/XKBVARIANT=".*"/XKBVARIANT="mac"/' "${file}" 259 | fi 260 | #--- Configure keyboard layout (location) 261 | if [[ -n "${keyboardLayout}" ]]; then 262 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Updating ${GREEN}location information${RESET} ~ keyboard layout (${BOLD}${keyboardLayout}${RESET})" 263 | geoip_keyboard=$(curl -s http://ifconfig.io/country_code | tr '[:upper:]' '[:lower:]') 264 | [ "${geoip_keyboard}" != "${keyboardLayout}" ] \ 265 | && echo -e " ${YELLOW}[i]${RESET} Keyboard layout (${BOLD}${keyboardLayout}${RESET}) doesn't match what's been detected via GeoIP (${BOLD}${geoip_keyboard}${RESET})" 266 | file=/etc/default/keyboard; #[ -e "${file}" ] && cp -n $file{,.bkup} 267 | sed -i 's/XKBLAYOUT=".*"/XKBLAYOUT="'${keyboardLayout}'"/' "${file}" 268 | else 269 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping keyboard layout${RESET} (missing: '$0 ${BOLD}--keyboard ${RESET}')..." 1>&2 270 | fi 271 | #--- Changing time zone 272 | if [[ -n "${timezone}" ]]; then 273 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Updating ${GREEN}location information${RESET} ~ time zone (${BOLD}${timezone}${RESET})" 274 | echo "${timezone}" > /etc/timezone 275 | ln -sf "/usr/share/zoneinfo/$(cat /etc/timezone)" /etc/localtime 276 | dpkg-reconfigure -f noninteractive tzdata 277 | else 278 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping time zone${RESET} (missing: '$0 ${BOLD}--timezone ${RESET}')..." 1>&2 279 | fi 280 | #--- Installing ntp tools 281 | (( STAGE++ )); echo -e " ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ntpdate${RESET} ~ keeping the time in sync" 282 | apt -y -qq install ntp ntpdate \ 283 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 284 | #--- Update time 285 | ntpdate -b -s -u pool.ntp.org 286 | #--- Start service 287 | systemctl restart ntp 288 | #--- Remove from start up 289 | systemctl disable ntp 2>/dev/null 290 | #--- Only used for stats at the end 291 | start_time=$(date +%s) 292 | 293 | ##### Update OS from network repositories 294 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) ${GREEN}Updating OS${RESET} from network repositories" 295 | echo -e " ${YELLOW}[i]${RESET} ...this ${BOLD}may take a while${RESET} depending on your Internet connection & Kali version/age" 296 | for FILE in clean autoremove; do apt -y -qq "${FILE}"; done # Clean up clean remove autoremove autoclean 297 | export DEBIAN_FRONTEND=noninteractive 298 | apt -qq update && APT_LISTCHANGES_FRONTEND=none apt -o Dpkg::Options::="--force-confnew" -y dist-upgrade --fix-missing 2>&1 \ 299 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 300 | #--- Cleaning up temp stuff 301 | for FILE in clean autoremove; do apt -y -qq "${FILE}"; done # Clean up - clean remove autoremove autoclean 302 | #--- Check kernel stuff 303 | _TMP=$(dpkg -l | grep linux-image- | grep -vc meta) 304 | if [[ "${_TMP}" -gt 1 ]]; then 305 | echo -e "\n ${YELLOW}[i]${RESET} Detected ${YELLOW}multiple kernels${RESET}" 306 | TMP=$(dpkg -l | grep linux-image | grep -v meta | sort -t '.' -k 2 -g | tail -n 1 | grep "$(uname -r)") 307 | if [[ -z "${TMP}" ]]; then 308 | echo -e '\n '${RED}'[!]'${RESET}' You are '${RED}'not using the latest kernel'${RESET} 1>&2 309 | echo -e " ${YELLOW}[i]${RESET} You have it ${YELLOW}downloaded${RESET} & installed, just ${YELLOW}not USING IT${RESET}" 310 | #echo -e "\n ${YELLOW}[i]${RESET} You ${YELLOW}NEED to REBOOT${RESET}, before re-running this script" 311 | #exit 1 312 | sleep 30s 313 | else 314 | echo -e " ${YELLOW}[i]${RESET} ${YELLOW}You're using the latest kernel${RESET} (Good to continue)" 315 | fi 316 | fi 317 | 318 | 319 | ##### Install kernel headers 320 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}kernel headers${RESET}" 321 | apt -y -qq install make gcc "linux-headers-$(uname -r)" \ 322 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 323 | if [[ $? -ne 0 ]]; then 324 | echo -e ' '${RED}'[!]'${RESET}" There was an ${RED}issue installing kernel headers${RESET}" 1>&2 325 | echo -e " ${YELLOW}[i]${RESET} Are you ${YELLOW}USING${RESET} the ${YELLOW}latest kernel${RESET}?" 326 | echo -e " ${YELLOW}[i]${RESET} ${YELLOW}Reboot${RESET} your machine" 327 | #exit 1 328 | sleep 30s 329 | fi 330 | 331 | 332 | ##### Install "kali full" meta packages (default tool selection) 333 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}kali-linux-full${RESET} meta-package" 334 | echo -e " ${YELLOW}[i]${RESET} ...this ${BOLD}may take a while${RESET} depending on your Kali version (e.g. ARM, light, mini or docker...)" 335 | #--- Kali's default tools ~ https://www.kali.org/news/kali-linux-metapackages/ 336 | apt -y -qq install kali-linux-full \ 337 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 338 | 339 | 340 | ##### Set audio level 341 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Setting ${GREEN}audio${RESET} levels" 342 | systemctl --user enable pulseaudio 343 | systemctl --user start pulseaudio 344 | pactl set-sink-mute 0 0 345 | pactl set-sink-volume 0 25% 346 | 347 | 348 | ##### Configure GRUB 349 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}GRUB${RESET} ~ boot manager" 350 | grubTimeout=5 351 | (dmidecode | grep -iq virtual) && grubTimeout=3 # Much less if we are in a VM 352 | file=/etc/default/grub; [ -e "${file}" ] && cp -n $file{,.bkup} 353 | sed -i 's/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT='${grubTimeout}'/' "${file}" # Time out (lower if in a virtual machine, else possible dual booting) 354 | sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="vga=0x0318"/' "${file}" # TTY resolution 355 | update-grub 356 | 357 | if [[ $(dmidecode | grep -i virtual) ]]; then 358 | ###### Configure login screen 359 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}login screen${RESET}" 360 | #--- Enable auto (gui) login 361 | file=/etc/gdm3/daemon.conf; [ -e "${file}" ] && cp -n $file{,.bkup} 362 | sed -i 's/^.*AutomaticLoginEnable = .*/AutomaticLoginEnable = false/' "${file}" 363 | sed -i 's/^.*AutomaticLogin = .*/AutomaticLogin = root/' "${file}" 364 | fi 365 | 366 | 367 | if [[ $(which gnome-shell) ]]; then 368 | ##### Configure GNOME 3 369 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}GNOME 3${RESET} ~ desktop environment" 370 | export DISPLAY=:0.0 371 | #-- Gnome Extension - Dash Dock (the toolbar with all the icons) 372 | gsettings set org.gnome.shell.extensions.dash-to-dock extend-height true # Set dock to use the full height 373 | gsettings set org.gnome.shell.extensions.dash-to-dock dock-position 'LEFT' # Set dock to the right 374 | gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true # Set dock to be always visible 375 | gsettings set org.gnome.shell favorite-apps \ 376 | "['gnome-terminal.desktop', 'org.gnome.Nautilus.desktop', 'kali-wireshark.desktop', 'firefox-esr.desktop', 'kali-burpsuite.desktop', 'kali-msfconsole.desktop', 'gedit.desktop']" 377 | #-- Gnome Extension - Alternate-tab (So it doesn't group the same windows up) 378 | GNOME_EXTENSIONS=$(gsettings get org.gnome.shell enabled-extensions | sed 's_^.\(.*\).$_\1_') 379 | echo "${GNOME_EXTENSIONS}" | grep -q "alternate-tab@gnome-shell-extensions.gcampax.github.com" \ 380 | || gsettings set org.gnome.shell enabled-extensions "[${GNOME_EXTENSIONS}, 'alternate-tab@gnome-shell-extensions.gcampax.github.com']" 381 | #-- Gnome Extension - Drive Menu (Show USB devices in tray) 382 | GNOME_EXTENSIONS=$(gsettings get org.gnome.shell enabled-extensions | sed 's_^.\(.*\).$_\1_') 383 | echo "${GNOME_EXTENSIONS}" | grep -q "drive-menu@gnome-shell-extensions.gcampax.github.com" \ 384 | || gsettings set org.gnome.shell enabled-extensions "[${GNOME_EXTENSIONS}, 'drive-menu@gnome-shell-extensions.gcampax.github.com']" 385 | #--- Workspaces 386 | gsettings set org.gnome.shell.overrides dynamic-workspaces false # Static 387 | gsettings set org.gnome.desktop.wm.preferences num-workspaces 3 # Increase workspaces count to 3 388 | #--- Top bar 389 | gsettings set org.gnome.desktop.interface clock-show-date true # Show date next to time in the top tool bar 390 | #--- Keyboard short-cuts 391 | (dmidecode | grep -iq virtual) && gsettings set org.gnome.mutter overlay-key "Super_L" # Change 'super' key to right side (rather than left key), if in a VM 392 | #--- Hide desktop icon 393 | dconf write /org/gnome/nautilus/desktop/computer-icon-visible false 394 | else 395 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping GNOME${RESET}..." 1>&2 396 | fi 397 | 398 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Bookmarks ${GREEN}file${RESET} " 399 | #--- Bookmarks 400 | file=/root/.gtk-bookmarks; [ -e "${file}" ] && cp -n $file{,.bkup} 401 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 402 | grep -q '^file:///root/Downloads ' "${file}" 2>/dev/null \ 403 | || echo 'file:///root/Downloads Downloads' >> "${file}" 404 | grep -q '^file:///tmp ' "${file}" 2>/dev/null \ 405 | || echo 'file:///tmp /TMP' >> "${file}" 406 | grep -q '^file:///work ' "${file}" 2>/dev/null \ 407 | || echo 'file:///work Work' >> "${file}" 408 | mkdir /work/github 409 | grep -q '^file:///work/github ' "${file}" 2>/dev/null \ 410 | || echo 'file:///work/github GitHub' >> "${file}" 411 | mkdir /work/ArIES 412 | grep -q '^file:///work/ArIES ' "${file}" 2>/dev/null \ 413 | || echo 'file:///work/ArIES ArIES' >> "${file}" 414 | mkdir /work/machine_learning 415 | grep -q '^file:///work/machine_learning ' "${file}" 2>/dev/null \ 416 | || echo 'file:///work/machine_learning ML' >> "${file}" 417 | mkdir /work/machine_learning/neuralnetwork 418 | grep -q '^file:///work/machine_learning/neuralnetwork ' "${file}" 2>/dev/null \ 419 | || echo 'file:///work/machine_learning/neuralnetwork NN' >> "${file}" 420 | 421 | ##### Configure GNOME terminal Note: need to restart xserver for effect 422 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring GNOME ${GREEN}terminal${RESET} ~ CLI interface" 423 | gconftool-2 -t bool -s /apps/gnome-terminal/profiles/Default/scrollback_unlimited true 424 | gconftool-2 -t string -s /apps/gnome-terminal/profiles/Default/background_type transparent 425 | gconftool-2 -t string -s /apps/gnome-terminal/profiles/Default/background_darkness 0.85611499999999996 426 | 427 | ##### Configure bash - all users 428 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}bash${RESET} ~ CLI shell" 429 | file=/etc/bash.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} #~/.bashrc 430 | grep -q "cdspell" "${file}" \ 431 | || echo "shopt -sq cdspell" >> "${file}" # Spell check 'cd' commands 432 | grep -q "autocd" "${file}" \ 433 | || echo "shopt -s autocd" >> "${file}" # So you don't have to 'cd' before a folder 434 | #grep -q "CDPATH" "${file}" \ 435 | # || echo "CDPATH=/etc:/usr/share/:/opt" >> "${file}" # Always CD into these folders 436 | grep -q "checkwinsize" "${file}" \ 437 | || echo "shopt -sq checkwinsize" >> "${file}" # Wrap lines correctly after resizing 438 | grep -q "nocaseglob" "${file}" \ 439 | || echo "shopt -sq nocaseglob" >> "${file}" # Case insensitive pathname expansion 440 | grep -q "HISTSIZE" "${file}" \ 441 | || echo "HISTSIZE=10000" >> "${file}" # Bash history (memory scroll back) 442 | grep -q "HISTFILESIZE" "${file}" \ 443 | || echo "HISTFILESIZE=10000" >> "${file}" # Bash history (file .bash_history) 444 | #--- Apply new configs 445 | source "${file}" || source ~/.zshrc 446 | 447 | ##### Install bash colour - all users 448 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}bash colour${RESET} ~ colours shell output" 449 | file=/etc/bash.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} #~/.bashrc 450 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 451 | sed -i 's/.*force_color_prompt=.*/force_color_prompt=yes/' "${file}" 452 | grep -q '^force_color_prompt' "${file}" 2>/dev/null \ 453 | || echo 'force_color_prompt=yes' >> "${file}" 454 | sed -i 's#PS1='"'"'.*'"'"'#PS1='"'"'${debian_chroot:+($debian_chroot)}\\[\\033\[01;31m\\]\\u@\\h\\\[\\033\[00m\\]:\\[\\033\[01;34m\\]\\w\\[\\033\[00m\\]\\$ '"'"'#' "${file}" 455 | grep -q "^export LS_OPTIONS='--color=auto'" "${file}" 2>/dev/null \ 456 | || echo "export LS_OPTIONS='--color=auto'" >> "${file}" 457 | grep -q '^eval "$(dircolors)"' "${file}" 2>/dev/null \ 458 | || echo 'eval "$(dircolors)"' >> "${file}" 459 | grep -q "^alias ls='ls $LS_OPTIONS'" "${file}" 2>/dev/null \ 460 | || echo "alias ls='ls $LS_OPTIONS'" >> "${file}" 461 | grep -q "^alias ll='ls $LS_OPTIONS -l'" "${file}" 2>/dev/null \ 462 | || echo "alias ll='ls $LS_OPTIONS -l'" >> "${file}" 463 | grep -q "^alias l='ls $LS_OPTIONS -lA'" "${file}" 2>/dev/null \ 464 | || echo "alias l='ls $LS_OPTIONS -lA'" >> "${file}" 465 | #--- All other users that are made afterwards 466 | file=/etc/skel/.bashrc #; [ -e "${file}" ] && cp -n $file{,.bkup} 467 | sed -i 's/.*force_color_prompt=.*/force_color_prompt=yes/' "${file}" 468 | #--- Apply new configs 469 | source "${file}" || source ~/.zshrc 470 | 471 | 472 | 473 | ##### Install grc 474 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}grc${RESET} ~ colours shell output" 475 | apt -y -qq install grc \ 476 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 477 | #--- Setup aliases 478 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 479 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 480 | grep -q '^## grc diff alias' "${file}" 2>/dev/null \ 481 | || echo -e "## grc diff alias\nalias diff='$(which grc) $(which diff)'\n" >> "${file}" 482 | grep -q '^## grc dig alias' "${file}" 2>/dev/null \ 483 | || echo -e "## grc dig alias\nalias dig='$(which grc) $(which dig)'\n" >> "${file}" 484 | grep -q '^## grc gcc alias' "${file}" 2>/dev/null \ 485 | || echo -e "## grc gcc alias\nalias gcc='$(which grc) $(which gcc)'\n" >> "${file}" 486 | grep -q '^## grc ifconfig alias' "${file}" 2>/dev/null \ 487 | || echo -e "## grc ifconfig alias\nalias ifconfig='$(which grc) $(which ifconfig)'\n" >> "${file}" 488 | grep -q '^## grc mount alias' "${file}" 2>/dev/null \ 489 | || echo -e "## grc mount alias\nalias mount='$(which grc) $(which mount)'\n" >> "${file}" 490 | grep -q '^## grc netstat alias' "${file}" 2>/dev/null \ 491 | || echo -e "## grc netstat alias\nalias netstat='$(which grc) $(which netstat)'\n" >> "${file}" 492 | grep -q '^## grc ping alias' "${file}" 2>/dev/null \ 493 | || echo -e "## grc ping alias\nalias ping='$(which grc) $(which ping)'\n" >> "${file}" 494 | grep -q '^## grc ps alias' "${file}" 2>/dev/null \ 495 | || echo -e "## grc ps alias\nalias ps='$(which grc) $(which ps)'\n" >> "${file}" 496 | grep -q '^## grc tail alias' "${file}" 2>/dev/null \ 497 | || echo -e "## grc tail alias\nalias tail='$(which grc) $(which tail)'\n" >> "${file}" 498 | grep -q '^## grc traceroute alias' "${file}" 2>/dev/null \ 499 | || echo -e "## grc traceroute alias\nalias traceroute='$(which grc) $(which traceroute)'\n" >> "${file}" 500 | grep -q '^## grc wdiff alias' "${file}" 2>/dev/null \ 501 | || echo -e "## grc wdiff alias\nalias wdiff='$(which grc) $(which wdiff)'\n" >> "${file}" 502 | #configure #esperanto #ldap #e #cvs #log #mtr #ls #irclog #mount2 #mount 503 | #--- Apply new aliases 504 | source "${file}" || source ~/.zshrc 505 | 506 | 507 | ##### Install bash completion - all users 508 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}bash completion${RESET} ~ tab complete CLI commands" 509 | apt -y -qq install bash-completion \ 510 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 511 | file=/etc/bash.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} #~/.bashrc 512 | sed -i '/# enable bash completion in/,+7{/enable bash completion/!s/^#//}' "${file}" 513 | #--- Apply new configs 514 | source "${file}" || source ~/.zshrc 515 | 516 | 517 | ##### Configure aliases - root user 518 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}aliases${RESET} ~ CLI shortcuts" 519 | #--- Enable defaults - root user 520 | for FILE in /etc/bash.bashrc ~/.bashrc ~/.bash_aliases; do #/etc/profile /etc/bashrc /etc/bash_aliases /etc/bash.bash_aliases 521 | [[ ! -f "${FILE}" ]] \ 522 | && continue 523 | cp -n $FILE{,.bkup} 524 | sed -i 's/#alias/alias/g' "${FILE}" 525 | done 526 | #--- General system ones 527 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 528 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 529 | grep -q '^## grep aliases' "${file}" 2>/dev/null \ 530 | || echo -e '## grep aliases\nalias grep="grep --color=always"\nalias ngrep="grep -n"\n' >> "${file}" 531 | grep -q '^alias egrep=' "${file}" 2>/dev/null \ 532 | || echo -e 'alias egrep="egrep --color=auto"\n' >> "${file}" 533 | grep -q '^alias fgrep=' "${file}" 2>/dev/null \ 534 | || echo -e 'alias fgrep="fgrep --color=auto"\n' >> "${file}" 535 | #--- Add in ours (OS programs) 536 | grep -q '^alias tmux' "${file}" 2>/dev/null \ 537 | || echo -e '## tmux\nalias tmux="tmux attach || tmux new"\n' >> "${file}" #alias tmux="tmux attach -t $HOST || tmux new -s $HOST" 538 | grep -q '^alias axel' "${file}" 2>/dev/null \ 539 | || echo -e '## axel\nalias axel="axel -a"\n' >> "${file}" 540 | grep -q '^alias screen' "${file}" 2>/dev/null \ 541 | || echo -e '## screen\nalias screen="screen -xRR"\n' >> "${file}" 542 | #--- Add in ours (shortcuts) 543 | grep -q '^## Checksums' "${file}" 2>/dev/null \ 544 | || echo -e '## Checksums\nalias sha1="openssl sha1"\nalias md5="openssl md5"\n' >> "${file}" 545 | grep -q '^## Force create folders' "${file}" 2>/dev/null \ 546 | || echo -e '## Force create folders\nalias mkdir="/bin/mkdir -pv"\n' >> "${file}" 547 | #grep -q '^## Mount' "${file}" 2>/dev/null \ 548 | # || echo -e '## Mount\nalias mount="mount | column -t"\n' >> "${file}" 549 | grep -q '^## List open ports' "${file}" 2>/dev/null \ 550 | || echo -e '## List open ports\nalias ports="netstat -tulanp"\n' >> "${file}" 551 | grep -q '^## Get header' "${file}" 2>/dev/null \ 552 | || echo -e '## Get header\nalias header="curl -I"\n' >> "${file}" 553 | grep -q '^## Get external IP address' "${file}" 2>/dev/null \ 554 | || echo -e '## Get external IP address\nalias ipx="curl -s http://ipinfo.io/ip"\n' >> "${file}" 555 | grep -q '^## DNS - External IP #1' "${file}" 2>/dev/null \ 556 | || echo -e '## DNS - External IP #1\nalias dns1="dig +short @resolver1.opendns.com myip.opendns.com"\n' >> "${file}" 557 | grep -q '^## DNS - External IP #2' "${file}" 2>/dev/null \ 558 | || echo -e '## DNS - External IP #2\nalias dns2="dig +short @208.67.222.222 myip.opendns.com"\n' >> "${file}" 559 | grep -q '^## DNS - Check' "${file}" 2>/dev/null \ 560 | || echo -e '### DNS - Check ("#.abc" is Okay)\nalias dns3="dig +short @208.67.220.220 which.opendns.com txt"\n' >> "${file}" 561 | grep -q '^## Directory navigation aliases' "${file}" 2>/dev/null \ 562 | || echo -e '## Directory navigation aliases\nalias ..="cd .."\nalias ...="cd ../.."\nalias ....="cd ../../.."\nalias .....="cd ../../../.."\n' >> "${file}" 563 | grep -q '^## Extract file' "${file}" 2>/dev/null \ 564 | || cat <> "${file}" \ 565 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 566 | 567 | ## Extract file, example. "ex package.tar.bz2" 568 | ex() { 569 | if [[ -f \$1 ]]; then 570 | case \$1 in 571 | *.tar.bz2) tar xjf \$1 ;; 572 | *.tar.gz) tar xzf \$1 ;; 573 | *.bz2) bunzip2 \$1 ;; 574 | *.rar) rar x \$1 ;; 575 | *.gz) gunzip \$1 ;; 576 | *.tar) tar xf \$1 ;; 577 | *.tbz2) tar xjf \$1 ;; 578 | *.tgz) tar xzf \$1 ;; 579 | *.zip) unzip \$1 ;; 580 | *.Z) uncompress \$1 ;; 581 | *.7z) 7z x \$1 ;; 582 | *) echo \$1 cannot be extracted ;; 583 | esac 584 | else 585 | echo \$1 is not a valid file 586 | fi 587 | } 588 | EOF 589 | grep -q '^## strings' "${file}" 2>/dev/null \ 590 | || echo -e '## strings\nalias strings="strings -a"\n' >> "${file}" 591 | grep -q '^## history' "${file}" 2>/dev/null \ 592 | || echo -e '## history\nalias hg="history | grep"\n' >> "${file}" 593 | grep -q '^## Network Services' "${file}" 2>/dev/null \ 594 | || echo -e '### Network Services\nalias listen="netstat -antp | grep LISTEN"\n' >> "${file}" 595 | grep -q '^## HDD size' "${file}" 2>/dev/null \ 596 | || echo -e '### HDD size\nalias hogs="for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11"\n' >> "${file}" 597 | grep -q '^## Listing' "${file}" 2>/dev/null \ 598 | || echo -e '### Listing\nalias ll="ls -l --block-size=1 --color=auto"\n' >> "${file}" 599 | #--- Add in tools 600 | grep -q '^## nmap' "${file}" 2>/dev/null \ 601 | || echo -e '## nmap\nalias nmap="nmap --reason --open --stats-every 3m --max-retries 1 --max-scan-delay 20 --defeat-rst-ratelimit"\n' >> "${file}" 602 | grep -q '^## aircrack-ng' "${file}" 2>/dev/null \ 603 | || echo -e '## aircrack-ng\nalias aircrack-ng="aircrack-ng -z"\n' >> "${file}" 604 | grep -q '^## airodump-ng' "${file}" 2>/dev/null \ 605 | || echo -e '## airodump-ng \nalias airodump-ng="airodump-ng --manufacturer --wps --uptime"\n' >> "${file}" 606 | grep -q '^## metasploit' "${file}" 2>/dev/null \ 607 | || (echo -e '## metasploit\nalias msfc="systemctl start postgresql; msfdb start; msfconsole -q \"\$@\""' >> "${file}" \ 608 | && echo -e 'alias msfconsole="systemctl start postgresql; msfdb start; msfconsole \"\$@\""\n' >> "${file}" ) 609 | [ "${openVAS}" != "false" ] \ 610 | && (grep -q '^## openvas' "${file}" 2>/dev/null \ 611 | || echo -e '## openvas\nalias openvas="openvas-stop; openvas-start; sleep 3s; xdg-open https://127.0.0.1:9392/ >/dev/null 2>&1"\n' >> "${file}") 612 | grep -q '^## mana-toolkit' "${file}" 2>/dev/null \ 613 | || (echo -e '## mana-toolkit\nalias mana-toolkit-start="a2ensite 000-mana-toolkit;a2dissite 000-default; systemctl restart apache2"' >> "${file}" \ 614 | && echo -e 'alias mana-toolkit-stop="a2dissite 000-mana-toolkit; a2ensite 000-default; systemctl restart apache2"\n' >> "${file}" ) 615 | grep -q '^## ssh' "${file}" 2>/dev/null \ 616 | || echo -e '## ssh\nalias ssh-start="systemctl restart ssh"\nalias ssh-stop="systemctl stop ssh"\n' >> "${file}" 617 | grep -q '^## samba' "${file}" 2>/dev/null \ 618 | || echo -e '## samba\nalias smb-start="systemctl restart smbd nmbd"\nalias smb-stop="systemctl stop smbd nmbd"\n' >> "${file}" 619 | grep -q '^## rdesktop' "${file}" 2>/dev/null \ 620 | || echo -e '## rdesktop\nalias rdesktop="rdesktop -z -P -g 90% -r disk:local=\"/tmp/\""\n' >> "${file}" 621 | grep -q '^## python http' "${file}" 2>/dev/null \ 622 | || echo -e '## python http\nalias http="python2 -m SimpleHTTPServer"\n' >> "${file}" 623 | #--- Add in folders 624 | grep -q '^## work' "${file}" 2>/dev/null \ 625 | || echo -e '## work\nalias workroot="cd /work/"\n#alias work="cd /work/"\n' >> "${file}" 626 | grep -q '^## gthb' "${file}" 2>/dev/null \ 627 | || echo -e '## gthb\nalias gthbroot="cd /work/github/"\n' >> "${file}" 628 | grep -q '^## esec' "${file}" 2>/dev/null \ 629 | || echo -e '## esec\nalias esecroot="cd /work/ArIES/"\n' >> "${file}" 630 | grep -q '^## ml' "${file}" 2>/dev/null \ 631 | || echo -e '## ml\nalias ml="cd /work/machine_learning/"\n#alias mlroot="cd /work/machine_learning/"\n' >> "${file}" 632 | grep -q '^## nn' "${file}" 2>/dev/null \ 633 | || echo -e '## nn\nalias nn="cd /work/machine_learning/neuralnetwork/"\nalias nnroot="cd /work/machine_learning/neuralnetwork/"\n' >> "${file}" 634 | #grep -q '^## wordlist' "${file}" 2>/dev/null \ 635 | # || echo -e '## wordlist\nalias wordlists="cd /usr/share/wordlists/"\n' >> "${file}" 636 | #--- Apply new aliases 637 | source "${file}" || source ~/.zshrc 638 | #--- Check 639 | #alias 640 | 641 | 642 | 643 | ######################################################################################################## 644 | ######################################################################################################## 645 | ######################################################################################################## 646 | ######################################################################################################## 647 | ######################################################################################################## 648 | ##### Install (GNOME) Terminator 649 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing (GNOME) ${GREEN}Terminator${RESET} ~ multiple terminals in a single window" 650 | apt -y -qq install terminator \ 651 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 652 | #--- Configure terminator 653 | mkdir -p ~/.config/terminator/ 654 | file=~/.config/terminator/config; [ -e "${file}" ] && cp -n $file{,.bkup} 655 | cat < "${file}" \ 656 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 657 | [global_config] 658 | enabled_plugins = TerminalShot, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler 659 | [keybindings] 660 | [profiles] 661 | [[default]] 662 | background_darkness = 0.9 663 | scroll_on_output = False 664 | copy_on_selection = True 665 | background_type = transparent 666 | scrollback_infinite = True 667 | show_titlebar = False 668 | [layouts] 669 | [[default]] 670 | [[[child1]]] 671 | type = Terminal 672 | parent = window0 673 | [[[window0]]] 674 | type = Window 675 | parent = "" 676 | [plugins] 677 | EOF 678 | 679 | #--- Set terminator for XFCE's default 680 | #mkdir -p ~/.config/xfce4/ 681 | #file=~/.config/xfce4/helpers.rc; [ -e "${file}" ] && cp -n $file{,.bkup} #exo-preferred-applications #xdg-mime default 682 | #([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 683 | #sed -i 's_^TerminalEmulator=.*_TerminalEmulator=debian-x-terminal-emulator_' "${file}" 2>/dev/null \ 684 | # || echo -e 'TerminalEmulator=debian-x-terminal-emulator' >> "${file}" 685 | 686 | ##### Install ZSH & Oh-My-ZSH - root user. Note: 'Open terminal here', will not work with ZSH. Make sure to have tmux already installed 687 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ZSH${RESET} & ${GREEN}Oh-My-ZSH${RESET} ~ unix shell" 688 | apt -y -qq install zsh git curl \ 689 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 690 | #--- Setup oh-my-zsh 691 | timeout 300 curl --progress -k -L -f "https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh" | zsh 692 | #--- Configure zsh 693 | file=~/.zshrc; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/zsh/zshrc 694 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 695 | grep -q 'interactivecomments' "${file}" 2>/dev/null \ 696 | || echo 'setopt interactivecomments' >> "${file}" 697 | grep -q 'ignoreeof' "${file}" 2>/dev/null \ 698 | || echo 'setopt ignoreeof' >> "${file}" 699 | grep -q 'correctall' "${file}" 2>/dev/null \ 700 | || echo 'setopt correctall' >> "${file}" 701 | grep -q 'globdots' "${file}" 2>/dev/null \ 702 | || echo 'setopt globdots' >> "${file}" 703 | grep -q '.bash_aliases' "${file}" 2>/dev/null \ 704 | || echo 'source $HOME/.bash_aliases' >> "${file}" 705 | grep -q '/usr/bin/tmux' "${file}" 2>/dev/null \ 706 | || echo '#if ([[ -z "$TMUX" && -n "$SSH_CONNECTION" ]]); then /usr/bin/tmux attach || /usr/bin/tmux new; fi' >> "${file}" # If not already in tmux and via SSH 707 | #--- Configure zsh (themes) ~ https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 708 | sed -i 's/ZSH_THEME=.*/ZSH_THEME="mh"/' "${file}" # Other themes: mh, jreese, alanpeabody, candy, terminalparty, kardan, nicoulaj, sunaku 709 | #--- Configure oh-my-zsh 710 | sed -i 's/plugins=(.*)/plugins=(git git-extras tmux dirhistory python pip)/' "${file}" 711 | #--- Set zsh as default shell (current user) 712 | chsh -s "$(which zsh)" 713 | 714 | 715 | ##### Install tmux - all users 716 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}tmux${RESET} ~ multiplex virtual consoles" 717 | apt -y -qq install tmux \ 718 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 719 | file=~/.tmux.conf; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/tmux.conf 720 | #--- Configure tmux 721 | cat < "${file}" \ 722 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 723 | #-Settings--------------------------------------------------------------------- 724 | ## Make it like screen (use CTRL+a) 725 | unbind C-b 726 | set -g prefix C-a 727 | 728 | ## Pane switching (SHIFT+ARROWS) 729 | bind-key -n S-Left select-pane -L 730 | bind-key -n S-Right select-pane -R 731 | bind-key -n S-Up select-pane -U 732 | bind-key -n S-Down select-pane -D 733 | 734 | ## Windows switching (ALT+ARROWS) 735 | bind-key -n M-Left previous-window 736 | bind-key -n M-Right next-window 737 | 738 | ## Windows re-ording (SHIFT+ALT+ARROWS) 739 | bind-key -n M-S-Left swap-window -t -1 740 | bind-key -n M-S-Right swap-window -t +1 741 | 742 | ## Activity Monitoring 743 | setw -g monitor-activity on 744 | set -g visual-activity on 745 | 746 | ## Set defaults 747 | set -g default-terminal screen-256color 748 | set -g history-limit 5000 749 | 750 | ## Default windows titles 751 | set -g set-titles on 752 | set -g set-titles-string '#(whoami)@#H - #I:#W' 753 | 754 | ## Last window switch 755 | bind-key C-a last-window 756 | 757 | ## Reload settings (CTRL+a -> r) 758 | unbind r 759 | bind r source-file /etc/tmux.conf 760 | 761 | ## Load custom sources 762 | #source ~/.bashrc #(issues if you use /bin/bash & Debian) 763 | 764 | EOF 765 | [ -e /bin/zsh ] \ 766 | && echo -e '## Use ZSH as default shell\nset-option -g default-shell /bin/zsh\n' >> "${file}" 767 | cat <> "${file}" 768 | ## Show tmux messages for longer 769 | set -g display-time 3000 770 | 771 | ## Status bar is redrawn every minute 772 | set -g status-interval 60 773 | 774 | 775 | #-Theme------------------------------------------------------------------------ 776 | ## Default colours 777 | set -g status-bg black 778 | set -g status-fg white 779 | 780 | ## Left hand side 781 | set -g status-left-length '34' 782 | set -g status-left '#[fg=green,bold]#(whoami)#[default]@#[fg=yellow,dim]#H #[fg=green,dim][#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[fg=green,dim]]' 783 | 784 | ## Inactive windows in status bar 785 | set-window-option -g window-status-format '#[fg=red,dim]#I#[fg=grey,dim]:#[default,dim]#W#[fg=grey,dim]' 786 | 787 | ## Current or active window in status bar 788 | #set-window-option -g window-status-current-format '#[bg=white,fg=red]#I#[bg=white,fg=grey]:#[bg=white,fg=black]#W#[fg=dim]#F' 789 | set-window-option -g window-status-current-format '#[fg=red,bold](#[fg=white,bold]#I#[fg=red,dim]:#[fg=white,bold]#W#[fg=red,bold])' 790 | 791 | ## Right hand side 792 | set -g status-right '#[fg=green][#[fg=yellow]%Y-%m-%d #[fg=white]%H:%M#[fg=green]]' 793 | EOF 794 | #--- Setup alias 795 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 796 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 797 | grep -q '^alias tmux' "${file}" 2>/dev/null \ 798 | || echo -e '## tmux\nalias tmux="tmux attach || tmux new"\n' >> "${file}" #alias tmux="tmux attach -t $HOST || tmux new -s $HOST" 799 | #--- Apply new alias 800 | source "${file}" || source ~/.zshrc 801 | 802 | 803 | ##### Configure screen ~ if possible, use tmux instead! 804 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}screen${RESET} ~ multiplex virtual consoles" 805 | #apt -y -qq install screen \ 806 | # || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 807 | #--- Configure screen 808 | file=~/.screenrc; [ -e "${file}" ] && cp -n $file{,.bkup} 809 | if [[ -f "${file}" ]]; then 810 | echo -e ' '${RED}'[!]'${RESET}" ${file} detected. Skipping..." 1>&2 811 | else 812 | cat < "${file}" 813 | ## Don't display the copyright page 814 | startup_message off 815 | 816 | ## tab-completion flash in heading bar 817 | vbell off 818 | 819 | ## Keep scrollback n lines 820 | defscrollback 1000 821 | 822 | ## Hardstatus is a bar of text that is visible in all screens 823 | hardstatus on 824 | hardstatus alwayslastline 825 | hardstatus string '%{gk}%{G}%H %{g}[%{Y}%l%{g}] %= %{wk}%?%-w%?%{=b kR}(%{W}%n %t%?(%u)%?%{=b kR})%{= kw}%?%+w%?%?%= %{g} %{Y} %Y-%m-%d %C%a %{W}' 826 | 827 | ## Title bar 828 | termcapinfo xterm ti@:te@ 829 | 830 | ## Default windows (syntax: screen -t label order command) 831 | screen -t bash1 0 832 | screen -t bash2 1 833 | 834 | ## Select the default window 835 | select 0 836 | EOF 837 | fi 838 | 839 | 840 | 841 | 842 | ##### Install vim - all users 843 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}vim${RESET} ~ CLI text editor" 844 | apt -y -qq install vim \ 845 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 846 | #--- Configure vim 847 | file=/etc/vim/vimrc; [ -e "${file}" ] && cp -n $file{,.bkup} #~/.vimrc 848 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 849 | sed -i 's/.*syntax on/syntax on/' "${file}" 850 | sed -i 's/.*set background=dark/set background=dark/' "${file}" 851 | sed -i 's/.*set showcmd/set showcmd/' "${file}" 852 | sed -i 's/.*set showmatch/set showmatch/' "${file}" 853 | sed -i 's/.*set ignorecase/set ignorecase/' "${file}" 854 | sed -i 's/.*set smartcase/set smartcase/' "${file}" 855 | sed -i 's/.*set incsearch/set incsearch/' "${file}" 856 | sed -i 's/.*set autowrite/set autowrite/' "${file}" 857 | sed -i 's/.*set hidden/set hidden/' "${file}" 858 | sed -i 's/.*set mouse=.*/"set mouse=a/' "${file}" 859 | grep -q '^set number' "${file}" 2>/dev/null \ 860 | || echo 'set number' >> "${file}" # Add line numbers 861 | grep -q '^set expandtab' "${file}" 2>/dev/null \ 862 | || echo -e 'set expandtab\nset smarttab' >> "${file}" # Set use spaces instead of tabs 863 | grep -q '^set softtabstop' "${file}" 2>/dev/null \ 864 | || echo -e 'set softtabstop=4\nset shiftwidth=4' >> "${file}" # Set 4 spaces as a 'tab' 865 | grep -q '^set foldmethod=marker' "${file}" 2>/dev/null \ 866 | || echo 'set foldmethod=marker' >> "${file}" # Folding 867 | grep -q '^nnoremap za' "${file}" 2>/dev/null \ 868 | || echo 'nnoremap za' >> "${file}" # Space toggle folds 869 | grep -q '^set hlsearch' "${file}" 2>/dev/null \ 870 | || echo 'set hlsearch' >> "${file}" # Highlight search results 871 | grep -q '^set laststatus' "${file}" 2>/dev/null \ 872 | || echo -e 'set laststatus=2\nset statusline=%F%m%r%h%w\ (%{&ff}){%Y}\ [%l,%v][%p%%]' >> "${file}" # Status bar 873 | grep -q '^filetype on' "${file}" 2>/dev/null \ 874 | || echo -e 'filetype on\nfiletype plugin on\nsyntax enable\nset grepprg=grep\ -nH\ $*' >> "${file}" # Syntax highlighting 875 | grep -q '^set wildmenu' "${file}" 2>/dev/null \ 876 | || echo -e 'set wildmenu\nset wildmode=list:longest,full' >> "${file}" # Tab completion 877 | grep -q '^set invnumber' "${file}" 2>/dev/null \ 878 | || echo -e ':nmap :set invnumber' >> "${file}" # Toggle line numbers 879 | grep -q '^set pastetoggle=' "${file}" 2>/dev/null \ 880 | || echo -e 'set pastetoggle=' >> "${file}" # Hotkey - turning off auto indent when pasting 881 | grep -q '^:command Q q' "${file}" 2>/dev/null \ 882 | || echo -e ':command Q q' >> "${file}" # Fix stupid typo I always make 883 | #--- Set as default editor 884 | export EDITOR="vim" #update-alternatives --config editor 885 | file=/etc/bash.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} 886 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 887 | grep -q '^EDITOR' "${file}" 2>/dev/null \ 888 | || echo 'EDITOR="vim"' >> "${file}" 889 | git config --global core.editor "vim" 890 | #--- Set as default mergetool 891 | git config --global merge.tool vimdiff 892 | git config --global merge.conflictstyle diff3 893 | git config --global mergetool.prompt false 894 | 895 | 896 | ##### Install git - all users 897 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}git${RESET} ~ revision control" 898 | apt -y -qq install git \ 899 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 900 | #--- Set as default editor 901 | git config --global core.editor "vim" 902 | #--- Set as default mergetool 903 | git config --global merge.tool vimdiff 904 | git config --global merge.conflictstyle diff3 905 | git config --global mergetool.prompt false 906 | #--- Set as default push 907 | git config --global push.default simple 908 | 909 | 910 | 911 | #Install the GPG key: 912 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Sublime Text${RESET} ~ Text editor" 913 | wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - 914 | #Ensure apt is set up to work with https sources: 915 | sudo apt-get install apt-transport-https 916 | #Select the channel to use: 917 | #Stable 918 | echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list 919 | apt-get install sublime-text 920 | 921 | ##### Install metasploit ~ http://docs.kali.org/general-use/starting-metasploit-framework-in-kali 922 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}metasploit${RESET} ~ exploit framework" 923 | apt -y -qq install metasploit-framework \ 924 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 925 | mkdir -p ~/.msf4/modules/{auxiliary,exploits,payloads,post}/ 926 | #--- ASCII art 927 | #export GOCOW=1 # Always a cow logo ;) Others: THISISHALLOWEEN (Halloween), APRILFOOLSPONIES (My Little Pony) 928 | #file=~/.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} 929 | #([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 930 | #grep -q '^GOCOW' "${file}" 2>/dev/null || echo 'GOCOW=1' >> "${file}" 931 | #--- Fix any port issues 932 | file=$(find /etc/postgresql/*/main/ -maxdepth 1 -type f -name postgresql.conf -print -quit); 933 | [ -e "${file}" ] && cp -n $file{,.bkup} 934 | sed -i 's/port = .* #/port = 5432 /' "${file}" 935 | #--- Fix permissions - 'could not translate host name "localhost", service "5432" to address: Name or service not known' 936 | chmod 0644 /etc/hosts 937 | #--- Start services 938 | systemctl stop postgresql 939 | systemctl start postgresql 940 | msfdb reinit 941 | sleep 5s 942 | #--- Autorun Metasploit commands each startup 943 | file=~/.msf4/msf_autorunscript.rc; [ -e "${file}" ] && cp -n $file{,.bkup} 944 | if [[ -f "${file}" ]]; then 945 | echo -e ' '${RED}'[!]'${RESET}" ${file} detected. Skipping..." 1>&2 946 | else 947 | cat < "${file}" 948 | #run post/windows/escalate/getsystem 949 | 950 | #run migrate -f -k 951 | #run migrate -n "explorer.exe" -k # Can trigger AV alerts by touching explorer.exe... 952 | 953 | #run post/windows/manage/smart_migrate 954 | #run post/windows/gather/smart_hashdump 955 | EOF 956 | fi 957 | file=~/.msf4/msfconsole.rc; [ -e "${file}" ] && cp -n $file{,.bkup} 958 | if [[ -f "${file}" ]]; then 959 | echo -e ' '${RED}'[!]'${RESET}" ${file} detected. Skipping..." 1>&2 960 | else 961 | cat < "${file}" 962 | load auto_add_route 963 | 964 | load alias 965 | alias del rm 966 | alias handler use exploit/multi/handler 967 | 968 | load sounds 969 | 970 | setg TimestampOutput true 971 | setg VERBOSE true 972 | 973 | setg ExitOnSession false 974 | setg EnableStageEncoding true 975 | setg LHOST 0.0.0.0 976 | setg LPORT 443 977 | EOF 978 | #use exploit/multi/handler 979 | #setg AutoRunScript 'multi_console_command -rc "~/.msf4/msf_autorunscript.rc"' 980 | #set PAYLOAD windows/meterpreter/reverse_https 981 | fi 982 | #--- Aliases time 983 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 984 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 985 | #--- Aliases for console 986 | grep -q '^alias msfc=' "${file}" 2>/dev/null \ 987 | || echo -e 'alias msfc="systemctl start postgresql; msfdb start; msfconsole -q \"\$@\""' >> "${file}" 988 | grep -q '^alias msfconsole=' "${file}" 2>/dev/null \ 989 | || echo -e 'alias msfconsole="systemctl start postgresql; msfdb start; msfconsole \"\$@\""\n' >> "${file}" 990 | #--- Aliases to speed up msfvenom (create static output) 991 | grep -q "^alias msfvenom-list-all" "${file}" 2>/dev/null \ 992 | || echo "alias msfvenom-list-all='cat ~/.msf4/msfvenom/all'" >> "${file}" 993 | grep -q "^alias msfvenom-list-nops" "${file}" 2>/dev/null \ 994 | || echo "alias msfvenom-list-nops='cat ~/.msf4/msfvenom/nops'" >> "${file}" 995 | grep -q "^alias msfvenom-list-payloads" "${file}" 2>/dev/null \ 996 | || echo "alias msfvenom-list-payloads='cat ~/.msf4/msfvenom/payloads'" >> "${file}" 997 | grep -q "^alias msfvenom-list-encoders" "${file}" 2>/dev/null \ 998 | || echo "alias msfvenom-list-encoders='cat ~/.msf4/msfvenom/encoders'" >> "${file}" 999 | grep -q "^alias msfvenom-list-formats" "${file}" 2>/dev/null \ 1000 | || echo "alias msfvenom-list-formats='cat ~/.msf4/msfvenom/formats'" >> "${file}" 1001 | grep -q "^alias msfvenom-list-generate" "${file}" 2>/dev/null \ 1002 | || echo "alias msfvenom-list-generate='_msfvenom-list-generate'" >> "${file}" 1003 | grep -q "^function _msfvenom-list-generate" "${file}" 2>/dev/null \ 1004 | || cat <> "${file}" \ 1005 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1006 | function _msfvenom-list-generate { 1007 | mkdir -p ~/.msf4/msfvenom/ 1008 | msfvenom --list > ~/.msf4/msfvenom/all 1009 | msfvenom --list nops > ~/.msf4/msfvenom/nops 1010 | msfvenom --list payloads > ~/.msf4/msfvenom/payloads 1011 | msfvenom --list encoders > ~/.msf4/msfvenom/encoders 1012 | msfvenom --help-formats 2> ~/.msf4/msfvenom/formats 1013 | } 1014 | EOF 1015 | #--- Apply new aliases 1016 | source "${file}" || source ~/.zshrc 1017 | #--- Generate (Can't call alias) 1018 | mkdir -p ~/.msf4/msfvenom/ 1019 | msfvenom --list > ~/.msf4/msfvenom/all 1020 | msfvenom --list nops > ~/.msf4/msfvenom/nops 1021 | msfvenom --list payloads > ~/.msf4/msfvenom/payloads 1022 | msfvenom --list encoders > ~/.msf4/msfvenom/encoders 1023 | msfvenom --help-formats 2> ~/.msf4/msfvenom/formats 1024 | 1025 | #--- First time run with Metasploit 1026 | (( STAGE++ )); echo -e " ${GREEN}[i]${RESET} (${STAGE}/${TOTAL}) ${GREEN}Starting Metasploit for the first time${RESET} ~ this ${BOLD}will take a ~350 seconds${RESET} (~6 mintues)" 1027 | echo "Started at: $(date)" 1028 | systemctl start postgresql 1029 | msfdb start 1030 | msfconsole -q -x 'version;db_status;sleep 310;exit' 1031 | 1032 | 1033 | 1034 | ##### Configuring armitage 1035 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}armitage${RESET} ~ GUI Metasploit UI" 1036 | export MSF_DATABASE_CONFIG=/usr/share/metasploit-framework/config/database.yml 1037 | for file in /etc/bash.bashrc ~/.zshrc; do #~/.bashrc 1038 | [ ! -e "${file}" ] && continue 1039 | [ -e "${file}" ] && cp -n $file{,.bkup} 1040 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 1041 | grep -q 'MSF_DATABASE_CONFIG' "${file}" 2>/dev/null \ 1042 | || echo -e 'MSF_DATABASE_CONFIG=/usr/share/metasploit-framework/config/database.yml\n' >> "${file}" 1043 | done 1044 | #--- Test 1045 | #msfrpcd -U msf -P test -f -S -a 127.0.0.1 1046 | ##### Install exe2hex 1047 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}exe2hex${RESET} ~ Inline file transfer" 1048 | apt -y -qq install exe2hexbat \ 1049 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1050 | 1051 | 1052 | ##### Install MPC 1053 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MPC${RESET} ~ Msfvenom Payload Creator" 1054 | apt -y -qq install msfpc \ 1055 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1056 | 1057 | 1058 | ##### Configuring Gedit 1059 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}Gedit${RESET} ~ GUI text editor" 1060 | #--- Install Gedit 1061 | apt -y -qq install gedit \ 1062 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1063 | #--- Configure Gedit 1064 | dconf write /org/gnome/gedit/preferences/editor/wrap-last-split-mode "'word'" 1065 | dconf write /org/gnome/gedit/preferences/ui/statusbar-visible true 1066 | dconf write /org/gnome/gedit/preferences/editor/display-line-numbers true 1067 | dconf write /org/gnome/gedit/preferences/editor/highlight-current-line true 1068 | dconf write /org/gnome/gedit/preferences/editor/bracket-matching true 1069 | dconf write /org/gnome/gedit/preferences/editor/insert-spaces true 1070 | dconf write /org/gnome/gedit/preferences/editor/auto-indent true 1071 | for plugin in modelines sort externaltools docinfo filebrowser quickopen time spell; do 1072 | loaded=$( dconf read /org/gnome/gedit/plugins/active-plugins ) 1073 | echo ${loaded} | grep -q "'${plugin}'" \ 1074 | && continue 1075 | new=$( echo "${loaded} '${plugin}']" | sed "s/'] /', /" ) 1076 | dconf write /org/gnome/gedit/plugins/active-plugins "${new}" 1077 | done 1078 | 1079 | 1080 | ##### Install PyCharm (Community Edition) 1081 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}PyCharm (Community Edition)${RESET} ~ Python IDE" 1082 | timeout 300 curl --progress -k -L -f "https://download.jetbrains.com/python/pycharm-community-2016.2.3.tar.gz" > /tmp/pycharms-community.tar.gz \ 1083 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading pycharms-community.tar.gz" 1>&2 #***!!! hardcoded version! 1084 | if [ -e /tmp/pycharms-community.tar.gz ]; then 1085 | tar -xf /tmp/pycharms-community.tar.gz -C /tmp/ 1086 | rm -rf /opt/pycharms/ 1087 | mv -f /tmp/pycharm-community-*/ /opt/pycharms 1088 | mkdir -p /usr/local/bin/ 1089 | ln -sf /opt/pycharms/bin/pycharm.sh /usr/local/bin/pycharms 1090 | fi 1091 | 1092 | 1093 | ##### Install wdiff 1094 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}wdiff${RESET} ~ Compares two files word by word" 1095 | apt -y -qq install wdiff wdiff-doc \ 1096 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1097 | 1098 | ##### Install meld 1099 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}meld${RESET} ~ GUI text compare" 1100 | apt -y -qq install meld \ 1101 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1102 | #--- Configure meld 1103 | gconftool-2 -t bool -s /apps/meld/show_line_numbers true 1104 | gconftool-2 -t bool -s /apps/meld/show_whitespace true 1105 | gconftool-2 -t bool -s /apps/meld/use_syntax_highlighting true 1106 | gconftool-2 -t int -s /apps/meld/edit_wrap_lines 2 1107 | 1108 | 1109 | ##### Install vbindiff 1110 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}vbindiff${RESET} ~ visually compare binary files" 1111 | apt -y -qq install vbindiff \ 1112 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1113 | 1114 | 1115 | ##### Install OpenVAS 1116 | if [[ "${openVAS}" != "false" ]]; then 1117 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}OpenVAS${RESET} ~ vulnerability scanner" 1118 | apt -y -qq install openvas \ 1119 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1120 | openvas-setup 1121 | #--- Bug fix (target credentials creation) 1122 | mkdir -p /var/lib/openvas/gnupg/ 1123 | #--- Bug fix (keys) 1124 | curl --progress -k -L -f "http://www.openvas.org/OpenVAS_TI.asc" | gpg --import - \ 1125 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading OpenVAS_TI.asc" 1>&2 1126 | #--- Make sure all services are correct 1127 | openvas-start 1128 | #--- User control 1129 | username="root" 1130 | password="toor" 1131 | (openvasmd --get-users | grep -q ^admin$) \ 1132 | && echo -n 'admin user: ' \ 1133 | && openvasmd --delete-user=admin 1134 | (openvasmd --get-users | grep -q "^${username}$") \ 1135 | || (echo -n "${username} user: "; openvasmd --create-user="${username}"; openvasmd --user="${username}" --new-password="${password}" >/dev/null) 1136 | echo -e " ${YELLOW}[i]${RESET} OpenVAS username: ${username}" 1137 | echo -e " ${YELLOW}[i]${RESET} OpenVAS password: ${password} ***${BOLD}CHANGE THIS ASAP${RESET}***" 1138 | echo -e " ${YELLOW}[i]${RESET} Run: # openvasmd --user=root --new-password=''" 1139 | sleep 3s 1140 | openvas-check-setup 1141 | #--- Remove from start up 1142 | systemctl disable openvas-manager 1143 | systemctl disable openvas-scanner 1144 | systemctl disable greenbone-security-assistant 1145 | #--- Setup alias 1146 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 1147 | grep -q '^## openvas' "${file}" 2>/dev/null \ 1148 | || echo -e '## openvas\nalias openvas="openvas-stop; openvas-start; sleep 3s; xdg-open https://127.0.0.1:9392/ >/dev/null 2>&1"\n' >> "${file}" 1149 | source "${file}" || source ~/.zshrc 1150 | else 1151 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping OpenVAS${RESET} (missing: '$0 ${BOLD}--openvas${RESET}')..." 1>&2 1152 | fi 1153 | 1154 | 1155 | ##### Install vFeed 1156 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}vFeed${RESET} ~ vulnerability database" 1157 | apt -y -qq install vfeed \ 1158 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1159 | 1160 | 1161 | ##### Install Burp Suite 1162 | if [[ "${burpFree}" != "false" ]]; then 1163 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Burp Suite (Community Edition)${RESET} ~ web application proxy" 1164 | apt -y -qq install burpsuite curl \ 1165 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1166 | mkdir -p ~/.java/.userPrefs/burp/ 1167 | file=~/.java/.userPrefs/burp/prefs.xml; #[ -e "${file}" ] && cp -n $file{,.bkup} 1168 | [ -e "${file}" ] \ 1169 | || cat < "${file}" 1170 | 1171 | 1172 | 1173 | 1174 | 1175 | 1176 | EOF 1177 | #--- Extract CA 1178 | find /tmp/ -maxdepth 1 -name 'burp*.tmp' -delete 1179 | export DISPLAY=:0.0 1180 | timeout 120 burpsuite >/dev/null 2>&1 & 1181 | PID=$! 1182 | sleep 15s 1183 | #echo "-----BEGIN CERTIFICATE-----" > /tmp/PortSwiggerCA \ 1184 | # && awk -F '"' '/caCert/ {print $4}' ~/.java/.userPrefs/burp/prefs.xml | fold -w 64 >> /tmp/PortSwiggerCA \ 1185 | # && echo "-----END CERTIFICATE-----" >> /tmp/PortSwiggerCA 1186 | export http_proxy="http://127.0.0.1:8080" 1187 | rm -f /tmp/burp.crt 1188 | while test -d /proc/${PID}; do 1189 | sleep 1s 1190 | curl --progress -k -L -f "http://burp/cert" -o /tmp/burp.crt 2>/dev/null # || echo -e ' '${RED}'[!]'${RESET}" Issue downloading burp.crt" 1>&2 1191 | [ -f /tmp/burp.crt ] && break 1192 | done 1193 | timeout 5 kill ${PID} 2>/dev/null \ 1194 | || echo -e ' '${RED}'[!]'${RESET}" Failed to kill ${RED}burpsuite${RESET}" 1195 | unset http_proxy 1196 | #--- Installing CA 1197 | if [[ -f /tmp/burp.crt ]]; then 1198 | apt -y -qq install libnss3-tools \ 1199 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1200 | folder=$(find ~/.mozilla/firefox/ -maxdepth 1 -type d -name '*.default' -print -quit) 1201 | certutil -A -n Burp -t "CT,c,c" -d "${folder}" -i /tmp/burp.crt 1202 | timeout 15 firefox >/dev/null 2>&1 1203 | timeout 5 killall -9 -q -w firefox-esr >/dev/null 1204 | #mkdir -p /usr/share/ca-certificates/burp/ 1205 | #cp -f /tmp/burp.crt /usr/share/ca-certificates/burp/ 1206 | #dpkg-reconfigure ca-certificates # Not automated 1207 | echo -e " ${YELLOW}[i]${RESET} Installed ${YELLOW}Burp Suite CA${RESET}" 1208 | else 1209 | echo -e ' '${RED}'[!]'${RESET}' Did not install Burp Suite Certificate Authority (CA)' 1>&2 1210 | echo -e ' '${RED}'[!]'${RESET}' Skipping...' 1>&2 1211 | fi 1212 | #--- Remove old temp files 1213 | sleep 2s 1214 | find /tmp/ -maxdepth 1 -name 'burp*.tmp' -delete 2>/dev/null 1215 | find ~/.mozilla/firefox/*.default*/ -maxdepth 1 -type f -name 'sessionstore.*' -delete 1216 | unset http_proxy 1217 | else 1218 | echo -e "\n\n ${YELLOW}[i]${RESET} ${YELLOW}Skipping Burp Suite${RESET} (missing: '$0 ${BOLD}--burp${RESET}')..." 1>&2 1219 | fi 1220 | 1221 | 1222 | ##### Install go 1223 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}go${RESET} ~ programming language" 1224 | apt -y -qq install golang \ 1225 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1226 | 1227 | 1228 | ##### Install gitg 1229 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}gitg${RESET} ~ GUI git client" 1230 | apt -y -qq install gitg \ 1231 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1232 | 1233 | 1234 | ##### Install sparta 1235 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}sparta${RESET} ~ GUI automatic wrapper" 1236 | apt -y -qq install sparta \ 1237 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1238 | 1239 | 1240 | ##### Install wireshark 1241 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Wireshark${RESET} ~ GUI network protocol analyzer" 1242 | #--- Hide running as root warning 1243 | mkdir -p ~/.wireshark/ 1244 | file=~/.wireshark/recent_common; #[ -e "${file}" ] && cp -n $file{,.bkup} 1245 | [ -e "${file}" ] \ 1246 | || echo "privs.warn_if_elevated: FALSE" > "${file}" 1247 | #--- Disable lua warning 1248 | [ -e "/usr/share/wireshark/init.lua" ] \ 1249 | && mv -f /usr/share/wireshark/init.lua{,.disabled} 1250 | 1251 | 1252 | ##### Install silver searcher 1253 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}silver searcher${RESET} ~ code searching" 1254 | apt -y -qq install silversearcher-ag \ 1255 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1256 | 1257 | 1258 | ##### Install rips 1259 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}rips${RESET} ~ source code scanner" 1260 | apt -y -qq install apache2 php git \ 1261 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1262 | git clone -q -b master https://github.com/ripsscanner/rips.git /opt/rips-git/ \ 1263 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1264 | pushd /opt/rips-git/ >/dev/null 1265 | git pull -q 1266 | popd >/dev/null 1267 | #--- Add to path 1268 | file=/etc/apache2/conf-available/rips.conf 1269 | [ -e "${file}" ] \ 1270 | || cat < "${file}" 1271 | Alias /rips /opt/rips-git 1272 | 1273 | 1274 | Options FollowSymLinks 1275 | AllowOverride None 1276 | Order deny,allow 1277 | Deny from all 1278 | Allow from 127.0.0.0/255.0.0.0 ::1/128 1279 | 1280 | EOF 1281 | ln -sf /etc/apache2/conf-available/rips.conf /etc/apache2/conf-enabled/rips.conf 1282 | systemctl restart apache2 1283 | 1284 | 1285 | ##### Install graudit 1286 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}graudit${RESET} ~ source code auditing" 1287 | apt -y -qq install git \ 1288 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1289 | git clone -q -b master https://github.com/wireghoul/graudit.git /opt/graudit-git/ \ 1290 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1291 | pushd /opt/graudit-git/ >/dev/null 1292 | git pull -q 1293 | popd >/dev/null 1294 | #--- Add to path 1295 | mkdir -p /usr/local/bin/ 1296 | file=/usr/local/bin/graudit-git 1297 | cat < "${file}" \ 1298 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1299 | #!/bin/bash 1300 | 1301 | cd /opt/graudit-git/ && bash graudit.sh "\$@" 1302 | EOF 1303 | chmod +x "${file}" 1304 | 1305 | 1306 | ##### Install libreoffice 1307 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}LibreOffice${RESET} ~ GUI office suite" 1308 | apt -y -qq install libreoffice \ 1309 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1310 | 1311 | 1312 | ##### Install ipcalc & sipcalc 1313 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ipcalc${RESET} & ${GREEN}sipcalc${RESET} ~ CLI subnet calculators" 1314 | apt -y -qq install ipcalc sipcalc \ 1315 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1316 | 1317 | 1318 | ##### Install asciinema 1319 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}asciinema${RESET} ~ CLI terminal recorder" 1320 | curl -s -L https://asciinema.org/install | sh 1321 | 1322 | 1323 | ##### Install shutter 1324 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}shutter${RESET} ~ GUI static screen capture" 1325 | apt -y -qq install shutter \ 1326 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1327 | 1328 | 1329 | ##### Install psmisc ~ allows for 'killall command' to be used 1330 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}psmisc${RESET} ~ suite to help with running processes" 1331 | apt -y -qq install psmisc \ 1332 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1333 | 1334 | 1335 | ###### Setup pipe viewer 1336 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}pipe viewer${RESET} ~ CLI progress bar" 1337 | apt -y -qq install pv \ 1338 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1339 | 1340 | 1341 | ###### Setup pwgen 1342 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}pwgen${RESET} ~ password generator" 1343 | apt -y -qq install pwgen \ 1344 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1345 | 1346 | 1347 | ##### Install htop 1348 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}htop${RESET} ~ CLI process viewer" 1349 | apt -y -qq install htop \ 1350 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1351 | 1352 | 1353 | ##### Install powertop 1354 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}powertop${RESET} ~ CLI power consumption viewer" 1355 | apt -y -qq install powertop \ 1356 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1357 | 1358 | 1359 | ##### Install iotop 1360 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}iotop${RESET} ~ CLI I/O usage" 1361 | apt -y -qq install iotop \ 1362 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1363 | 1364 | 1365 | ##### Install ca-certificates 1366 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ca-certificates${RESET} ~ HTTPS/SSL/TLS" 1367 | apt -y -qq install ca-certificates \ 1368 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1369 | 1370 | 1371 | ##### Install testssl 1372 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}testssl${RESET} ~ Testing TLS/SSL encryption" 1373 | apt -y -qq install testssl.sh \ 1374 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1375 | 1376 | 1377 | ##### Install UACScript 1378 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}UACScript${RESET} ~ UAC Bypass for Windows 7" 1379 | apt -y -qq install git windows-binaries \ 1380 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1381 | git clone -q -b master https://github.com/Vozzie/uacscript.git /opt/uacscript-git/ \ 1382 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1383 | pushd /opt/uacscript-git/ >/dev/null 1384 | git pull -q 1385 | popd >/dev/null 1386 | ln -sf /usr/share/windows-binaries/uac-win7 /opt/uacscript-git/ 1387 | 1388 | 1389 | ##### Install MiniReverse Shell With Parameters 1390 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MiniReverse_Shell_With_Parameters${RESET} ~ Generate shellcode for a reverse shell" 1391 | apt -y -qq install git windows-binaries \ 1392 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1393 | git clone -q -b master https://github.com/xillwillx/MiniReverse_Shell_With_Parameters.git /opt/minireverse-shell-with-parameters-git/ \ 1394 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1395 | pushd /opt/minireverse-shell-with-parameters-git/ >/dev/null 1396 | git pull -q 1397 | popd >/dev/null 1398 | ln -sf /usr/share/windows-binaries/MiniReverse /opt/minireverse-shell-with-parameters-git/ 1399 | 1400 | 1401 | ##### Install axel 1402 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}axel${RESET} ~ CLI download manager" 1403 | apt -y -qq install axel \ 1404 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1405 | #--- Setup alias 1406 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 1407 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 1408 | grep -q '^alias axel' "${file}" 2>/dev/null \ 1409 | || echo -e '## axel\nalias axel="axel -a"\n' >> "${file}" 1410 | #--- Apply new alias 1411 | source "${file}" || source ~/.zshrc 1412 | 1413 | 1414 | ##### Install html2text 1415 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}html2text${RESET} ~ CLI html rendering" 1416 | apt -y -qq install html2text \ 1417 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1418 | 1419 | 1420 | ##### Install tmux2html 1421 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}tmux2html${RESET} ~ Render tmux as HTML" 1422 | apt -y -qq install git python python-pip \ 1423 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1424 | pip install tmux2html 1425 | 1426 | 1427 | ##### Install gparted 1428 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}GParted${RESET} ~ GUI partition manager" 1429 | apt -y -qq install gparted \ 1430 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1431 | 1432 | 1433 | ##### Install daemonfs 1434 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}daemonfs${RESET} ~ GUI file monitor" 1435 | apt -y -qq install daemonfs \ 1436 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1437 | 1438 | 1439 | ##### Install filezilla 1440 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}FileZilla${RESET} ~ GUI file transfer" 1441 | apt -y -qq install filezilla \ 1442 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1443 | #--- Configure filezilla 1444 | export DISPLAY=:0.0 1445 | timeout 5 filezilla >/dev/null 2>&1 # Start and kill. Files needed for first time run 1446 | mkdir -p ~/.config/filezilla/ 1447 | file=~/.config/filezilla/filezilla.xml; [ -e "${file}" ] && cp -n $file{,.bkup} 1448 | [ ! -e "${file}" ] && cat < "${file}" 1449 | 1450 | 1451 | 1452 | 0 1453 | 0 1454 | 1455 | 1456 | fi 1457 | EOF 1458 | sed -i 's#^.*"Default editor".*#\t2/usr/bin/gedit#' "${file}" 1459 | [ -e /usr/bin/atom ] && sed -i 's#^.*"Default editor".*#\t2/usr/bin/atom#' "${file}" 1460 | sed -i 's#^.*"Always use default editor".*#\t1#' "${file}" 1461 | 1462 | 1463 | ##### Install ncftp 1464 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ncftp${RESET} ~ CLI FTP client" 1465 | apt -y -qq install ncftp \ 1466 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1467 | 1468 | 1469 | ##### Install p7zip 1470 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}p7zip${RESET} ~ CLI file extractor" 1471 | apt -y -qq install p7zip-full \ 1472 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1473 | 1474 | 1475 | ##### Install zip & unzip 1476 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}zip${RESET} & ${GREEN}unzip${RESET} ~ CLI file extractors" 1477 | apt -y -qq install zip unzip \ 1478 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1479 | 1480 | 1481 | ##### Install file roller 1482 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}file roller${RESET} ~ GUI file extractor" 1483 | apt -y -qq install file-roller \ 1484 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1485 | apt -y -qq install unace unrar rar unzip zip p7zip p7zip-full p7zip-rar \ 1486 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1487 | 1488 | 1489 | ##### Install VPN support 1490 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}VPN${RESET} support for Network-Manager" 1491 | for FILE in network-manager-openvpn network-manager-pptp network-manager-vpnc network-manager-openconnect network-manager-iodine; do 1492 | apt -y -qq install "${FILE}" \ 1493 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1494 | done 1495 | 1496 | 1497 | ##### Install hashid 1498 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}hashid${RESET} ~ identify hash types" 1499 | apt -y -qq install hashid \ 1500 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1501 | 1502 | 1503 | ##### Install httprint 1504 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}httprint${RESET} ~ GUI web server fingerprint" 1505 | apt -y -qq install httprint \ 1506 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1507 | 1508 | 1509 | ##### Install lbd 1510 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}lbd${RESET} ~ load balancing detector" 1511 | apt -y -qq install lbd \ 1512 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1513 | 1514 | 1515 | ##### Install wafw00f 1516 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}wafw00f${RESET} ~ WAF detector" 1517 | apt -y -qq install wafw00f \ 1518 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1519 | 1520 | 1521 | ##### Install aircrack-ng 1522 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Aircrack-ng${RESET} ~ Wi-Fi cracking suite" 1523 | apt -y -qq install aircrack-ng curl \ 1524 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1525 | #--- Setup hardware database 1526 | mkdir -p /etc/aircrack-ng/ 1527 | (timeout 600 airodump-ng-oui-update 2>/dev/null) \ 1528 | || timeout 600 curl --progress -k -L -f "http://standards-oui.ieee.org/oui/oui.txt" > /etc/aircrack-ng/oui.txt 1529 | [ -e /etc/aircrack-ng/oui.txt ] \ 1530 | && (\grep "(hex)" /etc/aircrack-ng/oui.txt | sed 's/^[ \t]*//g;s/[ \t]*$//g' > /etc/aircrack-ng/airodump-ng-oui.txt) 1531 | [[ ! -f /etc/aircrack-ng/airodump-ng-oui.txt ]] \ 1532 | && echo -e ' '${RED}'[!]'${RESET}" Issue downloading oui.txt" 1>&2 1533 | #--- Setup alias 1534 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 1535 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 1536 | grep -q '^## aircrack-ng' "${file}" 2>/dev/null \ 1537 | || echo -e '## aircrack-ng\nalias aircrack-ng="aircrack-ng -z"\n' >> "${file}" 1538 | grep -q '^## airodump-ng' "${file}" 2>/dev/null \ 1539 | || echo -e '## airodump-ng \nalias airodump-ng="airodump-ng --manufacturer --wps --uptime"\n' >> "${file}" # aircrack-ng 1.2 rc2 1540 | #--- Apply new alias 1541 | source "${file}" || source ~/.zshrc 1542 | 1543 | 1544 | ##### Install reaver (community fork) 1545 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}reaver (community fork)${RESET} ~ WPS pin brute force + Pixie Attack" 1546 | apt -y -qq install reaver pixiewps \ 1547 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1548 | 1549 | 1550 | ##### Install bully 1551 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}bully${RESET} ~ WPS pin brute force" 1552 | apt -y -qq install bully \ 1553 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1554 | 1555 | 1556 | ##### Install wifite 1557 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}wifite${RESET} ~ automated Wi-Fi tool" 1558 | apt -y -qq install wifite \ 1559 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1560 | 1561 | 1562 | ##### Install vulscan script for nmap 1563 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}vulscan script for nmap${RESET} ~ vulnerability scanner add-on" 1564 | apt -y -qq install nmap curl \ 1565 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1566 | mkdir -p /usr/share/nmap/scripts/vulscan/ 1567 | timeout 300 curl --progress -k -L -f "http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz" > /tmp/nmap_nse_vulscan.tar.gz \ 1568 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading file" 1>&2 #***!!! hardcoded version! Need to manually check for updates 1569 | gunzip /tmp/nmap_nse_vulscan.tar.gz 1570 | tar -xf /tmp/nmap_nse_vulscan.tar -C /usr/share/nmap/scripts/ 1571 | #--- Fix permissions (by default its 0777) 1572 | chmod -R 0755 /usr/share/nmap/scripts/; find /usr/share/nmap/scripts/ -type f -exec chmod 0644 {} \; 1573 | 1574 | 1575 | ##### Install unicornscan 1576 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}unicornscan${RESET} ~ fast port scanner" 1577 | apt -y -qq install unicornscan \ 1578 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1579 | 1580 | 1581 | ##### Install onetwopunch 1582 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}onetwopunch${RESET} ~ unicornscan & nmap wrapper" 1583 | apt -y -qq install git nmap unicornscan \ 1584 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1585 | git clone -q -b master https://github.com/superkojiman/onetwopunch.git /opt/onetwopunch-git/ \ 1586 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1587 | pushd /opt/onetwopunch-git/ >/dev/null 1588 | git pull -q 1589 | popd >/dev/null 1590 | #--- Add to path 1591 | mkdir -p /usr/local/bin/ 1592 | file=/usr/local/bin/onetwopunch-git 1593 | cat < "${file}" \ 1594 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1595 | #!/bin/bash 1596 | 1597 | cd /opt/onetwopunch-git/ && bash onetwopunch.sh "\$@" 1598 | EOF 1599 | chmod +x "${file}" 1600 | 1601 | 1602 | ##### Install Gnmap-Parser (fork) 1603 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Gnmap-Parser (fork)${RESET} ~ Parse Nmap exports into various plain-text formats" 1604 | apt -y -qq install git \ 1605 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1606 | git clone -q -b master https://github.com/nullmode/gnmap-parser.git /opt/gnmap-parser-git/ \ 1607 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1608 | pushd /opt/gnmap-parser-git/ >/dev/null 1609 | git pull -q 1610 | popd >/dev/null 1611 | #--- Add to path 1612 | chmod +x /opt/gnmap-parser-git/gnmap-parser.sh 1613 | mkdir -p /usr/local/bin/ 1614 | ln -sf /opt/gnmap-parser-git/gnmap-parser.sh /usr/local/bin/gnmap-parser-git 1615 | 1616 | 1617 | ##### Install udp-proto-scanner 1618 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}udp-proto-scanner${RESET} ~ common UDP port scanner" 1619 | apt -y -qq install curl \ 1620 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1621 | timeout 300 curl --progress -k -L -f "https://labs.portcullis.co.uk/download/udp-proto-scanner-1.1.tar.gz" -o /tmp/udp-proto-scanner.tar.gz \ 1622 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading udp-proto-scanner.tar.gz" 1>&2 1623 | gunzip /tmp/udp-proto-scanner.tar.gz 1624 | tar -xf /tmp/udp-proto-scanner.tar -C /opt/ 1625 | mv -f /opt/udp-proto-scanner{-1.1,} 1626 | #--- Add to path 1627 | mkdir -p /usr/local/bin/ 1628 | file=/usr/local/bin/udp-proto-scanner 1629 | cat < "${file}" \ 1630 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1631 | #!/bin/bash 1632 | 1633 | cd /opt/udp-proto-scanner/ && perl udp-proto-scanner.pl "\$@" 1634 | EOF 1635 | chmod +x "${file}" 1636 | 1637 | 1638 | ##### Install clusterd 1639 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}clusterd${RESET} ~ clustered attack toolkit (JBoss, ColdFusion, WebLogic, Tomcat etc)" 1640 | apt -y -qq install clusterd \ 1641 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1642 | 1643 | 1644 | ##### Install webhandler 1645 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}webhandler${RESET} ~ shell TTY handler" 1646 | apt -y -qq install webhandler \ 1647 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1648 | #--- Add to path 1649 | mkdir -p /usr/local/bin/ 1650 | ln -sf /usr/bin/webhandler /usr/local/bin/wh 1651 | 1652 | 1653 | ##### Install azazel 1654 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}azazel${RESET} ~ Linux userland rootkit" 1655 | apt -y -qq install git \ 1656 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1657 | git clone -q -b master https://github.com/chokepoint/azazel.git /opt/azazel-git/ \ 1658 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1659 | pushd /opt/azazel-git/ >/dev/null 1660 | git pull -q 1661 | popd >/dev/null 1662 | 1663 | 1664 | ##### Install Babadook 1665 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Babadook${RESET} ~ connection-less powershell backdoor" 1666 | apt -y -qq install git \ 1667 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1668 | git clone -q -b master https://github.com/jseidl/Babadook.git /opt/babadook-git/ \ 1669 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1670 | pushd /opt/babadook-git/ >/dev/null 1671 | git pull -q 1672 | popd >/dev/null 1673 | 1674 | 1675 | ##### Install pupy 1676 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}pupy${RESET} ~ Remote Administration Tool" 1677 | apt -y -qq install git \ 1678 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1679 | git clone -q -b master https://github.com/n1nj4sec/pupy.git /opt/pupy-git/ \ 1680 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1681 | pushd /opt/pupy-git/ >/dev/null 1682 | git pull -q 1683 | popd >/dev/null 1684 | 1685 | 1686 | ##### Install gobuster 1687 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}gobuster${RESET} ~ Directory/File/DNS busting tool" 1688 | apt -y -qq install git gobuster \ 1689 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1690 | 1691 | 1692 | ##### Install reGeorg 1693 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}reGeorg${RESET} ~ pivot via web shells" 1694 | git clone -q -b master https://github.com/sensepost/reGeorg.git /opt/regeorg-git \ 1695 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1696 | pushd /opt/regeorg-git/ >/dev/null 1697 | git pull -q 1698 | popd >/dev/null 1699 | #--- Link to others 1700 | apt -y -qq install webshells \ 1701 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1702 | ln -sf /opt/reGeorg-git /usr/share/webshells/reGeorg 1703 | 1704 | 1705 | ##### Install b374k (https://bugs.kali.org/view.php?id=1097) 1706 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}b374k${RESET} ~ (PHP) web shell" 1707 | apt -y -qq install git php-cli \ 1708 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1709 | git clone -q -b master https://github.com/b374k/b374k.git /opt/b374k-git/ \ 1710 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1711 | pushd /opt/b374k-git/ >/dev/null 1712 | git pull -q 1713 | php index.php -o b374k.php -s 1714 | popd >/dev/null 1715 | #--- Link to others 1716 | apt -y -qq install webshells \ 1717 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1718 | ln -sf /opt/b374k-git /usr/share/webshells/php/b374k 1719 | 1720 | 1721 | ##### Install adminer 1722 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}adminer${RESET} ~ Database management in a single PHP file" 1723 | apt -y -qq install git \ 1724 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1725 | git clone -q -b master https://github.com/vrana/adminer.git /opt/adminer-git/ \ 1726 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1727 | pushd /opt/adminer-git/ >/dev/null 1728 | git pull -q 1729 | php compile.php 2>/dev/null 1730 | popd >/dev/null 1731 | #--- Link to others 1732 | apt -y -qq install webshells \ 1733 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1734 | file=$(find /opt/adminer-git/ -name adminer-*.php -type f -print -quit) 1735 | ln -sf "${file}" /usr/share/webshells/php/adminer.php 1736 | 1737 | 1738 | ##### Install WeBaCoo 1739 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}WeBaCoo${RESET} ~ Web backdoor cookie" 1740 | apt -y -qq install webacoo \ 1741 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1742 | 1743 | 1744 | ##### Install cmdsql 1745 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}cmdsql${RESET} ~ (ASPX) web shell" 1746 | apt -y -qq install git \ 1747 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1748 | git clone -q -b master https://github.com/NetSPI/cmdsql.git /opt/cmdsql-git/ \ 1749 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1750 | pushd /opt/cmdsql-git/ >/dev/null 1751 | git pull -q 1752 | popd >/dev/null 1753 | #--- Link to others 1754 | apt -y -qq install webshells \ 1755 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1756 | ln -sf /opt/cmdsql-git /usr/share/webshells/aspx/cmdsql 1757 | 1758 | 1759 | ##### Install JSP file browser 1760 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}JSP file browser${RESET} ~ (JSP) web shell" 1761 | apt -y -qq install curl \ 1762 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1763 | mkdir -p /opt/jsp-filebrowser/ 1764 | timeout 300 curl --progress -k -L -f "http://www.vonloesch.de/files/browser.zip" > /tmp/jsp.zip \ 1765 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading jsp.zip" 1>&2 1766 | unzip -q -o -d /opt/jsp-filebrowser/ /tmp/jsp.zip 1767 | #--- Link to others 1768 | apt -y -qq install webshells \ 1769 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1770 | ln -sf /opt/jsp-filebrowser /usr/share/webshells/jsp/jsp-filebrowser 1771 | 1772 | 1773 | ##### Install htshells 1774 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}htShells${RESET} ~ (htdocs/apache) web shells" 1775 | apt -y -qq install htshells \ 1776 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1777 | 1778 | 1779 | ##### Install python-pty-shells 1780 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}python-pty-shells${RESET} ~ PTY shells" 1781 | apt -y -qq install git \ 1782 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1783 | git clone -q -b master https://github.com/infodox/python-pty-shells.git /opt/python-pty-shells-git/ \ 1784 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1785 | pushd /opt/python-pty-shells-git/ >/dev/null 1786 | git pull -q 1787 | popd >/dev/null 1788 | 1789 | 1790 | ##### Install bridge-utils 1791 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}bridge-utils${RESET} ~ Bridge network interfaces" 1792 | apt -y -qq install bridge-utils \ 1793 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1794 | 1795 | 1796 | ##### Install FruityWifi 1797 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}FruityWifi${RESET} ~ Wireless network auditing tool" 1798 | apt -y -qq install fruitywifi \ 1799 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1800 | # URL: https://localhost:8443 1801 | if [[ -e /var/www/html/index.nginx-debian.html ]]; then 1802 | grep -q 'Welcome to nginx on Debian!' /var/www/html/index.nginx-debian.html \ 1803 | && echo 'Permission denied.' > /var/www/html/index.nginx-debian.html 1804 | fi 1805 | 1806 | 1807 | ##### Install WPA2-HalfHandshake-Crack 1808 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}WPA2-HalfHandshake-Crack${RESET} ~ Rogue AP for handshakes without a AP" 1809 | apt -y -qq install git \ 1810 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1811 | git clone -q -b master https://github.com/dxa4481/WPA2-HalfHandshake-Crack.git /opt/wpa2-halfhandshake-crack-git/ \ 1812 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1813 | pushd /opt/wpa2-halfhandshake-crack-git/ >/dev/null 1814 | git pull -q 1815 | popd >/dev/null 1816 | 1817 | 1818 | ##### Install HT-WPS-Breaker 1819 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}HT-WPS-Breaker${RESET} ~ Auto WPS tool" 1820 | apt -y -qq install git \ 1821 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1822 | git clone -q -b master https://github.com/SilentGhostX/HT-WPS-Breaker.git /opt/ht-wps-breaker-git/ \ 1823 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1824 | pushd /opt/ht-wps-breaker-git/ >/dev/null 1825 | git pull -q 1826 | popd >/dev/null 1827 | 1828 | 1829 | ##### Install dot11decrypt 1830 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}dot11decrypt${RESET} ~ On-the-fly WEP/WPA2 decrypter" 1831 | apt -y -qq install git \ 1832 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1833 | git clone -q -b master https://github.com/mfontanini/dot11decrypt.git /opt/dot11decrypt-git/ \ 1834 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1835 | pushd /opt/dot11decrypt-git/ >/dev/null 1836 | git pull -q 1837 | popd >/dev/null 1838 | 1839 | 1840 | ##### Install mana toolkit 1841 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MANA toolkit${RESET} ~ Rogue AP for MITM Wi-Fi" 1842 | apt -y -qq install mana-toolkit \ 1843 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1844 | #--- Disable profile 1845 | a2dissite 000-mana-toolkit; a2ensite 000-default 1846 | #--- Setup alias 1847 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 1848 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 1849 | grep -q '^## mana-toolkit' "${file}" 2>/dev/null \ 1850 | || (echo -e '## mana-toolkit\nalias mana-toolkit-start="a2ensite 000-mana-toolkit;a2dissite 000-default; systemctl restart apache2"' >> "${file}" \ 1851 | && echo -e 'alias mana-toolkit-stop="a2dissite 000-mana-toolkit; a2ensite 000-default; systemctl restart apache2"\n' >> "${file}" ) 1852 | #--- Apply new alias 1853 | source "${file}" || source ~/.zshrc 1854 | 1855 | 1856 | ##### Install wifiphisher 1857 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}wifiphisher${RESET} ~ Automated Wi-Fi phishing" 1858 | apt -y -qq install git \ 1859 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1860 | git clone -q -b master https://github.com/sophron/wifiphisher.git /opt/wifiphisher-git/ \ 1861 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1862 | pushd /opt/wifiphisher-git/ >/dev/null 1863 | git pull -q 1864 | popd >/dev/null 1865 | #--- Add to path 1866 | mkdir -p /usr/local/bin/ 1867 | file=/usr/local/bin/wifiphisher-git 1868 | cat < "${file}" \ 1869 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1870 | #!/bin/bash 1871 | 1872 | cd /opt/wifiphisher-git/ && python wifiphisher.py "\$@" 1873 | EOF 1874 | chmod +x "${file}" 1875 | 1876 | 1877 | ##### Install hostapd-wpe-extended 1878 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}hostapd-wpe-extended${RESET} ~ Rogue AP for WPA-Enterprise" 1879 | apt -y -qq install git \ 1880 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1881 | git clone -q -b master https://github.com/NerdyProjects/hostapd-wpe-extended.git /opt/hostapd-wpe-extended-git/ \ 1882 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1883 | pushd /opt/hostapd-wpe-extended-git/ >/dev/null 1884 | git pull -q 1885 | popd >/dev/null 1886 | 1887 | 1888 | ##### Install proxychains-ng (https://bugs.kali.org/view.php?id=2037) 1889 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}proxychains-ng${RESET} ~ Proxifier" 1890 | apt -y -qq install git gcc \ 1891 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1892 | git clone -q -b master https://github.com/rofl0r/proxychains-ng.git /opt/proxychains-ng-git/ \ 1893 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1894 | pushd /opt/proxychains-ng-git/ >/dev/null 1895 | git pull -q 1896 | make -s clean 1897 | ./configure --prefix=/usr --sysconfdir=/etc >/dev/null 1898 | make -s 2>/dev/null && make -s install # bad, but it gives errors which might be confusing (still builds) 1899 | popd >/dev/null 1900 | #--- Add to path (with a 'better' name) 1901 | mkdir -p /usr/local/bin/ 1902 | ln -sf /usr/bin/proxychains4 /usr/local/bin/proxychains-ng 1903 | 1904 | 1905 | ##### Install httptunnel 1906 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}httptunnel${RESET} ~ Tunnels data streams in HTTP requests" 1907 | apt -y -qq install http-tunnel \ 1908 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1909 | 1910 | 1911 | ##### Install sshuttle 1912 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}sshuttle${RESET} ~ VPN over SSH" 1913 | apt -y -qq install sshuttle \ 1914 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1915 | #--- Example 1916 | #sshuttle --dns --remote root@123.9.9.9 0/0 -vv 1917 | 1918 | 1919 | ##### Install pfi 1920 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}pfi${RESET} ~ Port Forwarding Interceptor" 1921 | apt -y -qq install git \ 1922 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1923 | git clone -q -b master https://github.com/s7ephen/pfi.git /opt/pfi-git/ \ 1924 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1925 | pushd /opt/pfi-git/ >/dev/null 1926 | git pull -q 1927 | popd >/dev/null 1928 | 1929 | 1930 | ##### Install icmpsh 1931 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}icmpsh${RESET} ~ Reverse ICMP shell" 1932 | apt -y -qq install git \ 1933 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1934 | git clone -q -b master https://github.com/inquisb/icmpsh.git /opt/icmpsh-git/ \ 1935 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1936 | pushd /opt/icmpsh-git/ >/dev/null 1937 | git pull -q 1938 | popd >/dev/null 1939 | 1940 | 1941 | ##### Install dnsftp 1942 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}dnsftp${RESET} ~ Transfer files over DNS" 1943 | apt -y -qq install git \ 1944 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1945 | git clone -q -b master https://github.com/breenmachine/dnsftp.git /opt/dnsftp-git/ \ 1946 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 1947 | pushd /opt/dnsftp-git/ >/dev/null 1948 | git pull -q 1949 | popd >/dev/null 1950 | 1951 | 1952 | ##### Install iodine 1953 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}iodine${RESET} ~ DNS tunnelling (IP over DNS)" 1954 | apt -y -qq install iodine \ 1955 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1956 | #iodined -f -P password1 10.0.0.1 dns.mydomain.com 1957 | #iodine -f -P password1 123.9.9.9 dns.mydomain.com; ssh -C -D 8081 root@10.0.0.1 1958 | 1959 | 1960 | ##### Install dns2tcp 1961 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}dns2tcp${RESET} ~ DNS tunnelling (TCP over DNS)" 1962 | apt -y -qq install dns2tcp \ 1963 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1964 | #--- Daemon 1965 | file=/etc/dns2tcpd.conf; [ -e "${file}" ] && cp -n $file{,.bkup}; 1966 | cat < "${file}" \ 1967 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1968 | listen = 0.0.0.0 1969 | port = 53 1970 | user = nobody 1971 | chroot = /tmp 1972 | domain = dnstunnel.mydomain.com 1973 | key = password1 1974 | ressources = ssh:127.0.0.1:22 1975 | EOF 1976 | #--- Client 1977 | file=/etc/dns2tcpc.conf; [ -e "${file}" ] && cp -n $file{,.bkup}; 1978 | cat < "${file}" \ 1979 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 1980 | domain = dnstunnel.mydomain.com 1981 | key = password1 1982 | resources = ssh 1983 | local_port = 8000 1984 | debug_level=1 1985 | EOF 1986 | #--- Example 1987 | #dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf 1988 | #dns2tcpc -f /etc/dns2tcpc.conf 178.62.206.227; ssh -C -D 8081 -p 8000 root@127.0.0.1 1989 | 1990 | 1991 | ##### Install ptunnel 1992 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ptunnel${RESET} ~ ICMP tunnelling" 1993 | apt -y -qq install ptunnel \ 1994 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 1995 | #--- Example 1996 | #ptunnel -x password1 1997 | #ptunnel -x password1 -p 123.9.9.9 -lp 8000 -da 127.0.0.1 -dp 22; ssh -C -D 8081 -p 8000 root@127.0.0.1 1998 | 1999 | 2000 | ##### Install stunnel 2001 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}stunnel${RESET} ~ SSL wrapper" 2002 | apt -y -qq install stunnel \ 2003 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2004 | #--- Remove from start up 2005 | systemctl disable stunnel4 2006 | 2007 | 2008 | ##### Install zerofree 2009 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}zerofree${RESET} ~ CLI nulls free blocks on a HDD" 2010 | apt -y -qq install zerofree \ 2011 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2012 | #--- Example 2013 | #fdisk -l 2014 | #zerofree -v /dev/sda1 2015 | #for i in $(mount | grep sda | grep ext | cut -b 9); do mount -o remount,ro /dev/sda${i} && zerofree -v /dev/sda${i} && mount -o remount,rw /dev/sda${i}; done 2016 | 2017 | 2018 | ##### Install gcc & multilib 2019 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}gcc${RESET} & ${GREEN}multilibc${RESET} ~ compiling libraries" 2020 | for FILE in cc gcc g++ gcc-multilib make automake libc6 libc6-dev libc6-amd64 libc6-dev-amd64 libc6-i386 libc6-dev-i386 libc6-i686 libc6-dev-i686 build-essential dpkg-dev; do 2021 | apt -y -qq install "${FILE}" 2>/dev/null 2022 | done 2023 | 2024 | 2025 | ##### Install MinGW ~ cross compiling suite 2026 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MinGW${RESET} ~ cross compiling suite" 2027 | for FILE in mingw-w64 binutils-mingw-w64 gcc-mingw-w64 cmake mingw-w64-dev mingw-w64-tools gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 mingw32; do 2028 | apt -y -qq install "${FILE}" 2>/dev/null 2029 | done 2030 | 2031 | 2032 | 2033 | ##### Install MinGW (Windows) ~ cross compiling suite 2034 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MinGW (Windows)${RESET} ~ cross compiling suite" 2035 | apt -y -qq install wine curl unzip \ 2036 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2037 | timeout 300 curl --progress -k -L -f "http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip/download" > /tmp/mingw-get.zip \ 2038 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading mingw-get.zip" 1>&2 #***!!! hardcoded path! 2039 | mkdir -p ~/.wine/drive_c/MinGW/bin/ 2040 | unzip -q -o -d ~/.wine/drive_c/MinGW/ /tmp/mingw-get.zip 2041 | pushd ~/.wine/drive_c/MinGW/ >/dev/null 2042 | for FILE in mingw32-base mingw32-gcc-g++ mingw32-gcc-objc; do #msys-base 2043 | wine ./bin/mingw-get.exe install "${FILE}" 2>&1 | grep -v 'If something goes wrong, please rerun with\|for more detailed debugging output' 2044 | done 2045 | popd >/dev/null 2046 | #--- Add to windows path 2047 | grep -q '^"PATH"=.*C:\\\\MinGW\\\\bin' ~/.wine/system.reg \ 2048 | || sed -i '/^"PATH"=/ s_"$_;C:\\\\MinGW\\\\bin"_' ~/.wine/system.reg 2049 | 2050 | 2051 | ##### Downloading AccessChk.exe 2052 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Downloading ${GREEN}AccessChk.exe${RESET} ~ Windows environment tester" 2053 | apt -y -qq install curl windows-binaries unzip \ 2054 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2055 | echo -n '[1/2]'; timeout 300 curl --progress -k -L -f "https://web.archive.org/web/20080530012252/http://live.sysinternals.com/accesschk.exe" > /usr/share/windows-binaries/accesschk_v5.02.exe \ 2056 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading accesschk_v5.02.exe" 1>&2 #***!!! hardcoded path! 2057 | echo -n '[2/2]'; timeout 300 curl --progress -k -L -f "https://download.sysinternals.com/files/AccessChk.zip" > /usr/share/windows-binaries/AccessChk.zip \ 2058 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading AccessChk.zip" 1>&2 2059 | unzip -q -o -d /usr/share/windows-binaries/ /usr/share/windows-binaries/AccessChk.zip 2060 | rm -f /usr/share/windows-binaries/{AccessChk.zip,Eula.txt} 2061 | 2062 | 2063 | ##### Downloading PsExec.exe 2064 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Downloading ${GREEN}PsExec.exe${RESET} ~ Pass The Hash 'phun'" 2065 | apt -y -qq install curl windows-binaries unzip unrar \ 2066 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2067 | echo -n '[1/2]'; timeout 300 curl --progress -k -L -f "https://download.sysinternals.com/files/PSTools.zip" > /tmp/pstools.zip \ 2068 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading pstools.zip" 1>&2 2069 | echo -n '[2/2]'; timeout 300 curl --progress -k -L -f "http://www.coresecurity.com/system/files/pshtoolkit_v1.4.rar" > /tmp/pshtoolkit.rar \ 2070 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading pshtoolkit.rar" 1>&2 #***!!! hardcoded path! 2071 | unzip -q -o -d /usr/share/windows-binaries/pstools/ /tmp/pstools.zip 2072 | unrar x -y /tmp/pshtoolkit.rar /usr/share/windows-binaries/ >/dev/null 2073 | 2074 | 2075 | ##### Install Python (Windows via WINE) 2076 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Python (Windows)${RESET}" 2077 | echo -n '[1/2]'; timeout 300 curl --progress -k -L -f "https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi" > /tmp/python.msi \ 2078 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading python.msi" 1>&2 #***!!! hardcoded path! 2079 | echo -n '[2/2]'; timeout 300 curl --progress -k -L -f "http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win32-py2.7.exe/download" > /tmp/pywin32.exe \ 2080 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading pywin32.exe" 1>&2 #***!!! hardcoded path! 2081 | wine msiexec /i /tmp/python.msi /qb 2>&1 | grep -v 'If something goes wrong, please rerun with\|for more detailed debugging output' 2082 | pushd /tmp/ >/dev/null 2083 | rm -rf "PLATLIB/" "SCRIPTS/" 2084 | unzip -q -o /tmp/pywin32.exe 2085 | cp -rf PLATLIB/* ~/.wine/drive_c/Python27/Lib/site-packages/ 2086 | cp -rf SCRIPTS/* ~/.wine/drive_c/Python27/Scripts/ 2087 | rm -rf "PLATLIB/" "SCRIPTS/" 2088 | popd >/dev/null 2089 | 2090 | 2091 | ##### Install veil framework 2092 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}veil-evasion framework${RESET} ~ bypassing anti-virus" 2093 | apt -y -qq install veil-evasion \ 2094 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2095 | #bash /usr/share/veil-evasion/setup/setup.sh --silent 2096 | mkdir -p /var/lib/veil-evasion/go/bin/ 2097 | touch /etc/veil/settings.py 2098 | sed -i 's/TERMINAL_CLEAR=".*"/TERMINAL_CLEAR="false"/' /etc/veil/settings.py 2099 | 2100 | 2101 | ##### Install OP packers 2102 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}OP packers${RESET} ~ bypassing anti-virus" 2103 | apt -y -qq install upx-ucl curl \ 2104 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2105 | mkdir -p /opt/packers/ 2106 | echo -n '[1/3]'; timeout 300 curl --progress -k -L -f "http://www.eskimo.com/~scottlu/win/cexe.exe" > /opt/packers/cexe.exe \ 2107 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading cexe.exe" 1>&2 #***!!! hardcoded version! Need to manually check for updates 2108 | echo -n '[2/3]'; timeout 300 curl --progress -k -L -f "http://www.farbrausch.de/~fg/kkrunchy/kkrunchy_023a2.zip" > /opt/packers/kkrunchy.zip \ 2109 | && unzip -q -o -d /opt/packers/ /opt/packers/kkrunchy.zip \ 2110 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading kkrunchy.zip" 1>&2 #***!!! hardcoded version! Need to manually check for updates 2111 | echo -n '[3/3]'; timeout 300 curl --progress -k -L -f "https://github.com/Veil-Framework/Veil-Evasion/blob/master/tools/pescrambler/PEScrambler.exe" > /opt/packers/PEScrambler \ 2112 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading PEScrambler.exe" 1>&2 #***!!! hardcoded version! Need to manually check for updates 2113 | #*** ??????? Need to make a bash script like hyperion... 2114 | #--- Link to others 2115 | apt -y -qq install windows-binaries \ 2116 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2117 | ln -sf /opt/packers/ /usr/share/windows-binaries/packers 2118 | 2119 | 2120 | ##### Install hyperion 2121 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}hyperion${RESET} ~ bypassing anti-virus" 2122 | apt -y -qq install unzip windows-binaries \ 2123 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2124 | unzip -q -o -d /usr/share/windows-binaries/ $(find /usr/share/windows-binaries/ -name "Hyperion-*.zip" -type f -print -quit) 2125 | #--- Compile 2126 | i686-w64-mingw32-g++ -static-libgcc -static-libstdc++ \ 2127 | /usr/share/windows-binaries/Hyperion-1.0/Src/Crypter/*.cpp \ 2128 | -o /usr/share/windows-binaries/Hyperion-1.0/Src/Crypter/bin/crypter.exe 2129 | ln -sf /usr/share/windows-binaries/Hyperion-1.0/Src/Crypter/bin/crypter.exe /usr/share/windows-binaries/Hyperion-1.0/crypter.exe #***!!! hardcoded path! 2130 | wine ~/.wine/drive_c/MinGW/bin/g++.exe /usr/share/windows-binaries/Hyperion-1.0/Src/Crypter/*.cpp \ 2131 | -o /usr/share/windows-binaries/hyperion.exe 2>&1 \ 2132 | | grep -v 'If something goes wrong, please rerun with\|for more detailed debugging output' 2133 | #--- Add to path 2134 | mkdir -p /usr/local/bin/ 2135 | file=/usr/local/bin/hyperion 2136 | cat < "${file}" \ 2137 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2138 | #!/bin/bash 2139 | 2140 | ## Note: This is far from perfect... 2141 | 2142 | CWD=\$(pwd)/ 2143 | BWD="?" 2144 | 2145 | ## Using full path? 2146 | [ -e "/\${1}" ] && BWD="" 2147 | 2148 | ## Using relative path? 2149 | [ -e "./\${1}" ] && BWD="\${CWD}" 2150 | 2151 | ## Can't find input file! 2152 | [[ "\${BWD}" == "?" ]] && echo -e ' '${RED}'[!]'${RESET}' Cant find \$1. Quitting...' && exit 2153 | 2154 | ## The magic! 2155 | cd /usr/share/windows-binaries/Hyperion-1.0/ 2156 | $(which wine) ./Src/Crypter/bin/crypter.exe \${BWD}\${1} output.exe 2157 | 2158 | ## Restore our path 2159 | cd \${CWD}/ 2160 | sleep 1s 2161 | 2162 | ## Move the output file 2163 | mv -f /usr/share/windows-binaries/Hyperion-1.0/output.exe \${2} 2164 | 2165 | ## Generate file hashes 2166 | for FILE in \${1} \${2}; do 2167 | echo "[i] \$(md5sum \${FILE})" 2168 | done 2169 | EOF 2170 | chmod +x "${file}" 2171 | 2172 | 2173 | ##### Install shellter 2174 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}shellter${RESET} ~ dynamic shellcode injector" 2175 | apt -y -qq install shellter \ 2176 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2177 | 2178 | 2179 | ##### Install the backdoor factory 2180 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Backdoor Factory${RESET} ~ bypassing anti-virus" 2181 | apt -y -qq install backdoor-factory \ 2182 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2183 | 2184 | 2185 | ##### Install Backdoor Factory Proxy (BDFProxy) 2186 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Backdoor Factory Proxy (BDFProxy)${RESET} ~ patches binaries files during a MITM" 2187 | apt -y -qq install bdfproxy \ 2188 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2189 | 2190 | 2191 | ##### Install BetterCap 2192 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}BetterCap${RESET} ~ MITM framework" 2193 | apt -y -qq install git ruby-dev libpcap-dev \ 2194 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2195 | git clone -q -b master https://github.com/evilsocket/bettercap.git /opt/bettercap-git/ \ 2196 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2197 | pushd /opt/bettercap-git/ >/dev/null 2198 | git pull -q 2199 | gem build bettercap.gemspec 2200 | gem install bettercap*.gem 2201 | popd >/dev/null 2202 | 2203 | 2204 | ##### Install mitmf 2205 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MITMf${RESET} ~ framework for MITM attacks" 2206 | apt -y -qq install mitmf \ 2207 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2208 | 2209 | 2210 | ##### Install responder 2211 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Responder${RESET} ~ rogue server" 2212 | apt -y -qq install responder \ 2213 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2214 | 2215 | 2216 | ##### Install seclist 2217 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}seclist${RESET} ~ multiple types of (word)lists (and similar things)" 2218 | apt -y -qq install seclists \ 2219 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2220 | #--- Link to others 2221 | apt -y -qq install wordlists \ 2222 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2223 | [ -e /usr/share/seclists ] \ 2224 | && ln -sf /usr/share/seclists /usr/share/wordlists/seclists 2225 | 2226 | # https://github.com/fuzzdb-project/fuzzdb 2227 | 2228 | 2229 | ##### Update wordlists 2230 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Updating ${GREEN}wordlists${RESET} ~ collection of wordlists" 2231 | apt -y -qq install wordlists curl \ 2232 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2233 | #--- Extract rockyou wordlist 2234 | [ -e /usr/share/wordlists/rockyou.txt.gz ] \ 2235 | && gzip -dc < /usr/share/wordlists/rockyou.txt.gz > /usr/share/wordlists/rockyou.txt 2236 | #--- Add 10,000 Top/Worst/Common Passwords 2237 | mkdir -p /usr/share/wordlists/ 2238 | (curl --progress -k -L -f "http://xato.net/files/10k most common.zip" > /tmp/10kcommon.zip 2>/dev/null \ 2239 | || curl --progress -k -L -f "http://download.g0tmi1k.com/wordlists/common-10k_most_common.zip" > /tmp/10kcommon.zip 2>/dev/null) \ 2240 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading 10kcommon.zip" 1>&2 2241 | unzip -q -o -d /usr/share/wordlists/ /tmp/10kcommon.zip 2>/dev/null #***!!! hardcoded version! Need to manually check for updates 2242 | mv -f /usr/share/wordlists/10k{\ most\ ,_most_}common.txt 2243 | #--- Linking to more - folders 2244 | [ -e /usr/share/dirb/wordlists ] \ 2245 | && ln -sf /usr/share/dirb/wordlists /usr/share/wordlists/dirb 2246 | #--- Extract sqlmap wordlist 2247 | unzip -o -d /usr/share/sqlmap/txt/ /usr/share/sqlmap/txt/wordlist.zip 2248 | ln -sf /usr/share/sqlmap/txt/wordlist.txt /usr/share/wordlists/sqlmap.txt 2249 | #--- Not enough? Want more? Check below! 2250 | #apt search wordlist 2251 | #find / \( -iname '*wordlist*' -or -iname '*passwords*' \) #-exec ls -l {} \; 2252 | 2253 | 2254 | ##### Install apt-file 2255 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}apt-file${RESET} ~ which package includes a specific file" 2256 | apt -y -qq install apt-file \ 2257 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2258 | apt-file update 2259 | 2260 | 2261 | ##### Install apt-show-versions 2262 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}apt-show-versions${RESET} ~ which package version in repo" 2263 | apt -y -qq install apt-show-versions \ 2264 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2265 | 2266 | 2267 | ##### Install Babel scripts 2268 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Babel scripts${RESET} ~ post exploitation scripts" 2269 | apt -y -qq install git \ 2270 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2271 | git clone -q -b master https://github.com/attackdebris/babel-sf.git /opt/babel-sf-git/ \ 2272 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2273 | pushd /opt/babel-sf-git/ >/dev/null 2274 | git pull -q 2275 | popd >/dev/null 2276 | 2277 | 2278 | ##### Install checksec 2279 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}checksec${RESET} ~ check *nix OS for security features" 2280 | apt -y -qq install curl \ 2281 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2282 | mkdir -p /usr/share/checksec/ 2283 | file=/usr/share/checksec/checksec.sh 2284 | timeout 300 curl --progress -k -L -f "http://www.trapkit.de/tools/checksec.sh" > "${file}" \ 2285 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading checksec.sh" 1>&2 #***!!! hardcoded patch 2286 | chmod +x "${file}" 2287 | 2288 | 2289 | ##### Install shellconv 2290 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}shellconv${RESET} ~ shellcode disassembler" 2291 | apt -y -qq install git \ 2292 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2293 | git clone -q -b master https://github.com/hasherezade/shellconv.git /opt/shellconv-git/ \ 2294 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2295 | pushd /opt/shellconv-git/ >/dev/null 2296 | git pull -q 2297 | popd >/dev/null 2298 | #--- Add to path 2299 | mkdir -p /usr/local/bin/ 2300 | file=/usr/local/bin/shellconv-git 2301 | cat < "${file}" \ 2302 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2303 | #!/bin/bash 2304 | 2305 | cd /opt/shellconv-git/ && python shellconv.py "\$@" 2306 | EOF 2307 | chmod +x "${file}" 2308 | 2309 | 2310 | ##### Install bless 2311 | #(( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}bless${RESET} ~ GUI hex editor" 2312 | #apt -y -qq install bless \ 2313 | # || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2314 | 2315 | 2316 | ##### Install dhex 2317 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}dhex${RESET} ~ CLI hex compare" 2318 | apt -y -qq install dhex \ 2319 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2320 | 2321 | 2322 | ##### Install firmware-mod-kit 2323 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}firmware-mod-kit${RESET} ~ customize firmware" 2324 | apt -y -qq install firmware-mod-kit \ 2325 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2326 | 2327 | 2328 | ##### Install lnav 2329 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}lnav${RESET} ~ CLI log veiwer" 2330 | apt -y -qq install lnav \ 2331 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2332 | 2333 | 2334 | ##### Install commix 2335 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}commix${RESET} ~ automatic command injection" 2336 | apt -y -qq install commix \ 2337 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2338 | 2339 | 2340 | ##### Install fimap 2341 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}fimap${RESET} ~ automatic LFI/RFI tool" 2342 | apt -y -qq install fimap \ 2343 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2344 | 2345 | 2346 | ##### Install smbmap 2347 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}smbmap${RESET} ~ SMB enumeration tool" 2348 | apt -y -qq install smbmap \ 2349 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2350 | 2351 | 2352 | ##### Install smbspider 2353 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}smbspider${RESET} ~ search network shares" 2354 | apt -y -qq install git \ 2355 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2356 | git clone -q -b master https://github.com/T-S-A/smbspider.git /opt/smbspider-git/ \ 2357 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2358 | pushd /opt/smbspider-git/ >/dev/null 2359 | git pull -q 2360 | popd >/dev/null 2361 | 2362 | 2363 | ##### Install CrackMapExec 2364 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}CrackMapExec${RESET} ~ Swiss army knife for Windows environments" 2365 | apt -y -qq install git \ 2366 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2367 | git clone -q -b master https://github.com/byt3bl33d3r/CrackMapExec.git /opt/crackmapexec-git/ \ 2368 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2369 | pushd /opt/crackmapexec-git/ >/dev/null 2370 | git pull -q 2371 | popd >/dev/null 2372 | 2373 | 2374 | ##### Install credcrack 2375 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}credcrack${RESET} ~ credential harvester via Samba" 2376 | apt -y -qq install git \ 2377 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2378 | git clone -q -b master https://github.com/gojhonny/CredCrack.git /opt/credcrack-git/ \ 2379 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2380 | pushd /opt/credcrack-git/ >/dev/null 2381 | git pull -q 2382 | popd >/dev/null 2383 | 2384 | 2385 | ##### Install Empire 2386 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Empire${RESET} ~ PowerShell post-exploitation" 2387 | apt -y -qq install git \ 2388 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2389 | git clone -q -b master https://github.com/PowerShellEmpire/Empire.git /opt/empire-git/ \ 2390 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2391 | pushd /opt/empire-git/ >/dev/null 2392 | git pull -q 2393 | popd >/dev/null 2394 | 2395 | 2396 | ##### Install wig (https://bugs.kali.org/view.php?id=1932) 2397 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}wig${RESET} ~ web application detection" 2398 | apt -y -qq install git \ 2399 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2400 | git clone -q -b master https://github.com/jekyc/wig.git /opt/wig-git/ \ 2401 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2402 | pushd /opt/wig-git/ >/dev/null 2403 | git pull -q 2404 | popd >/dev/null 2405 | #--- Add to path 2406 | mkdir -p /usr/local/bin/ 2407 | file=/usr/local/bin/wig-git 2408 | cat < "${file}" \ 2409 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2410 | #!/bin/bash 2411 | 2412 | cd /opt/wig-git/ && python wig.py "\$@" 2413 | EOF 2414 | chmod +x "${file}" 2415 | 2416 | 2417 | ##### Install CMSmap 2418 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}CMSmap${RESET} ~ CMS detection" 2419 | apt -y -qq install git \ 2420 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2421 | git clone -q -b master https://github.com/Dionach/CMSmap.git /opt/cmsmap-git/ \ 2422 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2423 | pushd /opt/cmsmap-git/ >/dev/null 2424 | git pull -q 2425 | popd >/dev/null 2426 | #--- Add to path 2427 | mkdir -p /usr/local/bin/ 2428 | file=/usr/local/bin/cmsmap-git 2429 | cat < "${file}" \ 2430 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2431 | #!/bin/bash 2432 | 2433 | cd /opt/cmsmap-git/ && python cmsmap.py "\$@" 2434 | EOF 2435 | chmod +x "${file}" 2436 | 2437 | 2438 | ##### Install droopescan 2439 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}DroopeScan${RESET} ~ Drupal vulnerability scanner" 2440 | apt -y -qq install git \ 2441 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2442 | git clone -q -b master https://github.com/droope/droopescan.git /opt/droopescan-git/ \ 2443 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2444 | pushd /opt/droopescan-git/ >/dev/null 2445 | git pull -q 2446 | popd >/dev/null 2447 | #--- Add to path 2448 | mkdir -p /usr/local/bin/ 2449 | file=/usr/local/bin/droopescan-git 2450 | cat < "${file}" \ 2451 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2452 | #!/bin/bash 2453 | 2454 | cd /opt/droopescan-git/ && python droopescan "\$@" 2455 | EOF 2456 | chmod +x "${file}" 2457 | 2458 | 2459 | ##### Install BeEF XSS 2460 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}BeEF XSS${RESET} ~ XSS framework" 2461 | apt -y -qq install beef-xss \ 2462 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2463 | #--- Configure beef 2464 | file=/usr/share/beef-xss/config.yaml; [ -e "${file}" ] && cp -n $file{,.bkup} 2465 | username="root" 2466 | password="toor" 2467 | sed -i 's/user:.*".*"/user: "'${username}'"/' "${file}" 2468 | sed -i 's/passwd:.*".*"/passwd: "'${password}'"/' "${file}" 2469 | echo -e " ${YELLOW}[i]${RESET} BeEF username: ${username}" 2470 | echo -e " ${YELLOW}[i]${RESET} BeEF password: ${password} ***${BOLD}CHANGE THIS ASAP${RESET}***" 2471 | echo -e " ${YELLOW}[i]${RESET} Edit: /usr/share/beef-xss/config.yaml" 2472 | #--- Example 2473 | # 2474 | 2475 | 2476 | ##### Install patator (GIT) 2477 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}patator${RESET} (GIT) ~ brute force" 2478 | apt -y -qq install git \ 2479 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2480 | git clone -q -b master https://github.com/lanjelot/patator.git /opt/patator-git/ \ 2481 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2482 | pushd /opt/patator-git/ >/dev/null 2483 | git pull -q 2484 | popd >/dev/null 2485 | #--- Add to path 2486 | mkdir -p /usr/local/bin/ 2487 | file=/usr/local/bin/patator-git 2488 | cat < "${file}" \ 2489 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2490 | #!/bin/bash 2491 | 2492 | cd /opt/patator-git/ && python patator.py "\$@" 2493 | EOF 2494 | chmod +x "${file}" 2495 | 2496 | 2497 | ##### Install crowbar 2498 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}crowbar${RESET} ~ brute force" 2499 | apt -y -qq install git openvpn freerdp-x11 vncviewer \ 2500 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2501 | git clone -q -b master https://github.com/galkan/crowbar.git /opt/crowbar-git/ \ 2502 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2503 | pushd /opt/crowbar-git/ >/dev/null 2504 | git pull -q 2505 | popd >/dev/null 2506 | #--- Add to path 2507 | mkdir -p /usr/local/bin/ 2508 | file=/usr/local/bin/crowbar-git 2509 | cat < "${file}" \ 2510 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2511 | #!/bin/bash 2512 | 2513 | cd /opt/crowbar-git/ && python crowbar.py "\$@" 2514 | EOF 2515 | chmod +x "${file}" 2516 | 2517 | 2518 | ##### Install xprobe 2519 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}xprobe${RESET} ~ OS fingerprinting" 2520 | apt -y -qq install xprobe \ 2521 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2522 | 2523 | 2524 | ##### Install p0f 2525 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}p0f${RESET} ~ OS fingerprinting" 2526 | apt -y -qq install p0f \ 2527 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2528 | #p0f -i eth0 -p & curl 192.168.0.1 2529 | 2530 | 2531 | ##### Install nbtscan ~ http://unixwiz.net/tools/nbtscan.html vs http://inetcat.org/software/nbtscan.html (see http://sectools.org/tool/nbtscan/) 2532 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}nbtscan${RESET} (${GREEN}inetcat${RESET} & ${GREEN}unixwiz${RESET}) ~ netbios scanner" 2533 | #--- inetcat - 1.5.x 2534 | apt -y -qq install nbtscan \ 2535 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2536 | #--- Examples 2537 | #nbtscan -r 192.168.0.1/24 2538 | #nbtscan -r 192.168.0.1/24 -v 2539 | #--- unixwiz - 1.0.x 2540 | mkdir -p /usr/local/src/nbtscan-unixwiz/ 2541 | timeout 300 curl --progress -k -L -f "http://unixwiz.net/tools/nbtscan-source-1.0.35.tgz" > /usr/local/src/nbtscan-unixwiz/nbtscan.tgz \ 2542 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading nbtscan.tgz" 1>&2 #***!!! hardcoded version! Need to manually check for updates 2543 | tar -zxf /usr/local/src/nbtscan-unixwiz/nbtscan.tgz -C /usr/local/src/nbtscan-unixwiz/ 2544 | pushd /usr/local/src/nbtscan-unixwiz/ >/dev/null 2545 | make -s clean; 2546 | make -s 2>/dev/null # bad, I know 2547 | popd >/dev/null 2548 | #--- Add to path 2549 | mkdir -p /usr/local/bin/ 2550 | ln -sf /usr/local/src/nbtscan-unixwiz/nbtscan /usr/local/bin/nbtscan-uw 2551 | #--- Examples 2552 | #nbtscan-uw -f 192.168.0.1/24 2553 | 2554 | 2555 | ##### Setup tftp client & server 2556 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Setting up ${GREEN}tftp client${RESET} & ${GREEN}server${RESET} ~ file transfer methods" 2557 | apt -y -qq install tftp atftpd \ 2558 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2559 | #--- Configure atftpd 2560 | file=/etc/default/atftpd; [ -e "${file}" ] && cp -n $file{,.bkup} 2561 | echo -e 'USE_INETD=false\nOPTIONS="--tftpd-timeout 300 --retry-timeout 5 --maxthread 100 --verbose=5 --daemon --port 69 /var/tftp"' > "${file}" 2562 | mkdir -p /var/tftp/ 2563 | chown -R nobody\:root /var/tftp/ 2564 | chmod -R 0755 /var/tftp/ 2565 | #--- Setup alias 2566 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 2567 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2568 | grep -q '^## tftp' "${file}" 2>/dev/null \ 2569 | || echo -e '## tftp\nalias tftproot="cd /var/tftp/"\n' >> "${file}" 2570 | #--- Apply new alias 2571 | source "${file}" || source ~/.zshrc 2572 | #--- Remove from start up 2573 | systemctl disable atftpd 2574 | #--- Disabling IPv6 can help 2575 | #echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 2576 | #echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6 2577 | 2578 | 2579 | ##### Install Pure-FTPd 2580 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}Pure-FTPd${RESET} ~ FTP server/file transfer method" 2581 | apt -y -qq install pure-ftpd \ 2582 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2583 | #--- Setup pure-ftpd 2584 | mkdir -p /var/ftp/ 2585 | groupdel ftpgroup 2>/dev/null; 2586 | groupadd ftpgroup 2587 | userdel ftp 2>/dev/null; 2588 | useradd -r -M -d /var/ftp/ -s /bin/false -c "FTP user" -g ftpgroup ftp 2589 | chown -R ftp\:ftpgroup /var/ftp/ 2590 | chmod -R 0755 /var/ftp/ 2591 | pure-pw userdel ftp 2>/dev/null; 2592 | echo -e '\n' | pure-pw useradd ftp -u ftp -d /var/ftp/ 2593 | pure-pw mkdb 2594 | #--- Configure pure-ftpd 2595 | echo "no" > /etc/pure-ftpd/conf/UnixAuthentication 2596 | echo "no" > /etc/pure-ftpd/conf/PAMAuthentication 2597 | echo "yes" > /etc/pure-ftpd/conf/NoChmod 2598 | echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone 2599 | #echo "yes" > /etc/pure-ftpd/conf/AnonymousOnly 2600 | echo "no" > /etc/pure-ftpd/conf/NoAnonymous 2601 | echo "yes" > /etc/pure-ftpd/conf/AnonymousCanCreateDirs 2602 | echo "yes" > /etc/pure-ftpd/conf/AllowAnonymousFXP 2603 | echo "no" > /etc/pure-ftpd/conf/AnonymousCantUpload 2604 | echo "30768 31768" > /etc/pure-ftpd/conf/PassivePortRange #cat /proc/sys/net/ipv4/ip_local_port_range 2605 | echo "/etc/pure-ftpd/welcome.msg" > /etc/pure-ftpd/conf/FortunesFile #/etc/motd 2606 | echo "FTP" > /etc/pure-ftpd/welcome.msg 2607 | ln -sf /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure 2608 | #--- 'Better' MOTD 2609 | apt -y -qq install cowsay \ 2610 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2611 | echo "moo" | /usr/games/cowsay > /etc/pure-ftpd/welcome.msg 2612 | echo -e " ${YELLOW}[i]${RESET} Pure-FTPd username: anonymous" 2613 | echo -e " ${YELLOW}[i]${RESET} Pure-FTPd password: anonymous" 2614 | #--- Apply settings 2615 | systemctl restart pure-ftpd 2616 | #--- Setup alias 2617 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 2618 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2619 | grep -q '^## ftp' "${file}" 2>/dev/null \ 2620 | || echo -e '## ftp\nalias ftproot="cd /var/ftp/"\n' >> "${file}" 2621 | #--- Apply new alias 2622 | source "${file}" || source ~/.zshrc 2623 | #--- Remove from start up 2624 | systemctl disable pure-ftpd 2625 | 2626 | 2627 | ##### Install samba 2628 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}samba${RESET} ~ file transfer method" 2629 | #--- Installing samba 2630 | apt -y -qq install samba \ 2631 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2632 | apt -y -qq install cifs-utils \ 2633 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2634 | #--- Create samba user 2635 | groupdel smbgroup 2>/dev/null; 2636 | groupadd smbgroup 2637 | userdel samba 2>/dev/null; 2638 | useradd -r -M -d /nonexistent -s /bin/false -c "Samba user" -g smbgroup samba 2639 | #--- Use the samba user 2640 | file=/etc/samba/smb.conf; [ -e "${file}" ] && cp -n $file{,.bkup} 2641 | sed -i 's/guest account = .*/guest account = samba/' "${file}" 2>/dev/null 2642 | grep -q 'guest account' "${file}" 2>/dev/null \ 2643 | || sed -i 's#\[global\]#\[global\]\n guest account = samba#' "${file}" 2644 | #--- Setup samba paths 2645 | grep -q '^\[shared\]' "${file}" 2>/dev/null \ 2646 | || cat <> "${file}" 2647 | 2648 | [shared] 2649 | comment = Shared 2650 | path = /var/samba/ 2651 | browseable = yes 2652 | guest ok = yes 2653 | #guest only = yes 2654 | read only = no 2655 | writable = yes 2656 | create mask = 0644 2657 | directory mask = 0755 2658 | EOF 2659 | #--- Create samba path and configure it 2660 | mkdir -p /var/samba/ 2661 | chown -R samba\:smbgroup /var/samba/ 2662 | chmod -R 0755 /var/samba/ 2663 | #--- Bug fix 2664 | touch /etc/printcap 2665 | #--- Check 2666 | #systemctl restart samba 2667 | #smbclient -L \\127.0.0.1 -N 2668 | #mount -t cifs -o guest //127.0.0.1/share /mnt/smb mkdir -p /mnt/smb 2669 | #--- Disable samba at startup 2670 | systemctl stop samba 2671 | systemctl disable samba 2672 | echo -e " ${YELLOW}[i]${RESET} Samba username: guest" 2673 | echo -e " ${YELLOW}[i]${RESET} Samba password: " 2674 | #--- Setup alias 2675 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 2676 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2677 | grep -q '^## smb' "${file}" 2>/dev/null \ 2678 | || echo -e '## smb\nalias smb="cd /var/samba/"\n#alias smbroot="cd /var/samba/"\n' >> "${file}" 2679 | #--- Apply new alias 2680 | source "${file}" || source ~/.zshrc 2681 | 2682 | 2683 | ##### Install apache2 & php 2684 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}apache2${RESET} & ${GREEN}php${RESET} ~ web server" 2685 | apt -y -qq install apache2 php php-cli php-curl \ 2686 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2687 | touch /var/www/html/favicon.ico 2688 | grep -q 'Apache2 Debian Default Page: It works' /var/www/html/index.html 2>/dev/null \ 2689 | && rm -f /var/www/html/index.html \ 2690 | && echo '' > /var/www/html/index.php \ 2691 | && echo -e 'User-agent: *n\Disallow: /\n' > /var/www/html/robots.txt 2692 | #--- Setup alias 2693 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 2694 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2695 | grep -q '^## www' "${file}" 2>/dev/null \ 2696 | || echo -e '## www\nalias wwwroot="cd /var/www/html/"\n' >> "${file}" 2697 | #--- Apply new alias 2698 | source "${file}" || source ~/.zshrc 2699 | 2700 | 2701 | ##### Install mysql 2702 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}MySQL${RESET} ~ database" 2703 | apt -y -qq install mysql-server \ 2704 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2705 | echo -e " ${YELLOW}[i]${RESET} MySQL username: root" 2706 | echo -e " ${YELLOW}[i]${RESET} MySQL password: ***${BOLD}CHANGE THIS ASAP${RESET}***" 2707 | [[ -e ~/.my.cnf ]] \ 2708 | || cat < ~/.my.cnf 2709 | [client] 2710 | user=root 2711 | host=localhost 2712 | password= 2713 | EOF 2714 | 2715 | 2716 | ##### Install rsh-client 2717 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}rsh-client${RESET} ~ remote shell connections" 2718 | apt -y -qq install rsh-client \ 2719 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2720 | 2721 | 2722 | ##### Install sshpass 2723 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}sshpass${RESET} ~ automating SSH connections" 2724 | apt -y -qq install sshpass \ 2725 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2726 | 2727 | 2728 | ##### Install DBeaver 2729 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}DBeaver${RESET} ~ GUI DB manager" 2730 | apt -y -qq install curl \ 2731 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2732 | arch="i386" 2733 | [[ "$(uname -m)" == "x86_64" ]] && arch="amd64" 2734 | timeout 300 curl --progress -k -L -f "http://dbeaver.jkiss.org/files/dbeaver-ce_latest_${arch}.deb" > /tmp/dbeaver.deb \ 2735 | || echo -e ' '${RED}'[!]'${RESET}" Issue downloading dbeaver.deb" 1>&2 #***!!! hardcoded version! Need to manually check for updates 2736 | if [ -e /tmp/dbeaver.deb ]; then 2737 | dpkg -i /tmp/dbeaver.deb 2738 | #--- Add to path 2739 | mkdir -p /usr/local/bin/ 2740 | ln -sf /usr/share/dbeaver/dbeaver /usr/local/bin/dbeaver 2741 | fi 2742 | 2743 | 2744 | ##### Install ashttp 2745 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}ashttp${RESET} ~ terminal via the web" 2746 | apt -y -qq install git \ 2747 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2748 | git clone -q -b master https://github.com/JulienPalard/ashttp.git /opt/ashttp-git/ \ 2749 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2750 | pushd /opt/ashttp-git/ >/dev/null 2751 | git pull -q 2752 | popd >/dev/null 2753 | 2754 | 2755 | ##### Install gotty 2756 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}gotty${RESET} ~ terminal via the web" 2757 | apt -y -qq install git \ 2758 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2759 | git clone -q -b master https://github.com/yudai/gotty.git /opt/gotty-git/ \ 2760 | || echo -e ' '${RED}'[!] Issue when git cloning'${RESET} 1>&2 2761 | pushd /opt/gotty-git/ >/dev/null 2762 | git pull -q 2763 | popd >/dev/null 2764 | 2765 | ##### Install imwheel 2766 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}imwheel${RESET}" 2767 | apt-get install imwheel\ 2768 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2769 | touch ~/.imwheelrc 2770 | #change the marked values to change the mouse scroll speed 2771 | #None, Up, Button4, 3 <-- change this 2772 | #None, Down, Button5, 3 <-- change this 2773 | #Control_L, Up, Control_L|Button4 2774 | #Control_L, Down, Control_L|Button5 2775 | #Shift_L, Up, Shift_L|Button4 2776 | #Shift_L, Down, Shift_L|Button5 2777 | echo '.*" \nNone, Up, Button4, 3 \nNone, Down, Button5, 3 \nControl_L, Up, Control_L|Button4\nControl_L, Down, Control_L|Button5 \nShift_L, Up, Shift_L|Button4 \nShift_L, Down, Shift_L|Button5 \n'> ~/.imwheelrc 2778 | echo 'imwheel --kill --buttons "4 5"'>> .bashrc 2779 | popd >/dev/null 2780 | 2781 | 2782 | 2783 | 2784 | 2785 | 2786 | ######################################################################################################## 2787 | ######################################################################################################## 2788 | ######################################################################################################## 2789 | ######################################################################################################## 2790 | ######################################################################################################## 2791 | 2792 | 2793 | ##### Preparing a jail ~ http://allanfeid.com/content/creating-chroot-jail-ssh-access // http://www.cyberciti.biz/files/lighttpd/l2chroot.txt 2794 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Preparing up a ${GREEN}jail${RESET} ~ testing environment" 2795 | apt -y -qq install debootstrap curl \ 2796 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2797 | 2798 | 2799 | ##### Setup SSH 2800 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Setting up ${GREEN}SSH${RESET} ~ CLI access" 2801 | apt -y -qq install openssh-server \ 2802 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2803 | #--- Wipe current keys 2804 | rm -f /etc/ssh/ssh_host_* 2805 | find ~/.ssh/ -type f ! -name authorized_keys -delete 2>/dev/null 2806 | #--- Generate new keys 2807 | ssh-keygen -b 4096 -t rsa1 -f /etc/ssh/ssh_host_key -P "" >/dev/null 2808 | ssh-keygen -b 4096 -t rsa -f /etc/ssh/ssh_host_rsa_key -P "" >/dev/null 2809 | ssh-keygen -b 1024 -t dsa -f /etc/ssh/ssh_host_dsa_key -P "" >/dev/null 2810 | ssh-keygen -b 521 -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -P "" >/dev/null 2811 | ssh-keygen -b 4096 -t rsa -f ~/.ssh/id_rsa -P "" >/dev/null 2812 | #--- Change MOTD 2813 | apt -y -qq install cowsay \ 2814 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2815 | echo "Moo" | /usr/games/cowsay > /etc/motd 2816 | #--- Change SSH settings 2817 | file=/etc/ssh/sshd_config; [ -e "${file}" ] && cp -n $file{,.bkup} 2818 | sed -i 's/^PermitRootLogin .*/PermitRootLogin yes/g' "${file}" # Accept password login (overwrite Debian 8+'s more secure default option...) 2819 | sed -i 's/^#AuthorizedKeysFile /AuthorizedKeysFile /g' "${file}" # Allow for key based login 2820 | #sed -i 's/^Port .*/Port 2222/g' "${file}" 2821 | #--- Enable ssh at startup 2822 | #systemctl enable ssh 2823 | #--- Setup alias (handy for 'zsh: correct 'ssh' to '.ssh' [nyae]? n') 2824 | file=~/.bash_aliases; [ -e "${file}" ] && cp -n $file{,.bkup} #/etc/bash.bash_aliases 2825 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2826 | grep -q '^## ssh' "${file}" 2>/dev/null \ 2827 | || echo -e '## ssh\nalias ssh-start="systemctl restart ssh"\nalias ssh-stop="systemctl stop ssh"\n' >> "${file}" 2828 | #--- Apply new alias 2829 | source "${file}" || source ~/.zshrc 2830 | 2831 | 2832 | 2833 | ##### Custom insert point 2834 | 2835 | 2836 | 2837 | 2838 | 2839 | ##### Configure python console - all users 2840 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}python console${RESET} ~ tab complete & history support" 2841 | export PYTHONSTARTUP=$HOME/.pythonstartup 2842 | file=/etc/bash.bashrc; [ -e "${file}" ] && cp -n $file{,.bkup} #~/.bashrc 2843 | grep -q PYTHONSTARTUP "${file}" \ 2844 | || echo 'export PYTHONSTARTUP=$HOME/.pythonstartup' >> "${file}" 2845 | #--- Python start up file 2846 | cat < ~/.pythonstartup \ 2847 | || echo -e ' '${RED}'[!] Issue with writing file'${RESET} 1>&2 2848 | import readline 2849 | import rlcompleter 2850 | import atexit 2851 | import os 2852 | 2853 | ## Tab completion 2854 | readline.parse_and_bind('tab: complete') 2855 | 2856 | ## History file 2857 | histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 2858 | try: 2859 | readline.read_history_file(histfile) 2860 | except IOError: 2861 | pass 2862 | 2863 | atexit.register(readline.write_history_file, histfile) 2864 | 2865 | ## Quit 2866 | del os, histfile, readline, rlcompleter 2867 | EOF 2868 | #--- Apply new configs 2869 | source "${file}" || source ~/.zshrc 2870 | 2871 | 2872 | 2873 | 2874 | 2875 | ##### Install WINE 2876 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}WINE${RESET} ~ run Windows programs on *nix" 2877 | apt -y -qq install wine winetricks wine32 \ 2878 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2879 | #--- Using x64? 2880 | if [[ "$(uname -m)" == 'x86_64' ]]; then 2881 | (( STAGE++ )); echo -e " ${GREEN}[i]${RESET} (${STAGE}/${TOTAL}) Configuring ${GREEN}WINE (x64)${RESET}" 2882 | dpkg --add-architecture i386 2883 | apt -qq update 2884 | apt -y -qq install wine32 \ 2885 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 2886 | fi 2887 | #--- Run WINE for the first time 2888 | [ -e /usr/share/windows-binaries/whoami.exe ] && wine /usr/share/windows-binaries/whoami.exe &>/dev/null 2889 | #--- Setup default file association for .exe 2890 | file=~/.local/share/applications/mimeapps.list; [ -e "${file}" ] && cp -n $file{,.bkup} 2891 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 2892 | echo -e 'application/x-ms-dos-executable=wine.desktop' >> "${file}" 2893 | 2894 | 2895 | ##### Clean the system 2896 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) ${GREEN}Cleaning${RESET} the system" 2897 | #--- Clean package manager 2898 | for FILE in clean autoremove; do apt -y -qq "${FILE}"; done 2899 | apt -y -qq purge $(dpkg -l | tail -n +6 | egrep -v '^(h|i)i' | awk '{print $2}') # Purged packages 2900 | #--- Update slocate database 2901 | updatedb 2902 | #--- Reset folder location 2903 | cd ~/ &>/dev/null 2904 | #--- Remove any history files (as they could contain sensitive info) 2905 | history -cw 2>/dev/null 2906 | for i in $(cut -d: -f6 /etc/passwd | sort -u); do 2907 | [ -e "${i}" ] && find "${i}" -type f -name '.*_history' -delete 2908 | done 2909 | 2910 | 2911 | 2912 | 2913 | ##### Time taken 2914 | finish_time=$(date +%s) 2915 | echo -e "\n\n ${YELLOW}[i]${RESET} Time (roughly) taken: ${YELLOW}$(( $(( finish_time - start_time )) / 60 )) minutes${RESET}" 2916 | echo -e " ${YELLOW}[i]${RESET} Stages skipped: $(( TOTAL-STAGE ))" 2917 | 2918 | 2919 | #-Done-----------------------------------------------------------------# 2920 | 2921 | 2922 | ##### Done! 2923 | echo -e "\n ${YELLOW}[i]${RESET} Don't forget to:" 2924 | echo -e " ${YELLOW}[i]${RESET} + Check the above output (Did everything install? Any errors? (${RED}HINT: What's in RED${RESET}?)" 2925 | echo -e " ${YELLOW}[i]${RESET} + Manually install: Nessus, Nexpose, and/or Metasploit Community" 2926 | echo -e " ${YELLOW}[i]${RESET} + Agree/Accept to: Maltego, OWASP ZAP, w3af, PyCharm, etc" 2927 | echo -e " ${YELLOW}[i]${RESET} + Setup git: ${YELLOW}git config --global user.name ;git config --global user.email ${RESET}" 2928 | echo -e " ${YELLOW}[i]${RESET} + ${BOLD}Change default passwords${RESET}: PostgreSQL/MSF, MySQL, OpenVAS, BeEF XSS, etc" 2929 | echo -e " ${YELLOW}[i]${RESET} + ${YELLOW}Reboot${RESET}" 2930 | (dmidecode | grep -iq virtual) \ 2931 | && echo -e " ${YELLOW}[i]${RESET} + Take a snapshot (Virtual machine detected)" 2932 | 2933 | echo -e '\n'${BLUE}'[*]'${RESET}' '${BOLD}'Done!'${RESET}'\n\a' 2934 | exit 0 2935 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Aditya Dhan Raj Singh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Other-useful-installs/README.md: -------------------------------------------------------------------------------- 1 | # Additional useful installitions 2 | ## Softwares 3 | - conky 4 | - VirtualBox 5 | - imwheel 6 | 7 | ## scripts 8 | - bookmarks.sh -------------------------------------------------------------------------------- /Other-useful-installs/VirtualBox.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #Install VirtualBox 4 | apt-get update 5 | sleep 1 6 | apt-get upgrade 7 | sleep 1 8 | apt-get install dkms -y 9 | apt-get install virtualbox -y 10 | 11 | #Download Ubuntu 17.1 -------------------------------------------------------------------------------- /Other-useful-installs/bookmarks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #--- Bookmarks 3 | file=/root/.gtk-bookmarks; [ -e "${file}" ] && cp -n $file{,.bkup} 4 | ([[ -e "${file}" && "$(tail -c 1 ${file})" != "" ]]) && echo >> "${file}" 5 | grep -q '^file:///dev/sdb4 ' "${file}" 2>/dev/null \ 6 | || echo 'file:///dev/sdb4 "Windows Storage"' >> "${file}" 7 | -------------------------------------------------------------------------------- /Other-useful-installs/conky.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Install conky 3 | apt-get -y install conky 4 | if [ ! -e /root/.conkyrc.bkup ] && [ -e /root/.conkyrc ]; then cp -f /root/.conkyrc{,.bkup}; fi 5 | echo -e '#http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/464737-easy-configuring-conky-conkyconf.html\nbackground yes\n\nfont Monospace:size=8:weight=bold\nuse_xft yes\n\nupdate_interval 2.0\n\nown_window yes\nown_window_type normal\nown_window_transparent yes\nown_window_class conky-semi\nown_window_argb_visual no # YES # KDE\nown_window_colour brown\nown_window_hints undecorated,below,sticky,skip_taskbar,skip_pager\n\ndouble_buffer yes\nmaximum_width 250\n\ndraw_shades yes\ndraw_outline no\ndraw_borders no\n\nstippled_borders 3\nborder_margin 9\nborder_width 10\n\ndefault_color grey\n\nalignment bottom_right\n#gap_x 55 # KDE\ngap_x 0\ngap_y 0\n\nuppercase no\nuse_spacer right\n\nTEXT\n${color orange}SYSTEM INFORMATION ${hr 2}$color\n${color white}${time %A},${time %e} ${time %B} ${time %G}${alignr}${time %H:%M:%S}\n${color white}Machine:$color $nodename ${alignr}${color white}Uptime:$color $uptime\n\n${color orange}CPU ${hr 2}$color\n${font Arial:bold:size=8}${color #ff9999}${execi 99999 cat /proc/cpuinfo | grep "model name" -m1 | cut -d":" -f2 | cut -d" " -f2- | sed "s#Processor ##"}$font$color\n${color white}CPU:$color ${freq}GHz ${color #c0ff3e}${acpitemp}C $color${alignr}${color white}Processes:$color $running_processes/$processes (${cpu cpu0}% ${cpu cpu1}%)\n#${execi 20 sensors |grep "Core0 Temp" | cut -d" " -f4}$font$color$alignr${freq_g 2} ${execi 20 sensors |grep "Core1 Temp" | cut -d" " -f4}\n${cpugraph cpu1 25,120 000000 ff6600 } ${cpugraph cpu2 25,120 000000 cc0033}\n${color #ff6600}${cpubar cpu1 3,120} ${color #cc0033}${cpubar cpu2 3,120}$color\n\n${color orange}TOP 5 PROCESSES ${hr 2}$color\n${color #ff9999}NAME PID CPU MEM\n${color #ffff99}1. ${top name 1}${top pid 1} ${top cpu 1} ${top mem 1}$color\n2. ${top name 2}${top pid 2} ${top cpu 2} ${top mem 2}\n3. ${top name 3}${top pid 3} ${top cpu 3} ${top mem 3}\n4. ${top name 4}${top pid 4} ${top cpu 4} ${top mem 4}\n5. ${top name 5}${top pid 5} ${top cpu 5} ${top mem 5}\n\n${color orange}MEMORY & SWAP ${hr 2}$color\n${color white}RAM$color $memperc% ${membar 6}$color\n${color white}Swap$color $swapperc% ${swapbar 6}$color\n\n${color orange}FILESYSTEM${hr 2}$color\n${color white}root$color ${fs_free_perc /}% free$alignr${fs_free /}/ ${fs_size /}\n${fs_bar 3 /}$color\n${color white}home$color ${fs_free_perc /home}% free$alignr${fs_free /home}/ ${fs_size /home}\n${fs_bar 3 /home}$color\n\n${color orange}LAN (${addr eth0}) ${hr 2}$color\n${color white}Down:$color ${downspeed eth0} KB/s${alignr}${color white}Up:$color ${upspeed eth0} KB/s\n${color white}Downloaded:$color ${totaldown eth0} ${alignr}${color white}Uploaded:$color ${totalup eth0}\n${downspeedgraph eth0 25,120 000000 00ff00} ${alignr}${upspeedgraph eth0 25,120 000000 ff0000}$color\n${color orange}WiFi (${addr wlan0}) ${hr 2}$color\n${color white}Down:$color ${downspeed wlan0} KB/s${alignr}${color white}Up:$color ${upspeed wlan0} KB/s\n${color white}Downloaded:$color ${totaldown wlan0} ${alignr}${color white}Uploaded:$color ${totalup wlan0}\n${downspeedgraph wlan0 25,120 000000 00ff00} ${alignr}${upspeedgraph wlan0 25,120 000000 ff0000}$color\n\n${color orange}CONNECTIONS ${hr 2}$color\n${color white}Inbound: $color${tcp_portmon 1 32767 count}${color white} ${alignc}Outbound: $color${tcp_portmon 32768 61000 count}${alignr} ${color white}ALL: $color${tcp_portmon 1 65535 count}\n${color white}Inbound Connection ${alignr} Local Service/Port$color\n$color ${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767 lservice 0}\n$color ${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}\n$color ${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}\n${color white}Outbound Connection ${alignr} Remote Service/Port$color\n$color ${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}\n$color ${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}\n$color ${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}' > /root/.conkyrc 6 | echo -e '#!/bin/bash\nsleep 20 && conky;' > /root/.conkyscript.sh 7 | chmod +x /root/.conkyscript.sh 8 | mkdir -p /root/.config/autostart/ 9 | echo -e '\n[Desktop Entry]\nType=Application\nExec=/root/.conkyscript.sh\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName[en_US]=conky\nName=conky\nComment[en_US]=\nComment=' > /root/.config/autostart/.conkyscript.sh.desktop #system -> Preferences -> Startup Applications -> Add -> Name: conky -> Command: /root/.conkyscript.sh -> Add -> Close 10 | -------------------------------------------------------------------------------- /Other-useful-installs/imwheel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ##### (Cosmetic) Colour output 4 | RED="\033[01;31m" # Issues/Errors 5 | GREEN="\033[01;32m" # Success 6 | YELLOW="\033[01;33m" # Warnings/Information 7 | BLUE="\033[01;34m" # Heading 8 | BOLD="\033[01;01m" # Highlight 9 | RESET="\033[00m" # Normal 10 | 11 | STAGE=0 # Where are we up to 12 | TOTAL=$( grep '(${STAGE}/${TOTAL})' $0 | wc -l );(( TOTAL-- )) # How many things have we got todo 13 | 14 | 15 | #### Install imwheel 16 | (( STAGE++ )); echo -e "\n\n ${GREEN}[+]${RESET} (${STAGE}/${TOTAL}) Installing ${GREEN}imwheel${RESET}" 17 | apt-get install imwheel\ 18 | || echo -e ' '${RED}'[!] Issue with apt install'${RESET} 1>&2 19 | touch ~/.imwheelrc 20 | #change the marked values to change the mouse scroll speed 21 | #None, Up, Button4, 3 <-- change this 22 | #None, Down, Button5, 3 <-- change this 23 | #Control_L, Up, Control_L|Button4 24 | #Control_L, Down, Control_L|Button5 25 | #Shift_L, Up, Shift_L|Button4 26 | #Shift_L, Down, Shift_L|Button5 27 | echo '.*" \nNone, Up, Button4, 3 \nNone, Down, Button5, 3 \nControl_L, Up, Control_L|Button4\nControl_L, Down, Control_L|Button5 \nShift_L, Up, Shift_L|Button4 \nShift_L, Down, Shift_L|Button5 \n'> ~/.imwheelrc 28 | echo 'imwheel --kill --buttons "4 5"'>> .bashrc 29 | popd >/dev/null 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kali Linux 2017.3 2 | 3 | Download the latest version of Kali from the official website: 4 | 5 | 6 | ## Contents 7 | 8 | Application that will be installed are located [here](/contents/README.md) 9 | 10 | 11 | 12 | The scripts have been changed to best fit my preferences. 13 | 14 | I do not take any responsiblity if this breaks your system. Make sure you understand what you are doing. 15 | 16 | Original script is located in the "Original" folder. ([link](https://github.com/g0tmi1k/os-scripts) to repo) 17 | -------------------------------------------------------------------------------- /Troubleshoot/Info/CPU.info.txt: -------------------------------------------------------------------------------- 1 | processor : 0 2 | vendor_id : GenuineIntel 3 | cpu family : 6 4 | model : 60 5 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 6 | stepping : 3 7 | microcode : 0x22 8 | cpu MHz : 1305.501 9 | cache size : 6144 KB 10 | physical id : 0 11 | siblings : 8 12 | core id : 0 13 | cpu cores : 4 14 | apicid : 0 15 | initial apicid : 0 16 | fpu : yes 17 | fpu_exception : yes 18 | cpuid level : 13 19 | wp : yes 20 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 21 | bugs : cpu_meltdown 22 | bogomips : 4788.64 23 | clflush size : 64 24 | cache_alignment : 64 25 | address sizes : 39 bits physical, 48 bits virtual 26 | power management: 27 | 28 | processor : 1 29 | vendor_id : GenuineIntel 30 | cpu family : 6 31 | model : 60 32 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 33 | stepping : 3 34 | microcode : 0x22 35 | cpu MHz : 1226.406 36 | cache size : 6144 KB 37 | physical id : 0 38 | siblings : 8 39 | core id : 0 40 | cpu cores : 4 41 | apicid : 1 42 | initial apicid : 1 43 | fpu : yes 44 | fpu_exception : yes 45 | cpuid level : 13 46 | wp : yes 47 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 48 | bugs : cpu_meltdown 49 | bogomips : 4788.64 50 | clflush size : 64 51 | cache_alignment : 64 52 | address sizes : 39 bits physical, 48 bits virtual 53 | power management: 54 | 55 | processor : 2 56 | vendor_id : GenuineIntel 57 | cpu family : 6 58 | model : 60 59 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 60 | stepping : 3 61 | microcode : 0x22 62 | cpu MHz : 1215.918 63 | cache size : 6144 KB 64 | physical id : 0 65 | siblings : 8 66 | core id : 1 67 | cpu cores : 4 68 | apicid : 2 69 | initial apicid : 2 70 | fpu : yes 71 | fpu_exception : yes 72 | cpuid level : 13 73 | wp : yes 74 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 75 | bugs : cpu_meltdown 76 | bogomips : 4788.64 77 | clflush size : 64 78 | cache_alignment : 64 79 | address sizes : 39 bits physical, 48 bits virtual 80 | power management: 81 | 82 | processor : 3 83 | vendor_id : GenuineIntel 84 | cpu family : 6 85 | model : 60 86 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 87 | stepping : 3 88 | microcode : 0x22 89 | cpu MHz : 1276.957 90 | cache size : 6144 KB 91 | physical id : 0 92 | siblings : 8 93 | core id : 1 94 | cpu cores : 4 95 | apicid : 3 96 | initial apicid : 3 97 | fpu : yes 98 | fpu_exception : yes 99 | cpuid level : 13 100 | wp : yes 101 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 102 | bugs : cpu_meltdown 103 | bogomips : 4788.64 104 | clflush size : 64 105 | cache_alignment : 64 106 | address sizes : 39 bits physical, 48 bits virtual 107 | power management: 108 | 109 | processor : 4 110 | vendor_id : GenuineIntel 111 | cpu family : 6 112 | model : 60 113 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 114 | stepping : 3 115 | microcode : 0x22 116 | cpu MHz : 1453.201 117 | cache size : 6144 KB 118 | physical id : 0 119 | siblings : 8 120 | core id : 2 121 | cpu cores : 4 122 | apicid : 4 123 | initial apicid : 4 124 | fpu : yes 125 | fpu_exception : yes 126 | cpuid level : 13 127 | wp : yes 128 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 129 | bugs : cpu_meltdown 130 | bogomips : 4788.64 131 | clflush size : 64 132 | cache_alignment : 64 133 | address sizes : 39 bits physical, 48 bits virtual 134 | power management: 135 | 136 | processor : 5 137 | vendor_id : GenuineIntel 138 | cpu family : 6 139 | model : 60 140 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 141 | stepping : 3 142 | microcode : 0x22 143 | cpu MHz : 1281.446 144 | cache size : 6144 KB 145 | physical id : 0 146 | siblings : 8 147 | core id : 2 148 | cpu cores : 4 149 | apicid : 5 150 | initial apicid : 5 151 | fpu : yes 152 | fpu_exception : yes 153 | cpuid level : 13 154 | wp : yes 155 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 156 | bugs : cpu_meltdown 157 | bogomips : 4788.64 158 | clflush size : 64 159 | cache_alignment : 64 160 | address sizes : 39 bits physical, 48 bits virtual 161 | power management: 162 | 163 | processor : 6 164 | vendor_id : GenuineIntel 165 | cpu family : 6 166 | model : 60 167 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 168 | stepping : 3 169 | microcode : 0x22 170 | cpu MHz : 1224.543 171 | cache size : 6144 KB 172 | physical id : 0 173 | siblings : 8 174 | core id : 3 175 | cpu cores : 4 176 | apicid : 6 177 | initial apicid : 6 178 | fpu : yes 179 | fpu_exception : yes 180 | cpuid level : 13 181 | wp : yes 182 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 183 | bugs : cpu_meltdown 184 | bogomips : 4788.64 185 | clflush size : 64 186 | cache_alignment : 64 187 | address sizes : 39 bits physical, 48 bits virtual 188 | power management: 189 | 190 | processor : 7 191 | vendor_id : GenuineIntel 192 | cpu family : 6 193 | model : 60 194 | model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz 195 | stepping : 3 196 | microcode : 0x22 197 | cpu MHz : 1464.464 198 | cache size : 6144 KB 199 | physical id : 0 200 | siblings : 8 201 | core id : 3 202 | cpu cores : 4 203 | apicid : 7 204 | initial apicid : 7 205 | fpu : yes 206 | fpu_exception : yes 207 | cpuid level : 13 208 | wp : yes 209 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts 210 | bugs : cpu_meltdown 211 | bogomips : 4788.64 212 | clflush size : 64 213 | cache_alignment : 64 214 | address sizes : 39 bits physical, 48 bits virtual 215 | power management: 216 | 217 | -------------------------------------------------------------------------------- /Troubleshoot/README.md: -------------------------------------------------------------------------------- 1 | # Errors that I faced while working around Kali 2017.3 2 | - [Nvidia](#nvidia) 3 | - [Pulseaudio](##pulseaudio) 4 | 5 | 6 | 7 | ## Nvidia 8 | 9 | nouveau driver issue or nouveau fifo error or nouveau error 10 | 11 | Solution as suggested at official [documentation](https://docs.kali.org/general-use/install-nvidia-drivers-on-kali-linux) 12 | 13 | ### Result : 14 | - Driver did not install and the display stopped working intirely. 15 | 16 | ### Solution 17 | 18 | - Remove all the installed drivers/addons from nvidia and reinstall GDM3 or any other display manager 19 | 20 | ``` 21 | $ apt-get remove --purge "nvidia-*" 22 | $ reboot 23 | $ apt-get install gdm3 24 | ``` 25 | 26 | After this GUI started to work normally 27 | 28 | ## Pulseaudio 29 | ### Reason 30 | - When connecting to a bluetooth speaker/headset, the output configuration profile can not be changed to High Fidelity Playback (A2DP Sink) 31 | 32 | 33 | ```sh 34 | $ sudo rmmod btusb ; sudo modprobe btusb 35 | ``` 36 | In Kali you are usually the root user, so the "sudo" isn't actually required 37 | 38 | what this does is reloads the btsub in the kernel so that it can take a new value of the configuration profile. 39 | 40 | 41 | ## Device information 42 | 43 | 44 | | Parameter |Details | 45 | |--|--| 46 | |Manufacturer|Lenovo| 47 | |Model|Lenovo Y510P| 48 | |CPU|Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz [details](/info/CPU.info.txt)| 49 | |Memory (RAM)|8 GB| 50 | |Storage|1 TB (kali - HDD) + 500GB (Windows - HDD)| 51 | 52 | -------------------------------------------------------------------------------- /contents/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Contents 3 | 4 | Application that will be installed are: 5 | 6 | - Terminator 7 | - ZSH 8 | - tmux 9 | - vim 10 | - git 11 | - metasploit 12 | - exe2hex 13 | - MPC 14 | - Gedit 15 | - PyCharm 16 | - wdiff 17 | - meld 18 | - vbindiff 19 | - OpenVAS 20 | - vFeed 21 | - Burp Suite 22 | - go 23 | - gitg 24 | - sparta 25 | - wireshark 26 | - silver searcher 27 | - rips 28 | - graudit 29 | - libreoffice 30 | - ipcalc & sipcalc 31 | - asciinema 32 | - shutter 33 | - psmisc 34 | - pipe viewer 35 | - pwgen 36 | - htop 37 | - powertop 38 | - iotop 39 | - ca-certificates 40 | - testssl 41 | - UACScript 42 | - MiniReverse 43 | - axel 44 | - html2text 45 | - tmux2html 46 | - gparted 47 | - daemonfs 48 | - filezilla 49 | - ncftp 50 | - p7zip 51 | - zip & unzip 52 | - file roller 53 | - VPN support 54 | - hashid 55 | - httprint 56 | - lbd 57 | - wafw00f 58 | - aircrack-ng 59 | - reaver (community fork) 60 | - bully 61 | - wifite 62 | - vulscan script for nmap 63 | - unicornscan 64 | - onetwopunch 65 | - Gnmap-Parser 66 | - udp-proto-scanner 67 | - clusterd 68 | - webhandler 69 | - azazel 70 | - Babadook 71 | - pupy 72 | - gobuster 73 | - reGeorg 74 | - b374k 75 | - adminer 76 | - WeBaCoo 77 | - cmdsql 78 | - JSP file browser 79 | - htshells 80 | - python-pty-shells 81 | - bridge-utils 82 | - FruityWifi 83 | - WPA2-HalfHandshake-Crack 84 | - HT-WPS-Breaker 85 | - dot11decrypt 86 | - mana toolkit 87 | - wifiphisher 88 | - hostapd-wpe-extended 89 | - proxychains-ng 90 | - httptunnel 91 | - sshuttle 92 | - pfi 93 | - icmpsh 94 | - dnsftp 95 | - iodine 96 | - dns2tcp 97 | - ptunnel 98 | - stunnel 99 | - zerofree 100 | - gcc & multilib 101 | - MinGW 102 | - veil framework 103 | - OP packers 104 | - hyperion 105 | - shellter 106 | - the backdoor factory 107 | - BDFProxy 108 | - BetterCap 109 | - mitmf 110 | - responder 111 | - seclist 112 | - Babel scripts 113 | - checksec 114 | - shellconv 115 | - dhex 116 | - lnav 117 | - commix 118 | - fimap 119 | - smbmap 120 | - smbspider 121 | - CrackMapExec 122 | - credcrack 123 | - Empire 124 | - wig 125 | - CMSmap 126 | - droopescan 127 | - BeEF XSS 128 | - patator 129 | - crowbar 130 | - xprobe 131 | - p0f 132 | - nbtscan 133 | - tftp client & server 134 | - Pure-FTPd 135 | - samba 136 | - apache2 & php 137 | - mysql 138 | - rsh-client 139 | - sshpass 140 | - DBeaver 141 | - ashttp 142 | - gotty 143 | - apt-file 144 | - apt-show-versions 145 | - imwheel 146 | - wine32 147 | 148 | 149 | Downloads (Windows) 150 | 151 | - AccessChk.exe 152 | - PsExec.exe 153 | - Python (Windows via WINE) 154 | --------------------------------------------------------------------------------