FOFA 资产侦察工作流
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1a74f8eb/fofamap。
技能介绍
要解决什么问题
被动资产测绘里,FOFA 查询语法、字段权限和「查不到就换条件」往往靠个人经验;结果还要手工筛存活、拼 Excel 才能交给下一棒。本技能把 FofaMap 项目里的做法收成一条稳定流程:由宿主 Agent 做意图与推理,scripts/fofa_recon.py 负责可重复的 API 调用与导出。
技能如何工作
- 模式路由:资产列表用
search;单 IP/域名聚合用host;国家、端口、ASN 等分布用stats;站点图标相似资产用icon-hash。 - 保守起步:默认选用权限友好的字段集;高阶字段被拒时脚本会回退到安全字段集。
- 零结果反思:最多三次逐步放宽——去掉脆弱的地域/版本过滤、把
host=换成更宽的title=/body=等、只保留关键词加粗粒度范围;并明确标注后续查询是 fallback,不等价于原意图。 - 存活与交付:需要「当前能连上」的子集时用
--alive-check;交接优先 xlsx(给人看)或 csv(给脚本吃),导出可带 HTTP 状态。 - 项目化输出:多查询、要交付物时用
project-run,生成项目目录(导出、targets.txt、建议的 Nuclei 命令、Markdown 报告);主动扫描需用户明确授权。
配置仅需环境变量 FOFA_EMAIL、FOFA_API_KEY。
适用边界
适合 FOFA 暴露面、子域/服务指纹、单目标画像、统计排行、图标哈希检索,以及失败后的智能重试与是否值得做 nuclei 等验证的判断。不要用于与 FOFA 无关的通用爬虫、默认主动利用、未经批准的网络扫描,或超出 FOFA 索引所能保证的「实时全量」验证。FOFA 数据可能陈旧、不完整或受订阅限制;主动探测(nuclei、登录探测等)与被动情报应分开表述并征得同意。
使用场景
- 授权范围内的外网摸底:用自然语言描述目标产品或地区,生成 FOFA 查询并导出可交接的资产表
- 客户只给了一个 IP 或主域名:做 host 聚合画像,输出 Markdown 报告给后续验证同事
- 需要汇报某组件(如 Redis、Grafana)的国家、端口或组织分布:跑 stats 并生成排行类结论
- FOFA 首次查询零结果:按技能规则逐步放宽过滤条件重试,并标明哪些是 fallback 查询
适合人员
- 做授权渗透或红队前期的安全工程师,要把 FOFA 命中整理成带存活状态的 xlsx/csv 交给扫描或复核同事
- 负责企业互联网暴露面治理的运维/安全岗,需要按产品指纹或地区筛服务并说明字段权限与数据局限
- 威胁情报或 SRC 分析师,要从目标站点 favicon 推导 icon_hash 并检索相似对外资产
- 被动情报已够用但需决策是否上 nuclei 的测试人员,希望结论区分「FOFA 观测」与「需主动验证」