修复 Metasploit 的 bailiwicked_domain.rb 中 undefined method each 错误(CVE-2008-1447 DNS 缓存投毒模块)
在使用 Metasploit 测试 CVE-2008-1447 时,原始模块出现崩溃,错误信息如下:
undefined method `each` for an instance of IPAddr (NoMethodError)
问题在于代码在 IPAddr 对象上调用了 .each,而非在数组上。
修复方法是 在迭代之前将 IP 对象包装到数组中: 第 253 行
Array(rr1.address).each do |ip|
res2 = Net::DNS::Resolver.new(nameservers: [ip.to_s],...
# original code logic
end
✅ 这可以防止 NoMethodError,并让模块成功运行。
bailiwicked_domain.rb 为本仓库中的修复版本。
/usr/share/metasploit-framework/modules/auxiliary/spoof/dns/bailiwicked_domain.rb该模块利用了一个已知的 DNS 漏洞(CVE-2008-1447)。
👉 仅限在受控的实验室环境中用于研究和教育目的。
✨ 如果此修复对你有帮助,请考虑给本仓库一个 ⭐!