简介
FOFA 是一款网络空间测绘的搜索引擎,英文全称为 “Fingerprinting Organizations with Advanced Tools”,由北京华顺信安科技有限公司开发。以下是其相关介绍:
- 功能特点
- 资产发现与指纹识别:能快速识别和收录网站、服务器、路由器、摄像头等各种网络资产,并通过网络响应等信息对设备、操作系统、应用程序等进行精确指纹识别,帮助用户发现特定类型的设备。
- 漏洞扫描与安全评估:配合其他工具,可利用收集的数据进行漏洞扫描,帮助企业了解网络暴露面,及时发现潜在安全威胁。
- 定制搜索与数据分析:提供大量搜索语法和过滤器,用户可根据 IP、域名、端口、协议等进行精确搜索,还能通过关键词组合、逻辑运算符等进行高级搜索,以满足精细化需求。
- 图形化界面与历史数据:提供图形化搜索界面,用户可直观查看搜索结果、图表和图谱,更好地理解网络设备布局。同时记录历史搜索结果,方便用户查看设备和服务的历史信息,了解网络发展变化。
- API 支持:提供 API,用户能够通过编程方式访问搜索引擎,将其功能集成到自己的应用程序或工作流程中。
- 应用场景
- 网络安全领域:安全研究人员和企业安全团队可用于资产发现和漏洞挖掘,帮助企业梳理公网暴露面,保护互联网资产安全。白帽子团体也可通过它进行漏洞挖掘,判断漏洞影响范围,帮助企业应对网络安全问题。
- 其他领域:高校或机构研究人员可通过它快速确认某一款产品在全球的资产分布情况,为研究提供数据支撑。个人也可用于寻找一些有趣的东西,如通过搜索特定关键词找到使用特定框架搭建的网站等。
搜索语法
FOFA 的搜索语法丰富多样,以下是一些常见的搜索语法:
- 基本语法结构:
keyword1="value1" keyword2="value2"
,多个查询条件之间默认是 “与”(AND)关系。 - 常用查询字段
port
:用于搜索特定端口开放的资产,如port="80"
表示搜索开放 80 端口的资产。domain
:搜索与某个域名相关的资产,例如domain="example.com"
。title
:搜索网页标题中包含特定关键词的资产,如title="admin"
。header
:搜索 HTTP 头部中包含特定关键词的资产,例如header="nginx"
。body
:搜索网页正文中包含特定关键词的资产,如body="login"
。protocol
:搜索使用特定协议的资产,如protocol="http"
。country
:搜索位于某个国家的资产,country="CN"
表示搜索中国的资产。status_code
:搜索返回特定 HTTP 状态码的资产,如status_code="200"
。as_number
:搜索属于特定自治系统编号(AS 号)的资产,例如as_number="AS15169"
。app
:搜索使用特定软件或技术的资产,如app="Apache"
。
- 逻辑运算符
AND
:默认逻辑运算符,例如ip="1.1.1.1" port="80"
表示搜索 IP 为1.1.1.1
且端口为 80 的资产。OR
:逻辑 “或” 运算,如ip="1.1.1.1" OR ip="8.8.8.8"
表示搜索 IP 为1.1.1.1
或8.8.8.8
的资产。NOT
:排除特定条件,例如ip="1.1.1.1" NOT port="80"
表示搜索 IP 为1.1.1.1
但端口不为 80 的资产。
- 模糊查询和通配符
*
:通配符,可以匹配任意字符。~
:模糊查询,如body~="keyword"
表示搜索网页正文中包含近似关键词的内容。
- 其他语法
city
:按城市筛选,如city="Hangzhou"
搜索位于杭州的资产。os
:按操作系统筛选,os="Windows"
搜索运行 Windows 操作系统的资产。cert
:按证书相关信息检索,如cert="google"
搜索证书中带有 “google” 的资产。ports
:搜索同时开放多个端口的 IP 资产,如ports="3306,443,22"
搜索同时开启 3306、443 和 22 端口的 IP。ports=="3306,443,22"
则表示搜索只开启这三个端口的 IP。after
和before
:按时间筛选,after="2017" && before="2017-10-01"
表示搜索 2017 年 1 月 1 日之后且在 2017 年 10 月 1 日之前的数据。
此外,FOFA 还支持子网查询,使用 CIDR 表示法对特定子网范围进行查询,如ip="220.181.111.1/24"
。同时,也可以使用括号和逻辑运算符组合复杂的搜索条件,进行更精确的筛选。