├── .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 |
--------------------------------------------------------------------------------