├── .htaccess ├── .xinitrc ├── README.md ├── anon.sh ├── kali2_fix.py ├── kali2_fix.pybak ├── proxychains.conf └── test commands /.htaccess: -------------------------------------------------------------------------------- 1 | # Only set these if PHP 5 is loaded as an apache module 2 | 3 | php_flag magic_quotes_gpc Off 4 | #php_flag allow_url_fopen on 5 | #php_flag allow_url_include on 6 | 7 | 8 | # Only set these if PHP 4 is loaded as an apache module 9 | 10 | php_flag magic_quotes_gpc Off 11 | #php_flag allow_url_fopen on 12 | #php_flag allow_url_include on 13 | 14 | 15 | # Limit access to localhost 16 | # 17 | # order deny,allow 18 | # deny from all 19 | # allow from 127.0.0.1 20 | # 21 | -------------------------------------------------------------------------------- /.xinitrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # ~/.xinitrc 4 | #Modified for use with Kali2_fixer by @ompster 5 | # Executed by startx (run your window manager from here) 6 | 7 | if [ -d /etc/X11/xinit/xinitrc.d ]; then 8 | for f in /etc/X11/xinit/xinitrc.d/*; do 9 | [ -x "$f" ] && . "$f" 10 | done 11 | unset f 12 | fi 13 | 14 | # Here Xfce is kept as default 15 | DEFAULT_SESSION=startxfce4 16 | 17 | case $session in 18 | awesome ) exec awesome;; 19 | bspwm ) exec bspwm;; 20 | catwm ) exec catwm;; 21 | cinnamon ) exec cinnamon-session;; 22 | dwm ) exec dwm;; 23 | enlightenment ) exec enlightenment_start;; 24 | ede ) exec startede;; 25 | fluxbox ) exec startfluxbox;; 26 | gnome ) exec gnome-session;; 27 | gnome-classic ) exec gnome-session --session=gnome-classic;; 28 | i3|i3wm ) exec i3;; 29 | icewm ) exec icewm-session;; 30 | jwm ) exec jwm;; 31 | kde ) exec startkde;; 32 | mate ) exec mate-session;; 33 | monster|monsterwm ) exec monsterwm;; 34 | notion ) exec notion;; 35 | openbox ) exec openbox-session;; 36 | unity ) exec unity;; 37 | xfce|xfce4 ) exec startxfce4;; 38 | xmonad ) exec xmonad;; 39 | # No known session, try to run it as command 40 | *) exec $DEFAULT_SESSION;; 41 | esac 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # What does it do? 2 | The script will download the latest stable armitage binaries and then initialize the database for you. it can also... 3 | - Fix armitage 4 | 2. Install Chrome 5 | 3. Install XFCE4 and classic kali 1.x menus 6 | 4. Install Linset (Evil-twin WPA attack) English version and all pre-requisites 7 | 5. Install VirtualBox 8 | 6. Install Damn Vulnerable Web App (DVWA) 9 | 7. Update itself 10 | 8. Install TOR and proxychains config 11 | 9. Install Teamviewer 12 | 13 | # Usage 14 |
15 |
Clone the git repo anywhere you like using:
16 |
git clone https://github.com/ompster/kali2_fixer.git
17 | 18 |
cd int kali2_fixer directory
19 |
cd kali2_fixer
20 | 21 |
Run the python script
22 |
python kali2_fix.py
23 | 24 |

and follow the prompts! :)

