CVE-2015-5477 BIND9漏洞利用工具演示与分析

需积分: 12 2 下载量 131 浏览量 更新于2024-11-26 收藏 11KB ZIP 举报
1. 漏洞概述 CVE-2015-5477是一个存在于BIND9(Berkeley Internet Name Domain)中的安全漏洞。BIND是一个广泛使用的域名系统(DNS)服务器软件。该漏洞是由TKEY事务(Transaction Key)处理过程中发生的断言失败所引起的。TKEY是一种在DNS上进行密钥协商的机制,用于安全DNS传输(如DNSSEC的密钥交换)。当BIND9服务器处理恶意构造的TKEY请求时,可能会触发一个断言失败,导致服务崩溃,从而造成拒绝服务攻击(DoS)。 2. 漏洞影响 此漏洞影响 BIND 9.9.0 到 9.9.7-P1 和BIND 9.10.0 到 9.10.2-P1 版本。使用这些版本的BIND服务器,如果处理了特制的TKEY请求包,就可能会触发断言失败,进而导致服务器意外终止。 3. PoC攻击 CVE-2015-5477的PoC(Proof of Concept,概念验证)攻击是一个利用该漏洞的示例程序。PoC攻击用于测试目标系统是否容易受到特定漏洞的影响。在这个案例中,PoC攻击程序尝试通过发送特制的数据包来判断BIND9服务器是否易受CVE-2015-5477攻击。如果服务器存在此漏洞,则在处理恶意请求后会崩溃。 4. PoC攻击编译和运行 PoC攻击的代码通常由C语言编写。根据提供的描述,通过gcc编译器将源代码(例如名为tkill.c的文件)编译成可执行文件。编译命令类似于: ``` # gcc tkill.c -o tkill ``` 编译成功后,生成的可执行文件(例如a.out)可以在IPv4和IPv6环境中运行。PoC攻击运行时通常会先查询目标服务器的版本信息,然后发送恶意的TKEY请求包。如果服务器存在该漏洞,攻击程序能够探测到服务器由于崩溃而无法响应第二次查询。 5. 运行示例 根据描述,在本地主机(localhost)上运行PoC攻击的过程可以是: ``` root@kali:~/cve-2015-5477# ./a.out localhost --- PoC for CVE-2015-5477 BIND9 TKEY assert DoS --- [+] localhost: Resol ``` 在这个示例中,PoC程序首先显示了正在执行的攻击信息,然后显示了攻击结果。由于漏洞的存在,攻击者可以判断目标BIND9服务器是否易受攻击。 6. 代码标签 在本次文件信息中,“C”被标记为代码标签,说明PoC攻击相关的代码使用C语言编写。C语言因其接近系统底层的特性,常被用于编写需要高性能和系统级操作的程序,如网络协议栈和系统软件,因此对于编写此类安全漏洞利用程序是合适的。 7. 压缩包子文件内容 文件名“cve-2015-5477-master”暗示该压缩包内包含了与CVE-2015-5477漏洞相关的多个文件。这些文件可能包括PoC代码源文件、编译生成的可执行文件、漏洞描述文档、测试脚本或其它相关资料。这类压缩包往往被安全研究人员、安全顾问或网络管理员用作研究或修复漏洞的参考资料。 通过上述知识点的汇总,可以清楚地了解CVE-2015-5477漏洞的原理、影响、PoC攻击的方式和相关操作,以及如何利用提供的文件信息进行进一步的研究和防范措施的制定。