Bootstrap

FOFA网络空间安全搜索引擎的使用

一、FOFA是什么?

FOFA是一款网络空间测绘的搜索引擎,旨在帮助用户以搜索的方式查找公网上的互联网资产。

简单来说,FOFA的使用方式类似于谷歌或百度,用户可以输入关键词来匹配包含该关键词的数据。不同的是,这些数据不仅包括像谷歌或百度一样的网页,还包括像摄像头、打印机、数据库、操作系统等资产。


网络空间测绘可以被认为是网络空间的“地图”。就像谷歌地图或高德地图通过卫星图像对地形进行测绘,网络空间测绘也是通过技术探针对全球网络资产进行探测。

然而,网络空间分为公网和内网。FOFA主要针对公网上的资产进行探测,类似于谷歌地图上的建筑物(IP地址),虽然可以看到建筑物的外部结构和规模,但无法了解内部的情况。这是因为侵犯内网的隐私是违法的。

FOFA官网地址

二、FOFA语法

进入FOFA的官网,可以查询所有语法。

高级搜索

逻辑连接符具体含义
=匹配,当设置为=""时,可查询不存在字段或者值为空的情况。
==完全匹配,当设置为==""时,可查询存在且值为空的情况。
&&
ll
!=不匹配,当设置为!=""时,可查询值为空的情况。
*=模糊匹配,使用*或者?进行搜索,比如banner*="mys??"(个人版及以上可用)。
()确认查询优先级,括号内容优先级最高。

关于建站软件的搜索语法请参考:组件列表

基础类(General)

语法例句描述
IPip="1.1.1.1"
ip="220.181.111.1/24"
ip="IPv6"
分别通过单一IPv4地址、IPv4C段、单一IPv6地址进行查询
端口port="6379"通过端口号进行查询
域名domain="qq.com"通过根域名进行查询
主机host=".fofa.info"通过主机名进行查询
操作系统os="centos"通过操作系统进行查询
服务器server="Microsoft-IIS/10"通过服务器进行查询
自治系统号asn="19551"通过自治系统号进行搜索
组织org="LLCBaxet"通过所属组织进行查询
是否拥有域名is_domain=true
is_domain=false
筛选拥有域名的资产/筛选没有域名的资产
是否为IPv6is_ipv6=true
is_ipv6=false
筛选是IPv6的资产/筛选是IPv4的资产

标记类(SpecialLabel)

语法例句用途说明
appapp="Microsoft-Exchange"通过FOFA整理的规则进行查询
fidfid="sSXXGNUO2FefBTcCLIT/2Q=="通过FOFA聚合的站点指纹进行查询
productproduct="NGINX"通过FOFA标记的产品名进行查询
categorycategory="服务"通过FOFA标记的分类进行查询
typetype="service"
type="subdomain"
筛选协议资产
筛选服务(网站类)资产
cloud_namecloud_name="Aliyundun"通过云服务商进行查询
is_cloudis_cloud=true
is_cloud=false
筛选是云服务的资产
筛选不是云服务的资产
is_fraudis_fraud=true
is_fraud=false
筛选是仿冒垃圾站群的资产
筛选不是仿冒垃圾站群的资产
is_honeypotis_honeypot=true
is_honeypot=false
筛选是蜜罐的资产
筛选不是蜜罐的资产

协议类(type=service)

语法例句用途说明
protocolprotocol="quic"通过协议名称进行查询
bannerbanner="users"通过协议返回信息进行查询
base_protocolbase_protocol="udp"
base_protocol="tcp"
查询传输层为udp协议的资产
查询传输层为tcp协议的资产

网站类(type=subdomain)

