eldraco/domain_analyzer
GitHub: eldraco/domain_analyzer
一款自动化域名安全侦察工具,集成DNS分析、端口扫描、子域名发现和Web爬取等功能,可无人值守地完成对目标域名的全面信息收集与安全评估。
Stars: 1864 | Forks: 237
# Domain Analyzer v0.8.3




[](https://bitbucket.org/lbesson/ansi-colors)
## 简介
Domain analyzer 是一款安全分析工具,可自动发现并报告有关给定 domain 的信息。其主要目的是以无人值守的方式分析 domain。
它拥有许多强大的功能,例如从 DNS zone 获取更多 domain、自动 nmap、webcrawler 以及“统治世界”模式。请查看功能列表。
如果您希望 nmap 扫描更多端口并运行脚本,以及在这些网站上运行 crawler,您需要拥有 root 权限。
## 默认选项示例

*在 asciinema 中查看:https://asciinema.org/a/466274*
## 工作原理
Domain analyzer 接收一个 domain 名称并查找与其相关的信息,例如 DNS 服务器、邮件服务器、IP 地址、Google 上的邮件、SPF 信息等。在收集并整理完所有信息后,它会使用 nmap 扫描发现的每个 IP 的端口,并执行其他几项安全检查。在发现端口后,它会使用来自 @verovaleros 的 crawler.py 工具,爬取所有已发现 web 端口的完整网页。该工具提供了下载文件和查找开放文件夹的选项。
主要功能包括:
- 创建一个包含所有信息的目录,其中包括 nmap 的输出文件。
- 使用颜色在控制台中突出显示重要信息。
- 检测一些安全问题,如主机名问题、异常端口号和 zone transfer。
- 经过充分测试,对 DNS 配置问题具有很强的鲁棒性。
- 使用 nmap 进行活动主机探测、端口扫描和版本信息检测(包括 nmap 脚本)。
- 搜索 SPF 记录信息以发现新的主机名或 IP 地址。
- 搜索反向 DNS 名称并将其与主机名进行比较。
- 打印每个 IP 地址的国家。
- 生成包含结果的 PDF 文件。
- 自动检测并分析子域!
- 搜索 domain 相关的电子邮件。
- 检查 DNS 服务器中最常见的 192 个主机名。
- 检查每个 DNS 服务器上的 Zone Transfer。
- 查找每个 IP 的 /24 网络范围的反向名称。
- 使用 nmap 的全套技术发现活动主机。
- 使用 nmap 扫描端口(请注意,进行 SYN 扫描需要 root 权限)。
- 使用 nmap 搜索主机和端口信息。
- 自动检测使用的 web 服务器。
- 使用我们的 crawler.py 工具爬取每个 web 服务器的页面。请参阅下文的说明。
- 根据名称过滤掉主机名。
- 伪随机地在 Google 中搜索 N 个 domain 并自动分析它们!
- 使用 CTRL-C 停止当前的 __分析__ 阶段并继续工作。
- 可以读取包含 domain 名称的外部文件,并尝试在 domain 中查找它们。
## 附加功能
@verovaleros 开发了一款名为“crawler.py”的独立 Python web crawler。其主要功能包括:
- 爬取 http 和 https 网站。
- 爬取未使用常规端口的 http 和 https 网站。
- 使用正则表达式查找 'href' 和 'src' HTML 标签,以及内容链接。
- 识别相对链接。
- 识别与 domain 相关的电子邮件。
- 识别目录索引。
- 检测对诸如 'file:'、'feed='、'mailto:'、'javascript:' 等类型 URL 的引用。
- 使用 CTRL-C 停止当前的 crawler 阶段并继续工作。
- 识别文件扩展名(zip, swf, sql, rar 等)
- 将文件下载到目录:
- 下载每个重要文件(图像、文档、压缩文件)。
- 或下载指定的文件类型。
- 或下载一组预定义的文件(例如“文档”文件:.doc, .xls, .pdf, .odt, .gnumeric 等)。
- 设置爬取的最大链接数。默认值为 5000 个 URL。
- 通过 HTML 和 JavaScript Location 标签以及 HTTP 响应代码跟踪重定向。
## 此扩展版本包含更多功能!
- 统治世界:您可以自动分析整个世界!(如果您有时间的话)
- __罗宾汉模式__:虽然该功能仍在开发中,但它将允许您在扫描期间自动向发现的电子邮件发送包含分析信息的邮件。
- Robtex DNS:借助此强大功能,每当您发现具有 Zone Transfer 的 DNS 服务器时,它都会从 Robtex 网站检索使用该 DNS 服务器的其他 domain!
它也会自动分析它们!这可能是一个永无止境的测试!每个存在漏洞的 DNS 服务器都可能会被数百个 domain 使用,而这些 domain 反过来又可能
使用其他存在漏洞的 DNS 服务器。请注意!检索到的 domain 可能与最初的 domain 无关。
## 示例
- 在 .gov domain 中查找 10 个随机 domain 并对其进行全面分析(包括 web 爬取)。如果发现某些 Zone Transfer,则使用它们从 Robtex 获取更多 domain!!
- (非常快速且简略)查找与 .edu.cn domain 相关的所有内容,将所有内容存储在目录中。不搜索活动主机,不对它们进行 nmap 扫描,不进行反向 DNS 网段查询,不搜索电子邮件。
- 全面分析 386.edu.ru domain
- (渗透测试模式)。全面分析一个 domain。不查找其他 domain。将所有内容输出到 PDF 文件。将所有内容存储在磁盘上。完成后打开 Zenmap 并同时向我展示发现的每个主机的拓扑结构!
- (仅进行快速 web 爬取)。忽略所有包含 'google' 的内容。
- (所有内容)爬取此站点(包括子域)最多 100 个 URL。将输出存储到文件中,并将发现的每个有趣的文件下载到磁盘。
- (快速且简略)非常快速地爬取站点。不下载文件。将输出存储到文件中。
- (如果您想稍后使用 lafoca 分析 metadata)。详细打印正在下载的扩展名。仅下载与文档相对应的档案集(.doc, .docx, .ppt, .xls, .odt 等)
这些功能中的大部分都可以被禁用。
## Docker 镜像
### Docker 镜像
Domain analyzer 现在提供了一个基于 Python 3 的主要版本的 Docker 镜像,并且已安装所有依赖项:
```
docker run --rm -ti verovaleros/domain_analyzer:latest /domain_analyzer/domain_analyzer.py -d
```
### 在 Python 2.7 上运行 Domain Analyzer 的 Docker
我们创建了一个 Docker 镜像,可用于在 Python 2.7 上运行 domain analyzer,并且已安装所有依赖项。
`docker run --rm -it verovaleros/domain_analyzer:python2.7 /domain_analyzer/domain_analyzer.py -d `
## 屏幕截图
1. 示例 domain_analyzer.py -d .gov -k 10 -b

# 历史
Domain analyzer 诞生于 2011 年 2 月 4 日。您可以在 source forge 上查看[原始仓库](https://sourceforge.net/projects/domainanalyzer/)
# 更新日志
- 0.8
我们可以检查从外部文件读取的主机名。感谢 Gustavo Sorondo 提供的代码!(iampuky@gmail.com)
# 请求
如果您有任何问题,请给我们发送电子邮件!它们写在 python 文件中。
## 安装说明
```
git clone https://github.com/eldraco/domain_analyzer.git
pip install -r requirements.txt
```
标签:CDN识别, DNS查询, Docker, ESC4, GitHub, Nmap, OSINT, Python, SEO词: Python安全脚本, SEO词: 域名安全审计, SEO词: 网络侦察工具, Sigma 规则, SPF记录解析, Web爬虫, 动态插桩, 域名分析, 子域名枚举, 安全分析工具, 安全防御评估, 实时处理, 密码管理, 数据统计, 无后门, 检测规则, 端口扫描, 系统安全, 网络安全, 网络资产发现, 自动化安全工具, 虚拟驱动器, 请求拦截, 逆向工具, 隐私保护, 黑盒测试