FOFA入门指南:轻松掌握搜索技巧和特色功能

Newbee123  582天前

fofa技术分享图矮.png

▌FOFA是什么?

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

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

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

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


▌FOFA能做什么?

FOFA的作用之一就是对企业所有暴露在公网的暴露面进行梳理,帮助企业最大程度上保护自己的互联网资产。

举例来说,就像病毒可以通过多种渠道侵入人体,企业设备也可能存在漏洞被黑客攻击。虽然企业可以通过防护措施减少暴露面,如戴口罩和防护服,但黑客仍然可能通过"小伤口"或"气溶胶"入侵企业内网。类似地,企业设备也可能存在多种暴露面,从而存在被黑客攻击的风险。

类比于医生检测流感的方法,当漏洞出现时,企业可以快速检测自己的资产是否受影响,并及时采取措施防止漏洞被不法分子利用。这有助于企业保护自己的网络安全。

当然除了企业自己对自己的资产进行梳理和保护外,有一批叫做白帽子的团体也会通过FOFA进行漏洞挖掘。他们就像一个个猎手一样,当他们发现某个产品有通用型漏洞的时候,可以通过FOFA的搜索快速地收集到这个产品在全网的资产总量和地区分布,对漏洞影响范围进行判断,并帮助企业应对其网络安全的问题。

同样地,对于高校或者机构的研究人员,也可以通过FOFA快速地确认某一款产品在全球的资产分布情况。比如某某厂商旗下的一款摄像头在全球已经部署了多少台,每个国家/地区拥有多少量,可以快速地为他们的研究提供真实的数据支撑能力。

FOFA平台不仅仅可以用于网络安全领域,对于个人来说,也可以用于寻找一些有趣的东西,下面将通过一个简单的案例为大家展示FOFA的能力。


▌FOFA的语法

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

搜索语法可以是

    title="chatgpt"

    然后我们可以发现,使用同一框架搭建chatgpt的网站有自己的关键特征,搜索这些特征,能更精准地搜索到使用ChatGPT框架的网站,因为这些网站的标题可能不包含ChatGPT关键词。

    通过FOFA查看这些网站的网页源代码,我们发现了一些共同的关键特征,例如 "loading-wrap" 和 "balls"

    因此,我们可以使用FOFA搜索原文中既包含 "loading-wrap" 又包含 "balls" 的网站,以找到所有使用这个开源框架的网站。做完这一步后,搜索结果已经包含使用了同一个chatgpt开源框架所做的网站了。

    接下来的动作,我们可以加两个筛选项,它们分别是筛选是否拥有域名(is_domain=true)和证书是否可信(cert.is_valid=true)。为什么要筛选这两项呢?当搭建在公网上的资产,通过这两个筛选判断,可以判断这个网站是否准备长期的运营下去(保证使用的稳定性),否则保存的结果可能很快所有者就将其下线,无法使用了。到这里,我们的搜索语法就是,网站原文中包含"loading-wrap""balls"特征的,并且拥有域名和证书,且证书未过期的。

      body="loading-wrap" && body="balls" && is_domain=true && cert.is_valid=true

      我们还可以根据IP地址的国家/地区来筛选结果,例如可以使用 && country="US" 的语法或直接点击左边的搜索结果统计,来只显示美国IP地址的网站。

      这样的搜索结果就是:

        body="loading-wrap" && body="balls" && is_domain=true && cert.is_valid=true && country="US"

        我们通过视频给大家演示一下。

        2.png

        这次演示我们总共用到了网站标题(title)、网站原文(body)、筛选类语法(is_domain、cert.is_valid)、国家(country)和连接符 和 (&&)这几个元素,其实这种方式类似于白帽子使用FOFA平台搜索资产一样,只不过目的不同,但也是通过搜索特定的关键词来寻找目标。FOFA平台具有很高的灵活性,可以根据不同需求来进行搜索,非常方便实用。

        当然,在搜索结果中还可能包含其他相关特征,我们可以根据这些特征进一步扩大或缩小搜索范围,例如该网站的标题为“ChatGPT Web”或其网站图标(icon_hash) 等。这些关键词都可以在FOFA上进行搜索。

        对应上面的查询特征,我们其实已经对其录入,可以让你快速的搜索,像这样点一下就可以搜到你想要的:

        1.png

        下面的内容就会讲到这是什么。

        ▌FOFA规则集

        我们一直在提到一个东西,它就是关键特征。当你具备一个你需要查找信息的关键特征时,你就可以搜到它,比如(IP地址、域名、网站标题、网站图标等等)都可以通过FOFA进行搜索。

        那么FOFA针对于这些特征做了什么呢?我们针对于这些资产的多个关键特征进行组合和整理,形成了一个个规则指纹集。通俗来讲,我们对很多数据做了导航页,或者可以理解为书本的目录。可以帮助用户更快速、准确地找到所需的信息。比如说你想要搜索某个品牌的摄像头,FOFA已经将这些摄像头的特征整理,并形成了一个导航标签,你只需要在搜索框中输入比如海康威视(Hikvision)的摄像头,就可以找到FOFA整理好的各个品牌的摄像头信息。这样就大大节省了用户搜索所需信息的时间和精力,像这样输入hikvision,就会有推荐的搜索导航,点击一键达到:

        视频链接

        3.png

        ▌Feature ID

        除此之外,FOFA还有一个很棒的引擎功能,叫做FID,全称为Feature ID

        我们可以这样理解,每个人都拥有自己的档案,档案中会记录你的性别,年龄,工作类型,出生地等信息。那么再根据你的身份证号,我们就可以锁定这个人就是你。

        对于一个网站来说,它会拥有很多自己的信息,我们给他建立一个档案(FID),把他的”性别”、”年龄”、”工作类型” 等信息放在档案(FID)里面。再通过这个档案去匹配所有具备这些相似特征的网站。比如,档案中(FID)显示这个人男、20岁、是个程序员、出生于北京、未婚等,那么我们就可以匹配到所有互联网上具备相似特征的网站。

        需要注意的是,FOFA平台上的FID特征是FOFA自己聚合多个关键特征形成的标签,而不是网站原有的标签。在搜索结果页的统计信息中或者数据上,我们就可以看到它,继续用title=“chatgpt”举例,可以看到,FID识别到了不同框架搭建的chatgpt的网站,也可以直接用FID帮你找到更多拥有相同特征的资产:

        视频链接

        4.png

        ▌总结

        通过简单易懂的语言和一个简单的小例子,我们介绍了FOFA的基础搜索能力、特色功能规则集和FID。掌握了它们,恭喜您已经成为了一名初级FOFA工程师!

        希望本文能为对FOFA平台感兴趣的读者提供帮助。如果您已经理解了本文的内容,那么我们期待您能够使用FOFA在网络空间中进行探索。

        接下来,您可以深入学习进阶的语法使用方式、搜索小技巧、有趣的FOFA功能、API的应用或真实的使用场景。让我们一起继续探索吧!

        文章附件 - 3.png

        最新评论

        昵称
        邮箱
        提交评论