语法例句用途说明
titletitle="beijing"通过网站标题进行查询
headerheader="elastic"通过响应标头进行查询
header_hashheader_hash="1258854265"通过http/https响应头计算的hash值进行查询
bodybody="网络空间测绘"通过HTML正文进行查询
body_hashbody_hash="-2090962452"通过HTML正文计算的hash值进行查询
js_namejs_name="js/jquery.js"通过HTML正文包含的JS进行查询
js_md5js_md5="82ac3f14327a8b7ba49baa208d4eaa15"通过JS源码进行查询
cnamecname="ap21.inst.siteforce.com"通过别名记录进行查询
cname_domaincname_domain="siteforce.com"通过别名记录解析的主域名进行查询
icon_hashicon_hash="-247388890"通过网站图标的hash值进行查询
status_codestatus_code="402"筛选服务状态为402的服务(网站)资产
icpicp="京ICP证030173号"通过HTML正文包含的ICP备案号进行查询
sdk_hashsdk_hash=="Mkb4Ms4R96glv/T6TRzwPWh3UDatBqeF"通过网站嵌入的第三方代码计算的hash值进行查询

地理位置(Location)

语法例句用途说明
countrycountry="CN"
country="中国"
通过国家的简称代码或中文名称进行查询
regionregion="Zhejiang"
region="浙江"
通过省份/地区的英文名称或中文名称进行查询
citycity="Hangzhou"通过城市英文名称进行查询

证书类

语法例句用途说明
certcert="baidu"通过证书进行查询
cert.subjectcert.subject="OracleCorporation"通过证书的持有者进行查询
cert.issuercert.issuer="DigiCert"通过证书的颁发者进行查询
cert.subject.orgcert.subject.org="OracleCorporation"通过证书持有者的组织进行查询
cert.subject.cncert.subject.cn="baidu.com"通过证书持有者的通用名称进行查询
cert.issuer.orgcert.issuer.org="cPanel,Inc."通过证书颁发者的组织进行查询
cert.issuer.cncert.issuer.cn="SynologyInc.CA"通过证书颁发者的通用名称进行查询
cert.is_validcert.is_valid=true
cert.is_valid=false
筛选证书有效性的资产
cert.is_matchcert.is_match=true
cert.is_match=false
筛选证书和域名匹配性的资产
cert.is_expiredcert.is_expired=true
cert.is_expired=false
筛选证书过期状态的资产
jarmjarm="15af977ce25de452b96affa2addb1036"通过JARM指纹进行查询
tls.versiontls.version="TLS1.3"通过tls的协议版本进行查询
tls.ja3stls.ja3s="15af977ce25de452b96affa2addb1036"通过tls的ja3s指纹进行查询

时间类(Lastupdatetime)

语法例句用途说明
afterafter="2023-01-01"筛选某一时间之后有更新的资产
beforebefore="2023-12-01"筛选某一时间之前有更新的资产
after&beforeafter="2023-01-01"&&before="2023-12-01"筛选某一时间区间有更新的资产

独立IP语法

独立IP系列语法,不可和上面其他语法共用

语法例句用途说明
port_sizeport_size="6"筛选开放端口数量等于6个的独立IP
port_size_gtport_size_gt="6"筛选开放端口数量大于6个的独立IP
port_size_ltport_size_lt="12"筛选开放端口数量小于12个的独立IP
ip_portsip_ports="80,161"筛选同时开放不同端口的独立IP
ip_countryip_country="CN"通过国家的简称代码进行查询独立IP
ip_regionip_region="Zhejiang"通过省份/地区英文名称进行查询独立IP
ip_cityip_city="Hangzhou"通过城市英文名称进行查询独立IP
ip_afterip_after="2021-03-18"筛选某一时间之后有更新的独立IP
ip_beforeip_before="2019-09-09"筛选某一时间之前有更新的独立IP

三、搜索技巧

我们可以使用FOFA搜索一些我们想要用的网址,比如最近比较火的ChatGPT,我们可以通过在FOFA上搜索网站标题,找到包含ChatGPT关键词的网站。

title="chatgpt"

也可以搜索路由器、交换机:

app="Tenda-路由器"  (也可以直接搜索"路由器"即可)

 摄像头、监控:

header=”摄像头品牌”
app="摄像头品牌-视频监控"
Hostname:主机名   指定主机名
device:设备名  指定设备名
keyword:关键词  指定首页关键词

防火墙:

app="H3C-下一代防火墙"(也可以直接搜索"防火墙"即可)

 以上使用方法仅供网络安全学习使用。

;