FOFA

如何成为一个合格的“FOFA”工程师

    我看各位师傅都对FOFA打点很感兴趣,我从自己的角度给大家谈谈我打点的几个思路,希望对大家后面的打点能有一点点帮助。

0x01:FOFA 的工作原理是什么?

    有些人觉得我不需要关心Fofa的工作原理,我只需要找到我想要的东西就行。其实你可以找到一部分渗透中目标的信息,通过title搜索目标的信息大家都会,你能搜到别人也能搜到,你能打下来别人也肯定能打下来,那么我们该怎么找别人找不到的资产呢?这就需要你去深入理解Fofa的工作机制。

•fofa是什么 fofa的收录是基于端口扫描的收录,底层原理就类似一个扫全网的zmap加上各种指纹识别的脚本和规则来维护的,基于:IP、端口、指纹、部分域名子域名的关系数据库。•什么样的东西可以被fofa收录 上面说过了,fofa是基于IP端口来决定什么可以入库,什么东西ta入不了库,也不可能入得了库的。 举个栗子

例子

是否会被收录

解释

111.111.111.111:80

IP、端口两要素

111.111.111.111:80/test/test.html

仅会收录根目录返回结果,二级目录不会收录,fofa不会进行目录扫描

http://baidu.com:80

可能

某些特定情况下,可能会扫到baidu.com对应的IP,并且该IP未作针对性防护

http://baidu.com:80/test/test.html

可能(概率很小)

唯一一种可能的情况就是/test/目录单独解析到某个IP,或服务由某个IP节点提供

    上面列举了一些可能被收录的和不会被收录的资产,fofa搜索开始之前就应该了解,自己搜索什么可以搜到东西,而搜索什么不可能找到东西。

0x02:Title & Header & Body & Html 的关系?

- Title

    Title顾名思义就是网站的标题,那么我们仔细观察一下常见的标题构成要素。根据标题构成自己手动分词!

接着举栗

首页 - XX市XX医院
XX市XX医院 - 首页
XX市XX医院
XX市附属XX医院
XX医院
AA医院
AA市XX医院
XX市XX医院与AA医院合作系统

分析上面title构成编写一个搜索语法,查找尽可能多的XX市XX医院资产

这一条可以匹配的是标题中含有“XX市XX医”的资产,而标题为"XX医院"的某些资产也可能是XX市XX医院的资产,我们就无法获取这部分资产信息。

这条规则比上面 的规则可以匹配到更多的资产,但是会搜索到目标之外的结果”XX市XX医院与AA医院合作系统“所以搜索的时候拆分title来搜索可以获得更多的搜索结果和更大的搜索范围,但是可能会带来脏数据,需要我们人工辨别是否为目标所属资产。

注:了解:&&、||、==、!=都是什么意思。

- Header/Body

    需要注意的点和Title类似,不做过多解释。

- Html(source code)

    当我们分别查找title、header、body的关键字的时候总觉得太麻烦,能不能直接搜索一次就包含所有的搜索结果呢?答案是肯定的。 再次举栗

上面的代码可以看到,footer里面包含我们的目标关键字,但是fofa中并没有专门搜索footer的语法,那么我们怎么把这个结果搜索到呢? 如下代码就可以了:

上面这个代码虽然官方没有解释,但是测试是可以搜索==整个source code==里面的关键字的。 需要注意的是,这个语法会搜到==很多辣鸡数据==,有多多呢?根据网站类型来说,很多仿冒的网站、新闻网站、色情网站都会插入大量辣鸡数据增加搜索引擎收录的概率,这也会影响我们搜索结果的筛选。有没有办法过滤掉这些辣鸡数据呢?有办法!

看一眼这个语法,应该不用解释了,过滤掉容易出现辣鸡网站的地区==只要中国的结果==,其中==容易出现辣鸡数据的HK==也进行过滤,会清爽很多。 其他一些语法的组合自己尝试吧:

- 某些特殊关注点

    比如某些网站会出现一些独特的代码片段,正常网站基本上不会出现的==特征点==同样可以作为我们的搜索语法来使用:

0x03:某些傻X API接口 的特殊姿势?

    有些API接口,直接访问会报错: 举栗举栗

以上这种情况,我反手就是一个:

    全部都出来了,各个版本肯定也出来了,肯定都是他家的!(分清自研和商用系统)     ==你问我,你又日不下这API,搜出来有何屌用?==     是哦,我日不下来,我有大哥们呢!     其实还是有用的,我们可以得到以下有用的信息:

  1. IP资产

  2. 关联相关IP段

  3. 端口扫描

    这种情况紧跟的就是:

    ==这回可以找你能日下的系统了吧!==(注意识别资产归属)

0x04:某些傻X 证书 的特殊姿势?

下面这图肯定都见过,但是你认真研究过这个页面吗?

点开高级进行分析:

看到证书来自baidu.com了吧,那这资产是不是百度的?这傻吊也是可以用FOFA来搜索的:

那么我们来详细观察一个证书的构成:

查看证书实例!

通过以上结果可以得出不光【baidu.com】,属于百度的好多域名都知道了,知道别人日站为什么不用开工具扫什么子域名扫IP了吧,IP、域名都收集齐了,根本不会出错!

0x05:某些傻X CDN 的特殊姿势?

提供几个思路吧,都大同小异:

1.通过证书查询方式

这个可以绕过一部分SSL网站的CDN直接看到真实IP

1.通过某些主页特殊关键字

某些网站没有对IP直接访问做限制,可以直接访问

1.某些特殊接口 比如你访问某个接口给你返回一个==baidu OK!==

等等

最后更新于

这有帮助吗?