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 公共库中搜索机密信息的。 |   ![流程图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/29f64d43b2042832.jpg)   ## 安装 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 结合使用时非常有用,可以快速调查主机头部操作发现。
标签:可视化界面, 日志审计, 请求拦截, 逆向工具