Van-1337/AutoEASM
GitHub: Van-1337/AutoEASM
AutoEASM是一款自动化子域名扫描和漏洞检测工具。
Stars: 7 | Forks: 1
## 描述
**AutoEASM**(外部攻击面管理)**工具**通过不同的实用程序快速扫描任何公司的所有域名和子域名,并获取验证的重要问题列表。这种自动化允许安全团队在有限资源的情况下定期自动测试域名。
下载并打开 **"Report Example.html"** 文件,查看使用此实用程序运行扫描时您会得到什么。
## 使用的实用程序
| **名称** | **链接** | **描述** |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| subfinder | [subfinder:快速被动子域名枚举工具。](https://github.com/projectdiscovery/subfinder) | **Subfinder** 是一个子域名发现工具,它使用被动在线资源返回网站的子域名。它具有简单、模块化的架构,并针对速度进行了优化。 |
| dnsx | [dnsx:dnsx 是一个快速的多功能 DNS 工具包,允许使用用户提供的解析器运行多个 DNS 查询。](https://github.com/projectdiscovery/dnsx) | **Dnsx** 是一个快速的多功能 DNS 工具包,旨在运行各种探测。它支持多种 DNS 查询、用户提供的解析器和 DNS 通配符过滤。 |
| naabu | [naabu:一个用 go 编写的快速端口扫描器,注重可靠性和简单性。设计用于与其他工具结合使用,以在赏金猎人活动和渗透测试中进行攻击面发现。](https://github.com/projectdiscovery/naabu) | **Naabu** 是一个用 Go 编写的端口扫描工具,允许您以快速和可靠的方式枚举主机的有效端口。它是一个非常简单的工具,可以对主机/主机列表进行快速的 SYN/CONNECT/UDP 扫描,并列出所有返回响应的端口。 |
| httpx | [httpx:httpx 是一个快速的多功能 HTTP 工具包,允许使用 retryablehttp 库运行多个探测。](https://github.com/projectdiscovery/httpx) | **HTTPX** 是一个快速的多功能 HTTP 工具包,允许使用 retryablehttp 库运行多个探测。它旨在通过增加线程数量来提高结果可靠性。 |
| nuclei | [nuclei:Nuclei 是一个快速、可定制的漏洞扫描器,由全球安全社区提供支持,并基于简单的 YAML 基于的 DSL 构建,使协作应对互联网上的趋势漏洞成为可能。它帮助您在应用程序、API、网络、DNS 和云配置中找到漏洞。](https://github.com/projectdiscovery/nuclei) | **Nuclei** 是一个基于简单 YAML 基于的 DSL 的快速和可定制的漏洞扫描器。 |
| katana | [katana:一个下一代爬虫和蜘蛛框架。](https://github.com/projectdiscovery/katana) | **Katana** 是一个下一代爬虫和蜘蛛框架。 |
| feroxbuster | [feroxbuster:一个用 Rust 编写的快速、简单的递归内容发现工具。](https://github.com/epi052/feroxbuster) | **Feroxbuster** 是一个开源的 web 模糊测试工具。具有方便的自动调整扫描速度和过滤器的功能。 |
| uro | [uro:简化 URL 列表以进行爬取/渗透测试。](https://github.com/s0md3v/uro) | **Uro** 是设计用于简化处理 URL 列表以进行安全测试的工具,由于不感兴趣或重复的内容,这些内容可能会很繁琐。 |
| byp4xx | [byp4xx:Go 中的 40X/HTTP 绕过器。功能:动词篡改、头部、#bugbountytips、用户代理、扩展、默认凭证...](https://github.com/lobuhi/byp4xx) | **byp4xx** 是一个 40X 绕过器,用 Go 编写。包含来自 #bugbountytips、头部、动词篡改、用户代理和更多功能。 |
| LeakiX | [LeakiX](https://leakix.net/ "https://leakix.net/") | **LeakiX** 是一家专注于为业务提供全面互联网资产可见性的网络安全公司。它提供工具和分析,以检测系统和网络中的漏洞。 |
| Postleaks | [postleaks:在 Postman 公共库中搜索敏感数据。](https://github.com/cosad3s/postleaks) | **Postleaks** 脚本是旨在在 Postman 公共库中搜索机密信息的。 |

## 安装
1. 在您的 PC 上安装 Python 和 Go(可以是 Windows 或 Linux)。克隆仓库:
`git clone https://github.com/Van-1337/AutoEASM`
2. 对于 **Linux**,需要以下命令:
```
sudo apt install -y feroxbuster
cd AutoEASM/ ; chmod +x Scan/byp4xx.go
apt-get install libpcap-dev -y
```
对于 **Windows**,不需要额外的命令。
3. 使用以下命令安装依赖项:
```
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install -v github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest
go install -v github.com/projectdiscovery/katana/cmd/katana@latest
python -m pip install --user pipx or python3 -m pip install --user pipx
pip install requests
pip install postleaks
pipx install uro
```
4. \[*可选,但推荐*\] 在 Global.py 文件的末尾更改 Leakix API 密钥 **或** 在 `LeakIX_API_key` 环境变量中指定它。每月 3000 次请求的免费密钥可以在 [这里](https://leakix.net/settings/api) 获取。
5. \[*可选,但推荐*\] 使用 [此说明](https://docs.projectdiscovery.io/tools/subfinder/install#post-install-configuration) 将您的 API 密钥添加到 subfinder(对于 Windows,API 密钥文件是 `C:\Users\*user*\AppData\Roaming\subfinder\provider-config.yaml`)。我们建议添加至少 Securitytrails 免费密钥,但您也可以添加其他可用的密钥。
## 使用 Docker
1. 进入 docker 目录:`cd Docker`
2. *\[可选\]* 在 provider-config.yaml 文件中指定可用的 API 密钥。我们建议指定至少 securitytrails 密钥。例如:
```
securitytrails:
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
```
3. 构建docker容器(在 Linux 上使用 sudo):
`docker build --no-cache -t easm-automate .`
4. 使用以下命令运行 docker。如果会有关于访问主机文件的问题 - 允许此操作(这是将报告复制到主机所必需的)。如果容器启动后没有启动 - 再次执行该命令。
**Windows:**
`docker run --rm -it -v %cd%\Report:/app/output -v %cd%\provider-config.yaml:/root/.config/subfinder/provider-config.yaml -e LeakIX_API_key="CHANGEME" easm-automate -d domain.com`
**Linux:**
`sudo docker run --rm -it -v "$(pwd)/Report":/app/output -v "$(pwd)/provider-config.yaml":/root/.config/subfinder/provider-config.yaml -e LeakIX_API_key="CHANGEME" easm-automate -d domain.com`
**Windows 文件扫描:**
`docker run --rm -it -v %cd%\Report:/app/output -v %cd%\provider-config.yaml:/root/.config/subfinder/provider-config.yaml -v %cd%:/src -e LeakIX_API_key="CHANGEME" easm-automate -f domains.txt`
**Linux 文件扫描:**
`sudo docker run --rm -it -v "$(pwd)/Report":/app/output -v "$(pwd)/provider-config.yaml":/root/.config/subfinder/provider-config.yaml -v "$(pwd):/src" -e LeakIX_API_key="CHANGEME" easm-automate -f domains.txt`
参数 `-e LeakIX_API_key="CHANGEME"` 可以删除,如果您没有 leakIX 密钥。
## 使用方法
在实用程序输入时,您需要获取根域名的列表。它将自动在这些域名上找到子域名并扫描关键漏洞。
要获取帮助菜单:
`python main.py -h`
要扫描单个域名:
`python main.py -d vulnweb.com`
要扫描域名列表:
`python main.py -f root_domains.txt`
此外,还有以下有用的标志:
```
-ll - internet load level, affects the number of threads in utilities. Number: 1-3, 1 - minimum load, 3 - maximum, Default: 2
-ld - level of detail, slightly increases the number of findings and greatly increases execution time and junk info. Number: 1-4, 1 - max speed, 4 - max findings, Default: 2
```
例如,`-ll 1` 可以用于主机可能因负载而宕机的情况,或者 `-ld 1` 可以用于没有太多时间检查发现的情况。
## 有用提示
- 您可以按 Ctrl+C 跳过当前扫描阶段(到目前为止获得的所有结果将被保存)。快速按 Ctrl+C 两次以完全结束程序。第一个阶段不能跳过。
- 根据检查主机头部操作漏洞的逻辑,最好将同一业务的域名发送到一次扫描(一个业务 - 一次扫描)。
- 如果您认为报告中不包含某些实用程序的结果,请查看 Logs 文件夹中实用程序的结果。您还可以在此文件夹中查看实用程序的实时输出。这些子目录永远不会自动删除,因此如果它们占用太多空间,请手动删除旧文件。
- 您可以使用多个 -d 参数来扫描多个域名(-d site1.com -d site2.com -d site3.com)。
- `-bb` 标志与启用的 Burp Suite 结合使用时非常有用,可以快速调查主机头部操作发现。
标签:可视化界面, 日志审计, 请求拦截, 逆向工具