python ma-in-the-middle scapy и netfilterqueue - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь использовать scapy для атаки «человек посередине» по локальной сети, подделывая MAC-адрес моего шлюза с одной стороны и моего смартфона с другой.Эта часть идет хорошо.Тем не менее, я хотел бы также изменить пакеты на лету.Поэтому я использую iptables и netfilterqueue модуль Python.После непродолжительной работы скрипт модификации не печатает никаких пакетов, даже если трафик все еще подделан:

Вот правило iptables, добавленное для PREROUTING трафика:

iptables -t nat -A PREROUTING -s 192.168.1.10/32 -j NFQUEUE --queue-num 1

Вот сценарий, используемый для bind в очереди 1:

#!/usr/bin/env python

from scapy.all import *
from netfilterqueue import NetfilterQueue

def modify(packet):
   print(packet.get_payload())
   pkt = IP(packet.get_payload())
   print('source:'+pkt.src+'destination:'+pkt.dst)
   # packet.set_payload(str(pkt))
   packet.accept()

if __name__ == '__main__':
   try:
      nfqueue = NetfilterQueue()
      nfqueue.bind(1, modify)
      nfqueue.run()
   except KeyboardInterrupt:
      nfqueue.unbind()

Симптомы: даже если человек посередине идет хорошо, и сценарий nfqueue печатает пакет в течение короткого времени, ничегоПохоже, что он переходит в очередь netfilter через несколько секунд, и сценарий изменения больше ничего не печатает.

Если вместо этого в правиле iptables установить IP-адрес источника для всей подсети, я получу широковещательную рассылку.и многоадресные пакеты, напечатанные в сценарии.Однако, не трафик с моего смартфона.

Я знаю, что мог бы использовать ettercap для выполнения такой задачи, однако я хотел бы создать его сам, чтобы убедиться, что я ясно понимаю (и, очевидно, это нек настоящему моменту).

Большое спасибо за вашу помощь!

...