Ap6pack/asm-cheatsheet

GitHub: Ap6pack/asm-cheatsheet

一份面向攻击面管理(ASM)的社区实战速查表,提供工具推荐、自动化脚本和分阶段学习路径,帮助用户系统化发现和管理数字资产暴露面。

Stars: 4 | Forks: 0

# 🧩 攻击面管理 (ASM) 速查表 这是一份关于攻击面管理 (ASM) 的战术性、实用性社区参考指南。本指南提供了用于发现、分析和管理数字资产暴露的真实世界建议、开源工具和自动化概念。 ## 什么是 ASM? 攻击面管理 (ASM) 是对可能受到攻击的内部和外部数字资产进行持续发现、监控、优先级排序和跟踪的过程。这包括未知、未管理、第三方和临时性的系统。 目标:识别未知资产,减少盲点,并快速检测高风险变更。 ## 🚀 快速入门 ### 前置条件 在深入了解 ASM 之前,请确保您具备以下条件: **技术技能:** - 基本的命令行操作能力 (Linux/macOS 终端或 Windows PowerShell) - 了解网络基础知识 (DNS、IP 地址、端口、HTTP/HTTPS) - 基础的脚本编写知识 (了解 bash/python 会有帮助,但非必须) **必备工具:** - Git,用于克隆工具仓库 - Python 3.7+ 及 pip 包管理器 - 虚拟机或隔离的测试环境 (推荐) - 用于编辑配置文件的文本编辑器或 IDE **API 密钥 (可选但推荐):** - [Shodan API 密钥](https://account.shodan.io/),用于全网扫描 - [GitHub 个人访问令牌](https://github.com/settings/tokens),用于代码库搜索 - [VirusTotal API 密钥](https://www.virustotal.com/gui/join-us),用于威胁情报 ### ⚖️ 法律与道德考量 **⚠️ 重要提示:仅扫描您拥有或获得明确测试授权的资产。** - **范围界定:** 明确界定您被授权扫描的范围 - **速率限制:** 在请求之间设置合理的延迟,避免导致目标系统过载 - **负责任的漏洞披露:** 通过正当渠道报告漏洞 - **合法合规:** 了解有关安全测试的当地法律法规 ### 🎯 您的首次 ASM 扫描 (5分钟演练) **📖 刚接触 ASM?请阅读我们的[完整入门指南](GETTING_STARTED.md),获取为期 30 分钟的全面演练!** #### 步骤 1:安装基础工具 ``` # 安装 Amass 用于子域名发现 go install -v github.com/owasp-amass/amass/v4/...@master # 安装 httpx 用于 Web 服务发现 go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest # 替代方案:使用 package managers sudo apt install amass # Ubuntu/Debian brew install amass # macOS ``` #### 步骤 2:发现子域名 (被动) ``` # 将 'example.com' 替换为你拥有的域名 amass enum -passive -d example.com -o subdomains.txt ``` #### 步骤 3:发现存活的 Web 服务 ``` # 检查哪些子域名拥有 Web 服务 httpx -l subdomains.txt -o live_hosts.txt ``` #### 步骤 4:截取屏幕截图 ``` # 安装并使用 gowitness 进行可视化侦察 go install github.com/sensepost/gowitness@latest gowitness file -f live_hosts.txt ``` ### 📚 学习路径 **📖 [完整学习指南](resources/learning_guide.md)** - 包含时间预估、先决条件和评估的结构化路径 #### 🟢 初级路线 (2-4 周) - 从这里开始 **前置条件:** 具备基础的命令行和网络知识 **时间投入:** 总计 8-12 小时 1. **被动侦察:** 学习子域名枚举和证书透明度 2. **基础端口扫描:** 了解如何使用 nmap 进行服务发现 3. **Web 应用发现:** 查找 Web 接口并截图 4. **法律与道德:** 了解边界与负责任的漏洞披露 5. **阅读:** [构建您自己的 ASM 工具栈](guides/building_your_own_asm_stack.md) #### 🟡 中级路线 (1-3 个月) **前置条件:** 已完成初级路线 **时间投入:** 总计 20-25 小时 1. **自动化:** 编写用于持续监控的脚本 2. **变更检测:** 实施基于 diff 比对的告警机制 3. **威胁情报:** 整合 CVE 和 IOC 数据源 4. **云端资产:** 发现 AWS/Azure/GCP 资源 5. **数据分析:** 生成报告和洞察分析 #### 🔴 高级路线 (3-6 个月) **前置条件:** 已完成中级路线 **时间投入:** 总计 40-60 小时 1. **自定义工具:** 构建专门的侦察工具 2. **API 集成:** 利用多种数据源 3. **机器学习:** 实施异常检测 4. **企业级部署:** 在大型组织中规模化部署 ASM 5. **项目管理:** 主导 ASM 倡议与计划 ### 🛠️ 推荐的新手工具包 | 工具 | 用途 | 难度 | 安装方式 | |------|---------|------------|-------------| | Amass | 子域名发现 | 初级 | `go install github.com/owasp-amass/amass/v4/...@master` | | httpx | Web 服务探测 | 初级 | `go install github.com/projectdiscovery/httpx/cmd/httpx@latest` | | nmap | 端口扫描 | 初级 | `sudo apt install nmap` 或 `brew install nmap` | | gowitness | 截取屏幕截图 | 初级 | `go install github.com/sensepost/gowitness@latest` | | Shodan CLI | 互联网扫描 | 中级 | `pip install shodan` | ### 🚨 常见陷阱与解决方案 **问题:** “我被封锁或触发了速率限制” - **解决方案:** 在请求之间添加延迟 (`--delay` 参数),使用轮换代理,或降低扫描强度 **问题:** “结果中出现过多误报” - **解决方案:** 根据响应码、内容长度或已知模式过滤结果 **问题:** “不知道首先该扫描什么” - **解决方案:** 从已知域名的证书透明度日志和被动 DNS 开始 **问题:** “工具无法安装或运行” - **解决方案:** 使用 Docker 容器或预构建的虚拟机 (例如 Kali Linux) ### 🎯 安全的练习目标 - **您自己的基础设施:** 您控制的域名和 IP - **漏洞赏金计划:** 在 [HackerOne](https://hackerone.com/) 和 [Bugcrowd](https://bugcrowd.com/) 上查看授权范围内的目标 - **故意设置为易受攻击的应用:** [DVWA](http://www.dvwa.co.uk/)、[WebGoat](https://owasp.org/www-project-webgoat/) - **测试域名:** 使用 `testphp.vulnweb.com` 或类似的指定测试网站 ### 📖 下一步 完成首次扫描后: 1. 查看下方的[核心 ASM 组件](#core-asm-components) 2. 在 [tools/](tools/) 目录中探索具体工具 3. 阅读 [guides/](guides/) 中的详细指南 4. 查看 [examples/](examples/) 中的实践示例 ## 核心 ASM 组件 | 阶段 | 描述 | |---------------------|-----------------------------------------------------------------------------| | 发现 (Discovery) | 识别域名、IP、服务、API、云端资产 | | 枚举 (Enumeration) | 指纹识别端口、服务、技术栈和端点 | | 历史数据 (Historical Data) | 随时间监控基础设施和应用程序的变更 | | 威胁情报 | 整合 CVE、泄露的凭证、违规指标和 TTPs | | 钓鱼风险 (Phishing Risks) | 检测并测试社会工程学的暴露点 | | 报告 (Reporting) | 使用仪表板和屏幕截图来确定优先级并传达风险 | ## 侦察与发现工具 请查看 [tools/recon_tools.md](tools/recon_tools.md) 获取带有描述和链接的分类工具列表。 ## Web 截图工具 截取 Web 界面的屏幕截图,用于视觉差异比对和告警: - Eyewitness - GoWitness - Aquatone 更多详情请见 [tools/screenshots.md](tools/screenshots.md) ## ASM 与漏洞管理的对比 | 特性 | ASM | 漏洞扫描 | |------------------------------|-------------------------------------|---------------------------------| | 发现未知资产 | 是 | 否 (需要预先定义范围) | | 变更检测 | 是 | 否 | | 屏幕截图和 UI 快照| 是 | 否 | | 凭证泄露监控 | 是 | 否 | ## ASM 的快速获益点 - 利用证书透明度日志和被动 DNS 查找影子 IT (Shadow IT) - 定期运行 Shodan 和 GitHub API 查询以进行被动侦察 - 每天对应用进行截图,并比对页面哈希值以发现未经授权的更改 - 随时间推移跟踪历史端口、服务和 HTTP 标头信息的变化 - 标记缺失 2FA 或暴露详细错误信息的登录门户 ## 开源 ASM 工具 | 工具 | 功能 | |-------------|----------------------------------------------------| | Sn1per | 侦察、端口扫描、截图、报告生成 | | Amass | 利用多数据源进行子域名发现 | | Recon-ng | 具备数据库导出功能的全功能侦察框架 | | Scout Suite | 云端错误配置扫描器 (支持多云) | | CloudEnum | 针对 AWS、GCP 和 Azure 的云端资产枚举 | 完整列表可在 [tools](tools/) 目录中找到。 ## 构建您自己的 ASM 工具栈 查看 [guides/building_your_own_asm_stack.md](guides/building_your_own_asm_stack.md) 以使用以下工具创建轻量级、可扩展的 ASM pipeline: - Shodan API - Nmap 和 Masscan - 截图工具 - ElasticSearch 和 Kibana - 侦察脚本和 GitHub 监控器 ## 🤖 自动化脚本 用于常见 ASM 工作流的即用型自动化脚本: - **[basic_asm_scan.sh](scripts/basic_asm_scan.sh)** - 完整的域名评估工作流 - **[monitor_changes.py](scripts/monitor_changes.py)** - 网站变更检测与监控 - **[安装指南与示例](scripts/README.md)** - 设置说明与使用示例 ## 🚀 项目路线图 **[📋 实施策略](IMPLEMENTATION_STRATEGY.md)** - 将 ASM 速查表扩展为三层资源的综合路线图: - **第一层:快速参考** - 命令卡片、工具矩阵、正则表达式模式、单行命令 - **第二层:实践自动化** - CI/CD 模板、API 集成、解析器、通知 - **第三层:真实世界场景** - 行业行动手册、合规指南、事件响应 ### 计划中的增强功能 - **快速参考命令卡片和查找表** - **CI/CD 集成模板和自动化库** - **针对特定行业的 ASM 行动手册和合规指南** - **云服务商资产枚举技术和配置** - **高级 API 集成示例和解析脚本** - **事件响应程序和应急行动手册** ## 📚 附加资源 全面的参考材料和速查表: - **[🚀 入门指南](GETTING_STARTED.md)** - 从零开始到完成首次扫描的 30 分钟全面演练 - **[📖 学习指南](resources/learning_guide.md)** - 包含难度指示、时间预估和评估的结构化学习路径 - **[🔄 实践工作流](examples/practical_workflows.md)** - 针对 ASM 常见场景的分步操作程序 - **[📚 真实世界案例研究](examples/case_studies.md)** - 成功实施 ASM 的详细示例 - **[🛡️ 安全考量](resources/security_considerations.md)** - 法律、道德和技术层面的安全准则 - **[🔧 2025 现代化工具更新](resources/modern_tools_update.md)** - 取代旧版软件的最新工具和替代方案 - **[📋 命令速查表](resources/command_cheatsheet.md)** - 常用命令的快速参考 - **[📚 推荐阅读清单](resources/reading_list.md)** - 精选的涵盖侦察、OSINT、自动化和威胁情报的书籍 - **[📝 更新日志](CHANGELOG.md)** - 项目历史与版本更新 - **[📋 实施策略](IMPLEMENTATION_STRATEGY.md)** - 项目扩展的战略路线图 - **[📖 ASM 术语表](resources/README.md#asm-terminology-glossary)** - 核心概念与定义 - **[🌐 外部资源](resources/README.md#external-resources)** - 培训、文档和社区链接 - **[🔌 API 文档](resources/README.md#api-documentation)** - 常用服务的集成示例
标签:GitHub, 侦察扫描, 动态插桩, 占用监测, 威胁情报, 安全指南, 实时处理, 密码管理, 应用安全, 开发者工具, 日志审计, 网络安全, 自动化攻击, 资产管理, 逆向工具, 防御加固, 隐私保护