25 |
26 | More fixes are coming soon! 27 | Planned: 28 | * Include my PyCrunch code (crunch wordlist generator wizzard) 29 | * 30 | 31 | if you are interested in learning more about kali visit the facebook group! 32 | https://www.facebook.com/groups/kalilinuxproject 33 | 34 | Follow me on twitter! 35 | @ompster 36 | 37 | And visit my blog for all-round nerdy stuff 38 | http://nathanash.id.au 39 | 40 | Thanks! 41 | 42 | -------------------------------------------------------------------------------- /anon.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ## Modified for Kali2_fixer by @ompster 3 | # BackBox Script for Anonymous Internet Navigation 4 | # 5 | # This script is intended to set up your BackBox machine to guarantee 6 | # anonymity through Tor. Additionally, the script takes further steps to 7 | # guarantee prevantion of data leakage by killing dangerous processes, 8 | # changing MAC address and IP information and so on. 9 | ## ORIGINAL CREDIT TO 10 | # Author: Raffaele Forte 11 | # Version: 1.0 12 | ########Props to original author! This script has been modified by @ompster - nathanash.id.au for use in kali linux 2.x 13 | # List, separated by spaces, of destinations that you do not want to be 14 | # routed through Tor 15 | NON_TOR="192.168.0.0/16 172.16.0.0/12" 16 | 17 | # The UID as which Tor runs 18 | TOR_UID="debian-tor" 19 | 20 | # Tor TransPort 21 | TRANS_PORT="9040" 22 | 23 | # List, separated by spaces, of process names that should be killed 24 | TO_KILL="chrome dropbox firefox pidgin skype thunderbird xchat" 25 | 26 | # List, separated by spaces, of BleachBit cleaners 27 | BLEACHBIT_CLEANERS="bash.history system.cache system.clipboard system.custom system.recent_documents system.rotated_logs system.tmp system.trash" 28 | 29 | # Overwrite files to hide contents 30 | OVERWRITE="true" 31 | 32 | # The default local hostname 33 | REAL_HOSTNAME="kali" 34 | 35 | # Include default options, if any 36 | if [ -f /etc/default/backbox-anonymous ] ; then 37 | . /etc/default/backbox-anonymous 38 | fi 39 | 40 | warning() { 41 | echo "\n[!] WARNING! It's a simple script that avoid the most common system data" 42 | echo " leaks. Your coumputer behaviour is the key to guarantee you a strong" 43 | echo " privacy protection and a good anonimate." 44 | 45 | echo "\n[i] Please edit /etc/default/backbox-anonymous with your custom values." 46 | } 47 | 48 | # General-purpose Yes/No prompt function 49 | ask() { 50 | while true; do 51 | if [ "${2:-}" = "Y" ]; then 52 | prompt="Y/n" 53 | default=Y 54 | elif [ "${2:-}" = "N" ]; then 55 | prompt="y/N" 56 | default=N 57 | else 58 | prompt="y/n" 59 | default= 60 | fi 61 | 62 | # Ask the question 63 | echo 64 | read -p "$1 [$prompt] > " REPLY 65 | 66 | # Default? 67 | if [ -z "$REPLY" ]; then 68 | REPLY=$default 69 | fi 70 | 71 | # Check if the reply is valid 72 | case "$REPLY" in 73 | Y*|y*) return 0 ;; 74 | N*|n*) return 1 ;; 75 | esac 76 | done 77 | } 78 | 79 | # Make sure that only root can run this script 80 | check_root() { 81 | if [ $(id -u) -ne 0 ]; then 82 | echo "\n[!] This script must run as root\n" >&2 83 | exit 1 84 | fi 85 | } 86 | 87 | # Kill processes at startup 88 | kill_process() { 89 | if [ "$TO_KILL" != "" ]; then 90 | killall -q $TO_KILL 91 | echo " * Killed processes to prevent leaks" 92 | fi 93 | } 94 | 95 | # Release DHCP address #Working in kali... 96 | clean_dhcp() { 97 | dhclient -r 98 | rm -f /var/lib/dhcp/dhclient* 99 | echo " * DHCP address released" 100 | } 101 | 102 | # Change the local hostname 103 | change_hostname() { 104 | 105 | echo 106 | 107 | CURRENT_HOSTNAME=$(hostname) 108 | 109 | clean_dhcp 110 | #open the common word dictionary and remove an illegal characters for use in the hostname 111 | RANDOM_HOSTNAME=$(shuf -n 1 /etc/dictionaries-common/words | sed -r 's/[^a-zA-Z]//g' | awk '{print tolower($0)}') 112 | 113 | NEW_HOSTNAME=${1:-$RANDOM_HOSTNAME} 114 | 115 | echo $NEW_HOSTNAME > /etc/hostname 116 | sed -i 's/127.0.1.1.*/127.0.1.1\t'$NEW_HOSTNAME'/g' /etc/hosts 117 | 118 | echo -n " * Service " 119 | service hostname start 2>/dev/null || echo "hostname already started" 120 | 121 | if [ -f "$HOME/.Xauthority" ] ; then 122 | su $SUDO_USER -c "xauth list | grep -v $CURRENT_HOSTNAME | cut -f1 -d\ | xargs -i xauth remove {}" 123 | su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'$NEW_HOSTNAME'\//g')" 124 | echo " * X authority file updated" 125 | fi 126 | 127 | avahi-daemon --kill 128 | #works in kali! 129 | 130 | echo " * Hostname changed to $NEW_HOSTNAME" 131 | } 132 | 133 | # Change the MAC address for network interfaces 134 | change_mac() { 135 | 136 | VAR=0 137 | 138 | while [ $VAR -eq 0 ]; do 139 | echo -n "Select network interfaces [" 140 | echo -n $(ifconfig -a | grep Ethernet | awk '{print $1}') 141 | read -p "] > " IFACE 142 | 143 | ifconfig -a | grep Ethernet | awk '{print $1}' | grep -q -x "$IFACE" 144 | 145 | if [ $? -ne 1 ]; then 146 | VAR=1 147 | fi 148 | done 149 | 150 | if [ "$1" = "permanent" ]; then 151 | NEW_MAC=$(macchanger -p $IFACE | tail -n 1 | sed 's/ //g') 152 | echo "\n * $NEW_MAC" 153 | else 154 | NEW_MAC=$(macchanger -A $IFACE | tail -n 1 | sed 's/ //g') 155 | echo "\n * $NEW_MAC" 156 | fi 157 | } 158 | 159 | # Check Tor configs 160 | check_configs() { 161 | 162 | grep -q -x 'RUN_DAEMON="yes"' /etc/default/tor 163 | if [ $? -ne 0 ]; then 164 | echo "\n[!] Please add the following to your '/etc/default/tor' and restart the service:\n" 165 | echo ' RUN_DAEMON="yes"\n' 166 | exit 1 167 | fi 168 | 169 | grep -q -x 'VirtualAddrNetwork 10.192.0.0/10' /etc/tor/torrc 170 | VAR1=$? 171 | 172 | grep -q -x 'TransPort 9040' /etc/tor/torrc 173 | VAR2=$? 174 | 175 | grep -q -x 'DNSPort 53' /etc/tor/torrc 176 | VAR3=$? 177 | 178 | grep -q -x 'AutomapHostsOnResolve 1' /etc/tor/torrc 179 | VAR4=$? 180 | 181 | if [ $VAR1 -ne 0 ] || [ $VAR2 -ne 0 ] || [ $VAR3 -ne 0 ] || [ $VAR4 -ne 0 ]; then 182 | echo "\n[!] Please add the following to your '/etc/tor/torrc' and restart service:\n" 183 | echo ' VirtualAddrNetwork 10.192.0.0/10' 184 | echo ' TransPort 9040' 185 | echo ' DNSPort 53' 186 | echo ' AutomapHostsOnResolve 1\n' 187 | exit 1 188 | fi 189 | } 190 | 191 | iptables_flush() { 192 | iptables -F 193 | iptables -t nat -F 194 | echo " * Deleted all iptables rules" 195 | } 196 | 197 | # BackBox implementation of Transparently Routing Traffic Through Tor 198 | # https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy 199 | redirect_to_tor() { 200 | 201 | echo 202 | 203 | if [ ! -e /var/run/tor/tor.pid ]; then 204 | echo "\n[!] Tor is not running! Quitting...\n" 205 | exit 1 206 | fi 207 | 208 | if ! [ -f /etc/network/iptables.rules ]; then 209 | iptables-save > /etc/network/iptables.rules 210 | echo " * Saved iptables rules" 211 | fi 212 | 213 | iptables_flush 214 | 215 | echo -n " * Service " 216 | service resolvconf stop 2>/dev/null || echo "resolvconf already stopped" 217 | 218 | echo 'nameserver 127.0.0.1' > /etc/resolv.conf 219 | echo " * Modified resolv.conf to use Tor" 220 | 221 | iptables -t nat -A OUTPUT -m owner --uid-owner $TOR_UID -j RETURN 222 | iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53 223 | 224 | for NET in $NON_TOR 127.0.0.0/9 127.128.0.0/10; do 225 | iptables -t nat -A OUTPUT -d $NET -j RETURN 226 | done 227 | 228 | iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $TRANS_PORT 229 | iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 230 | 231 | for NET in $NON_TOR 127.0.0.0/8; do 232 | iptables -A OUTPUT -d $NET -j ACCEPT 233 | done 234 | 235 | iptables -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT 236 | iptables -A OUTPUT -j REJECT 237 | 238 | } 239 | 240 | # BleachBit cleaners deletes unnecessary files to preserve privacy 241 | do_bleachbit() { 242 | if [ "$OVERWRITE" = "true" ] ; then 243 | echo -n "\n * Deleting and overwriting unnecessary files... " 244 | bleachbit -o -c $BLEACHBIT_CLEANERS >/dev/null 245 | else 246 | echo -n "\n * Deleting unnecessary files... " 247 | bleachbit -c $BLEACHBIT_CLEANERS >/dev/null 248 | fi 249 | 250 | bleachbit -o -c $BLEACHBIT_CLEANERS >/dev/null 251 | echo "Done!" 252 | } 253 | 254 | do_start() { 255 | check_configs 256 | check_root 257 | 258 | warning 259 | 260 | echo "\n[i] Starting anonymous mode\n" 261 | 262 | echo -n " * Service " 263 | service network-manager stop 2>/dev/null || echo " network-manager already stopped" 264 | 265 | kill_process 266 | 267 | if ask "Do you want to change the MAC address?" Y; then 268 | change_mac 269 | fi 270 | 271 | if ask "Do you want to change the local hostname?" Y; then 272 | read -p "Type it or press Enter for a random one > " CHOICE 273 | 274 | if [ "$CHOICE" = "" ]; then 275 | change_hostname 276 | else 277 | change_hostname $CHOICE 278 | fi 279 | fi 280 | 281 | if ask "Do you want to transparently routing traffic through Tor?" Y; then 282 | redirect_to_tor 283 | else 284 | echo 285 | fi 286 | 287 | echo -n " * Service " 288 | service network-manager start 2>/dev/null || echo "network-manager already started" 289 | service tor restart 290 | echo 291 | } 292 | 293 | do_stop() { 294 | 295 | check_root 296 | 297 | echo "\n[i] Stopping anonymous mode\n" 298 | 299 | echo -n " * Service " 300 | service network-manager stop 2>/dev/null || echo " network-manager already stopped" 301 | 302 | iptables_flush 303 | 304 | if [ -f /etc/network/iptables.rules ]; then 305 | iptables-restore < /etc/network/iptables.rules 306 | rm /etc/network/iptables.rules 307 | echo " * Restored iptables rules" 308 | fi 309 | 310 | echo -n " * Service " 311 | service resolvconf start 2>/dev/null || echo "resolvconf already started" 312 | 313 | kill_process 314 | 315 | if ask "Do you want to change the MAC address?" Y; then 316 | change_mac permanent 317 | fi 318 | 319 | if ask "Do you want to change the local hostname?" Y; then 320 | read -p "Type it or press Enter to restore default [$REAL_HOSTNAME] > " CHOICE 321 | 322 | if [ "$CHOICE" = "" ]; then 323 | change_hostname $REAL_HOSTNAME 324 | else 325 | change_hostname $CHOICE 326 | fi 327 | else 328 | echo 329 | fi 330 | 331 | echo -n " * Service " 332 | service network-manager start 2>/dev/null || echo "network-manager already started" 333 | service tor restart 334 | 335 | if ask "Delete unnecessary files to preserve your privacy?" Y; then 336 | do_bleachbit 337 | fi 338 | 339 | echo 340 | } 341 | 342 | do_status() { 343 | 344 | echo "\n[i] Showing anonymous status\n" 345 | 346 | ifconfig -a | grep "encap:Ethernet" | awk '{print " * " $1, $5}' 347 | 348 | CURRENT_HOSTNAME=$(hostname) 349 | echo " * Hostname $CURRENT_HOSTNAME" 350 | 351 | HTML=$(curl -s https://check.torproject.org/?lang=en_US) 352 | IP=$(echo $HTML | egrep -m1 -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') 353 | 354 | echo $HTML | grep -q "Congratulations. This browser is configured to use Tor." 355 | 356 | if [ $? -ne 0 ]; then 357 | echo " * IP $IP" 358 | echo " * Tor OFF\n" 359 | exit 3 360 | else 361 | echo " * IP $IP" 362 | echo " * Tor ON\n" 363 | fi 364 | } 365 | 366 | case "$1" in 367 | start) 368 | do_start 369 | ;; 370 | stop) 371 | do_stop 372 | ;; 373 | status) 374 | do_status 375 | ;; 376 | *) 377 | echo "Usage: $0 {start|stop|status}" >&2 378 | exit 3 379 | ;; 380 | esac 381 | 382 | exit 0 383 | -------------------------------------------------------------------------------- /kali2_fix.py: -------------------------------------------------------------------------------- 1 | ###################################### 2 | ## Kali Linux 2 Fixer v 0.2 ## 3 | ## By Nathan ASH ## 4 | ## http://nathanash.id.au ## 5 | ## https://github.com/ompster ## 6 | ## @ompster ## 7 | ###################################### 8 | from tempfile import mkstemp 9 | from shutil import move 10 | from os import remove 11 | import subprocess 12 | import os 13 | 14 | import sys 15 | 16 | ########## file write functions ######### 17 | def func_append_file(appendFile, appendText): 18 | with open(appendFile, "a") as appendFile: 19 | appendFile.write(appendText) 20 | 21 | def replace(source_file_path, pattern, substring): 22 | fh, target_file_path = mkstemp() 23 | with open(target_file_path, 'w') as target_file: 24 | with open(source_file_path, 'r') as source_file: 25 | for line in source_file: 26 | target_file.write(line.replace(pattern, substring)) 27 | remove(source_file_path) 28 | move(target_file_path, source_file_path) 29 | ########################################## 30 | 31 | ####COLOURS YO########## 32 | class bcolors: 33 | HEADER = '\033[95m' 34 | OKBLUE = '\033[94m' 35 | OKGREEN = '\033[92m' 36 | WARNING = '\033[93m' 37 | FAIL = '\033[91m' 38 | ENDC = '\033[0m' 39 | BOLD = '\033[1m' 40 | UNDERLINE = '\033[4m' 41 | ######################## 42 | 43 | 44 | 45 | 46 | def func_teamveiwer(): 47 | print 'Downloading teamveiwer...' 48 | os.system('wget http://download.teamviewer.com/download/teamviewer_i386.deb') 49 | print 'We need to set multi-arch support for dpkg. I will do that now....' 50 | os.system('dpkg --add-architecture i386') 51 | print 'Running sources update....' 52 | os.system('apt-get -y update') 53 | print 'attempt install of teamviewer....' 54 | os.system('dpkg -i teamviewer_i386.deb') 55 | os.system('apt-get install -y -f') 56 | os.system('dpkg -i teamviewer_i386.deb') 57 | print bcolors.BOLD + 'you should now be able to normally launch teamviewer via the teamviewer cmd' + bcolors.ENDC 58 | raw_input('Press enter to launch now....') 59 | os.system('teamviewer') 60 | 61 | def func_tor(): 62 | print 'installing TOR...' 63 | os.system('apt-get install -y tor') 64 | print 'will now update proxychains config for use with TOR' 65 | func_proxychains() 66 | print 'You can now use the proxychains command to launch programs you wish to anonymize.' 67 | print bcolors.BOLD + 'you must start tor first though I will do that now... you will see a complete message' + bcolors.ENDC 68 | os.system('tor') 69 | 70 | def func_proxychains(): 71 | print 'updating proxychains config....' 72 | os.system('cp proxychains.conf /etc/proxychains.conf') 73 | 74 | def func_update(): 75 | print bcolors.BOLD + 'Will now update this script...' + bcolors.ENDC 76 | os.system('git pull') 77 | print 'will make sure proxychains config file is up to date too...' 78 | func_proxychains() 79 | 80 | def func_dvwa_install(): 81 | print 'This will install damn vulnerable web app for you to practice on.' 82 | print 'The installer will download the site files for you....' 83 | os.system('git clone https://github.com/randomstorm/DVWA.git') 84 | os.system('mv DVWA /var/www/html') 85 | print 'Changing DVWA database configs' 86 | replace('/var/www/html/DVWA/config/config.inc.php','p@ssw0rd','') 87 | os.system('chmod 664 /var/www/html/DVWA/config/config.inc.php') 88 | print 'Install complete.....' 89 | print 'Starting apache2 and mysql service for you now...' 90 | os.system('service apache2 start') 91 | os.system('service mysql start') 92 | print 'Lets launch it to test!' 93 | print 'You will need to click install on the webpage to create the database ,etc' 94 | os.system('clear') 95 | print 'You will need to click create Database at the bottom of the page, you should then be redirected to the login page' 96 | print 'Default credentials are:' 97 | print 'admin' 98 | print 'password' 99 | os.system('firefox http://localhost/DVWA') 100 | func_menu() 101 | 102 | 103 | 104 | def func_install_vbox(): 105 | print 'Add VirtualBox sources and signing key then update source list...' 106 | func_append_file('/etc/apt/sources.list', 'deb http://download.virtualbox.org/virtualbox/debian vivid contrib') 107 | os.system('wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -') 108 | os.system('apt-get -y update') 109 | print 'now install VirtualBox 5.0' 110 | os.system('apt-get install -y virtualbox-5.0') 111 | print 'We are all done! lets launch it!' 112 | os.system('virtualbox') 113 | func_menu() 114 | 115 | 116 | 117 | def func_install_linset(): 118 | print 'We are about to install linset. First I will clone the github repo then install all the required tools...' 119 | os.system('git clone https://github.com/Trig0n/Linset.git /usr/bin/linset') 120 | print 'Have to make sure kali sources are up to date so i will do that now....' 121 | os.system('apt-get update') 122 | os.system('apt-get install -y isc-dhcp-server Hostapd dnsmasq lighttpd php5-cgi') 123 | print 'writing permissions....' 124 | subprocess.call(['chmod', 'u+x', '/usr/bin/linset/linset']) 125 | os.system('clear') 126 | print 'Install Complete! we will run linset now to test!' 127 | subprocess.call(['/usr/bin/linset/linset']) 128 | func_menu() 129 | 130 | 131 | def fix_armitage_func(): 132 | ####FIX ARMITAGE#### 133 | print 'We are about to download the the armitage fix for Kali 2, you need internet access!' 134 | raw_input('Press Enter to continue...') 135 | subprocess.call(['wget', 'http://www.fastandeasyhacking.com/download/armitage150813.tgz']) 136 | 137 | print 'Extracting downloaded archine into /usr/share/armitage' 138 | subprocess.call(['tar', 'xf', 'armitage150813.tgz', '-C', '/usr/share/armitage/', '--strip-components', '1']) 139 | 140 | print 'Starting PostgreSQL service...' 141 | subprocess.call(['service', 'postgresql', 'start']) 142 | 143 | print 'Initial msfDB schema creation....' 144 | subprocess.call(['msfdb', 'init']) 145 | 146 | 147 | start_it = raw_input('Would you like to start Armitage now? (Y/N)') 148 | start_it = start_it.upper() 149 | 150 | if start_it == 'Y' : 151 | print 'starting armitage....' 152 | subprocess.call('armitage') 153 | 154 | else : 155 | print 'thanks for using! - @ompster' 156 | func_menu() 157 | ####END FIX ARMITAGE#### 158 | 159 | def install_chrome_func() : 160 | print 'Installing Chromium, will first update sources...' 161 | os.system ('apt-get update') 162 | os.system ('apt-get -y install chromium') 163 | func_menu() 164 | 165 | def install_xfce_func() : 166 | print 'We are about to download the XFCE4 and plugins...' 167 | os.system ('apt-get -y install kali-defaults kali-root-login desktop-base xfce4 xfce4-places-plugin xfce4-goodies') 168 | default_xfce = raw_input ('Would you like to make XFCE your default desktop-enviroment? Y/N') 169 | default_xfce = default_xfce.upper() 170 | 171 | if default_xfce == 'Y' : 172 | print 'We will now install SLIM login manager and make XFCE the default desktop-enviroment...' 173 | os.system ('clear') 174 | print 'IN THE NEXT SCREEN YOU SHOULD SELECT SLIM AS THE DEFAULT LOGIN MANAGER!' 175 | raw_input ('Press Enter to continue...') 176 | os.system ('apt-get install -y slim') 177 | os.system ('mv .xinitrc ~/.xinitrc') 178 | os.system ('clear') 179 | print 'All done! You need to reboot for changes to take effect :)' 180 | print 'We will rebot now...' 181 | raw_input ('Press Enter....') 182 | 183 | def func_menu() : 184 | print bcolors.OKBLUE + ''' 185 | _ __ _ _ ____ 186 | | |/ /__ _| (_)___ \ 187 | | ' // _` | | | __) | 188 | | . \ (_| | | |/ __/ 189 | |_|\_\__,_|_|_|_____| 190 | _____ _ 191 | | ___(_)_ _____ _ __ 192 | | |_ | \ \/ / _ \ '__| 193 | | _| | |> < __/ | 194 | |_| |_/_/\_\___|_| 195 | ''' + bcolors.ENDC 196 | print ''' 197 | What would you like to do? 198 | 1. Fix armitage 199 | 2. Install Chrome 200 | 3. Install XFCE4 201 | 4. Install Linset (Evil-twin WPA attack) 202 | 5. Install VirtualBox 203 | 6. Install Damn Vulnerable Web App (DVWA) 204 | 7. Update This Script 205 | 8. Install TOR and proxychains config 206 | 9. Install TeamViewer 207 | 00. Install ALL 208 | 0.Exit 209 | ''' 210 | menu_option = raw_input('-> ') 211 | 212 | if menu_option == "1" : 213 | fix_armitage_func() 214 | elif menu_option == "2" : 215 | install_chrome_func() 216 | elif menu_option == "3" : 217 | install_xfce_func() 218 | elif menu_option == "4" : 219 | func_install_linset() 220 | elif menu_option == "5" : 221 | func_install_vbox() 222 | elif menu_option == "6" : 223 | func_dvwa_install() 224 | elif menu_option == "7" : 225 | func_update() 226 | elif menu_option == "8" : 227 | func_tor() 228 | elif menu_option == "9" : 229 | func_teamveiwer() 230 | elif menu_option == "00" : 231 | print 'You are about to install everything! Hit enter to continue...' 232 | raw_input('......................................................') 233 | fix_armitage_func() 234 | install_chrome_func() 235 | install_xfce_func() 236 | func_install_linset() 237 | func_install_vbox() 238 | func_dvwa_install() 239 | else : 240 | print ''' 241 | GOODBYE! 242 | http://github.com/ompster 243 | @ompster 244 | ''' 245 | 246 | exit() 247 | func_menu() 248 | 249 | 250 | -------------------------------------------------------------------------------- /kali2_fix.pybak: -------------------------------------------------------------------------------- 1 | ###################################### 2 | ## Kali Linux 2 Fixer ## 3 | ## By Nathan ASH ## 4 | ## http://nathanash.id.au ## 5 | ## @ompster - github.com/ompster ## 6 | ###################################### 7 | 8 | import subprocess 9 | import os 10 | 11 | 12 | 13 | def fix_armitage_func(): 14 | ####FIX ARMITAGE#### 15 | print 'We are about to download the the armitage fix for Kali 2, you need internet access!' 16 | raw_input('Press Enter to continue...') 17 | subprocess.call(['wget', 'http://www.fastandeasyhacking.com/download/armitage150813.tgz']) 18 | 19 | print 'Extracting downloaded archine into /usr/share/armitage' 20 | subprocess.call(['tar', 'xf', 'armitage150813.tgz', '-C', '/usr/share/armitage/', '--strip-components', '1']) 21 | 22 | print 'Starting PostgreSQL service...' 23 | subprocess.call(['service', 'postgresql', 'start']) 24 | 25 | print 'Initial msfDB schema creation....' 26 | subprocess.call(['msfdb', 'init']) 27 | 28 | 29 | start_it = raw_input('Would you like to start Armitage now? (Y/N)') 30 | start_it = start_it.upper() 31 | 32 | if start_it == 'Y' : 33 | print 'starting armitage....' 34 | subprocess.call('armitage') 35 | 36 | else : 37 | print 'Exiting script, thanks for using! - @ompster' 38 | ####END FIX ARMITAGE#### 39 | 40 | def install_chrome_func() : 41 | print 'Installing Chromium, will first update sources...' 42 | os.system ('apt-get update') 43 | os.system ('apt-get chromium') 44 | exit() 45 | 46 | print ''' 47 | KALI FIXER 2 48 | ''' 49 | print ''' 50 | What would you like to do? 51 | 1. Fix armitage 52 | 2. Install Chrome 53 | 3. Exit 54 | ''' 55 | menu_option = raw_input('-> ') 56 | 57 | if menu_option == "1" : 58 | fix_armitage_func() 59 | elif menu_option == "2" : 60 | install_chrome_func() 61 | else : 62 | print ''' 63 | http://github.com/ompster 64 | @ompster 65 | ''' 66 | 67 | exit() 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /proxychains.conf: -------------------------------------------------------------------------------- 1 | # proxychains.conf VER 4 2 | # 3 | # HTTP, SOCKS4, #socks5 tunneling proxifier with DNS. 4 | # 5 | 6 | # The option below identifies how the ProxyList is treated. 7 | # only one option should be uncommented at time, 8 | # otherwise the last appearing option will be accepted 9 | # 10 | dynamic_chain 11 | # 12 | # Dynamic - Each connection will be done via chained proxies 13 | # all proxies chained in the order as they appear in the list 14 | # at least one proxy must be online to play in chain 15 | # (dead proxies are skipped) 16 | # otherwise EINTR is returned to the app 17 | # 18 | strict_chain 19 | # 20 | # Strict - Each connection will be done via chained proxies 21 | # all proxies chained in the order as they appear in the list 22 | # all proxies must be online to play in chain 23 | # otherwise EINTR is returned to the app 24 | # will randomly chains proxies 25 | random_chain 26 | # 27 | # Random - Each connection will be done via random proxy 28 | # (or proxy chain, see chain_len) from the list. 29 | # this option is good to test your IDS ) 30 | 31 | # Make sense only if random_chain 32 | # use all the proxies minus 1 for backup etc 33 | #chain_len = 3 34 | 35 | # Quiet mode (no output from library) 36 | #quiet_mode 37 | 38 | # Proxy DNS requests - no leak for DNS data 39 | proxy_dns 40 | 41 | # set the class A subnet number to usefor use of the internal remote DNS mapping 42 | # we use the reserved 224.x.x.x range by default, 43 | # if the proxified app does a DNS request, we will return an IP from that range. 44 | # on further accesses to this ip we will send the saved DNS name to the proxy. 45 | # in case some control-freak app checks the returned ip, and denies to 46 | # connect, you can use another subnet, e.g. 10.x.x.x or 127.x.x.x. 47 | # of course you should make sure that the proxified app does not need 48 | # *real* access to this subnet. 49 | # i.e. dont use the same subnet then in the localnet section 50 | #remote_dns_subnet 127 51 | #remote_dns_subnet 10 52 | remote_dns_subnet 224 53 | 54 | # Some timeouts in milliseconds 55 | tcp_read_time_out 15000 56 | tcp_connect_time_out 8000 57 | 58 | # By default enable localnet for loopback address ranges 59 | RFC5735 Loopback address range 60 | localnet 127.0.0.0/255.0.0.0 61 | # RFC1918 Private Address Ranges 62 | localnet 10.0.0.0/255.0.0.0 63 | localnet 172.16.0.0/255.240.0.0 64 | localnet 192.168.0.0/255.255.0.0 65 | 66 | 67 | # Example for localnet exclusion 68 | ## Exclude connections to 192.168.1.0/24 with port 80 69 | # localnet 192.168.1.0 80/255.255.255.0 70 | 71 | ## Exclude connections to 192.168.100.0/24 72 | # localnet 192.168.100.0/255.255.255.0 73 | 74 | ## Exclude connections to ANYwhere with port 80 75 | # localnet 0.0.0.0 80/0.0.0.0 76 | 77 | # ProxyList format 78 | # type host port [user pass] 79 | # (values separated by 'tab' or 'blank') 80 | # 81 | # 82 | # Examples 83 | # 84 | # #socks5 192.168.67.78 1080 lamer secret 85 | # http 192.168.89.3 8080 justu hidden 86 | # socks4 192.168.1.49 1080 87 | # http 192.168.39.93 8080 88 | # 89 | # 90 | # proxy types http, socks4, #socks5 91 | # ( auth types supported "basic"-http "user/pass"-socks ) 92 | # 93 | [ProxyList] 94 | # add proxy here ... 95 | # meanwile 96 | # defaults set to "tor" 97 | socks4 127.0.0.1 9050 98 | #below are a list of public proxies you can uncomment to use... 99 | #socks5 95.34.232.111 1080#RU 100 | #socks5 111.255.108.16 3129#TW 101 | #socks5 12.190.41.157 1080#US 102 | #socks5 188.166.251.81 51293#SG 103 | #socks5 200.109.60.55 1080#VE 104 | #socks5 119.18.61.78 3477#IN 105 | #socks5 195.178.106.68 32899#MD 106 | #socks5 104.223.213.192 3477#US 107 | #socks5 89.3.100.131 30599#FR 108 | #socks5 31.210.64.130 23503#TR 109 | #socks5 198.24.159.239 23503#US 110 | #socks5 221.214.63.130 1080#CN 111 | #socks5 166.62.96.72 18628#US 112 | #socks5 104.223.213.4 3477#US 113 | #socks5 192.241.235.195 23503#US 114 | #socks5 107.152.104.43 9032#US 115 | #socks5 178.208.132.84 13956#RU 116 | #socks5 181.143.147.42 1080#CO 117 | #socks5 199.195.119.148 33255#US 118 | #socks5 172.98.188.124 13875#US 119 | #socks5 117.239.199.187 1080#IN 120 | #socks5 104.223.213.51 3477#US 121 | #socks5 94.82.100.109 80#IT 122 | #socks5 46.20.71.81 26949#RU 123 | #socks5 202.92.4.28 33259#VN 124 | #socks5 188.124.17.57 3477#TR 125 | #socks5 104.223.213.10 3477#US 126 | #socks5 176.122.60.46 35924#RU 127 | #socks5 77.101.9.109 26375#GB 128 | #socks5 120.151.24.16 40542#AU 129 | #socks5 165.166.243.251 22109#US 130 | #socks5 218.21.230.156 443#CN 131 | #socks5 14.111.169.48 1080#CN 132 | #socks5 106.187.47.84 1080#JP 133 | #socks5 80.15.22.50 49285#FR 134 | #socks5 69.116.168.90 29844#US 135 | #socks5 93.26.143.15 36214#FR 136 | #socks5 106.187.100.45 1080#JP 137 | #socks5 63.142.212.219 62982#US 138 | #socks5 83.155.220.177 48455#FR 139 | #socks5 108.171.255.122 1080#US 140 | #socks5 186.14.113.220 1080#VE 141 | #socks5 101.255.17.244 1080#ID 142 | #socks5 178.214.220.46 28408#UA 143 | #socks5 85.12.200.72 40260#RU 144 | #socks5 104.223.213.109 3477#US 145 | #socks5 108.60.43.71 18299#US 146 | #socks5 178.209.100.98 54963#RU 147 | #socks5 195.91.191.59 1080#RU 148 | #socks5 188.124.17.20 23503#TR 149 | -------------------------------------------------------------------------------- /test commands: -------------------------------------------------------------------------------- 1 | wget http://www.fastandeasyhacking.com/download/armitage150813.tgz 2 | tar xf armitage150813.tgz -C /usr/share/armitage/ --strip-components 1 3 | service postgresql start 4 | msfdb init 5 | --------------------------------------------------------------------------------