darryllane/Bluto
GitHub: darryllane/Bluto
Bluto 是一款基于 Python 的 DNS 与邮件信息收集工具,能够自动发现子域、检测区域传输、枚举邮箱并检查泄露。
Stars: 655 | Forks: 144
## 布鲁托
**DNS Recon | Brute Forcer | DNS Zone Transfer | DNS Wild Card Checks | DNS Wild Card Brute Forcer | Email Enumeration | Staff Enumeration | Compromised Account Enumeration | MetaData Harvesting**
# 像 Bluto?
给我们投票:https://n0where.net/dns-analysis-tool-bluto/
Bluto 已经经历了大量代码库的更改,并且自首次上线以来添加了各种功能。现在 RandomStorm 已经被消费并且不再存在,我觉得是时候把仓库迁移到新位置了。因此从此 git 推送开始,Bluto 将居于此处。希望你喜欢全新的 Bluto。
目标域名会查询 MX 和 NS 记录。子域名通过 NetCraft 被动收集。目标域名的 NS 记录会逐一查询潜在的区域传输。如果它们都不提供信息,Bluto 将尝试识别是否使用了子域通配符。如果没有,Bluto 将使用并行子处理在 “The Alexa Top 1 Million subdomains” 的前 20000 名中进行子域名暴力破解。如果存在通配符,Bluto 仍会进行子域名暴力破解,但使用一种大约需要 4 倍时间的不同技术。NetCraft 结果随后单独展示,并与暴力破解结果进行比较,删除重复项并突出显示特别有趣的结果。
Bluto 现在根据目标域名进行电子邮件地址枚举,使用 Bing 和 Google 搜索引擎以及 Email Hunter 服务和 LinkedIn 收集数据。https://haveibeenpwned.com/ 随后用于识别是否有电子邮件地址已被泄露。之前 Bluto 在屏幕上生成 “证据报告”,现在已移至屏幕外并生成 HTML 报告。
搜索引擎查询的配置方式是对每个请求使用随机的 `User Agent:`,并进行国家查找以选择相对于你的出口地址最快的 Google 服务器。每个请求在尝试进一步避免验证码时会关闭连接,但过度查询会导致验证码(Bluto 会在识别到时提醒你)。
Bluto 需要各种其他依赖项。为尽可能简化操作,使用 `pip` 进行安装。这意味着在尝试安装 Bluto 之前,你需要先安装 pip。
Bluto 现在在启动时接受命令行参数,新的选项如下:
```
-e This uses a very large subdomain list for bruting.
-api You can supply your email hunter api key here to gather a considerably larger amount of email addresses.
-d Used to specify the target domain on the commandline.
-t Used to set a timeout value in seconds. Default is 10
```
**示例:**(可以继续使用此 EmailHunter API 密钥,直至被移除)
```
bluto -api 2b0ab19df982a783877a6b59b982fdba4b6c3669
bluto -e
bluto -api 2b0ab19df982a783877a6b59b982fdba4b6c3669 -e
bluto -d example.com -api 2b0ab19df982a783877a6b59b982fdba4b6c3669 -e
```
**Pip 安装说明**
注意:要测试是否已安装 pip,请执行。
`pip -V`
(1) Mac 和 Kali 用户可以直接使用以下命令下载并安装 `pip`。
`curl https://bootstrap.pypa.io/get-pip.py -o - | python`
**Bluto 安装说明**
(1) 当 `pip` 成功下载并安装后,我们可以安装 Bluto:
`sudo pip install bluto`
(2) 现在你应该可以在任何终端的任何工作目录中执行 'bluto'。
`bluto`
**升级说明**
(1) 升级过程非常简单:
`sudo pip install bluto --upgrade`
**从开发分支安装**
(1) 从最新开发分支(可能不稳定)安装:
`sudo pip uninstall bluto`
`sudo pip install git+git://github.com/darryllane/Bluto@dev`
# 更改/功能请求
* ~~从目标域的 Document Hunt 中抓取元数据~~
* ~~将目标域解析为参数~~
* 识别 Web 门户
* 主动文档搜索
# 更新日志
* 版本 __2.4.7__ (__20/07/2018__):
* GeoIP 查询重构
* 版本 __2.3.10__ (__13/01/2017__):
* 错误修复
* 版本 __2.3.6__ (__14/08/2016__):
* 错误修复
* 超时值可作为参数解析 (-t 5)
* 版本 __2.3.2__ (__02/08/2016__):
* 从目标域的 Document Hunt 中抓取元数据
* 将目标域解析为参数
* 版本 __2.0.1__ (__22/07/2016__):
* 在终端和 HTML 报告中呈现泄露账户数据
* 版本 __2.0.0__ (__19/07/2016__):
* 推出 Live 2.0
* 版本 __1.9.9__ (__09/07/2016__):
* 添加 Email Hunter API 支持。
* 添加 Haveibeenpwned API 支持。
* 添加 HTML 证据报告。
* 模块化代码库。
* 本地错误日志记录。
**帮助章节**
本章节包含有用的代码片段。
检查 python 使用的 openssl 版本
```
python
import ssl
ssl.OPENSSL_VERSION`
```
输出
```
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2j 26 Sep 2016'
>>>
```
请注意,当前版本的 Bluto 不支持 Python 3。它是一个 python 2.7.x 应用程序。
标签:ATT&CK, DNS信息、DNS暴力破解, DNS区域传输, DNS枚举, Elastic, SigmaHQ, Splunk, YARA-CI, YARA规则, 二进制匹配, 元数据收集, 员工枚举, 子域名暴力破解, 子域名枚举, 字节码分析, 安全信息与事件管理, 已泄露账号检查, 恶意样本分类, 搜索引擎爬取, 攻击签名, 数据标准化, 文本搜索, 日志格式, 检测规则, 特征匹配, 签名, 系统安全, 网络安全工具, 网络资产发现, 自动化检测, 邮件枚举, 防御态势, 防御技术