近期参加了几次攻防演练,本文记录一下自己在信息收集方面学习到的技巧与经验。
最近有好几个攻防演练的规则都是目标被打进内网或者拿下靶标就退出公共目标,其他攻击方无法再提交该单位的报告,因此最初的打点要越快越好,而第一轮信息收集的质量很大程度上会影响打点的成功率,因此推荐最先通过fofa进行信息收集,因为fofa既可以搜到部分子域名,也可以搜到目标的各种系统,如OA、后台等,而这些系统很容易成为突破口。
fofa首页就有,可以自己查询
网上已经有很多介绍fofa语句的文章,这里推荐几个常用的:
需要注意的是fofa语句不是一成不变的,同一个目标单位的查询关键词可能有好几个,同时在信息收集的过程中也可能发现新的关键词,比如备案号、传真、客服电话等,这些东西往往是唯一的。搜索别人没有搜的关键词就可能发现别人没发现的资产,就可能拿到别人没拿到的shell,需要灵活运用。
fofa中可能搜到打不开但仍然属于目标单位的资产,可以先ping一下看看,如果能ping出IP说明服务器还存活,只是web服务没开,如果ping的是IP,可以扫全端口+C段,是域名且没有CDN的话也可以全端口+C段。
直接ping目标域名可判断是否有CDN:
在有CDN的情况下,找真实IP的方法网上也比较多,这里说2个:
如果是www开头的域名存在CDN,可以把www.去掉再ping,可能得到真实IP
此方法适用于https的站点
首先获得网站证书序列号(不要挂代理)
转换成十进制 https://tool.lu/hexconvert/
fofa语法 cert:cert="google" 搜索证书(https或者imaps等)中带有google的资产。
搜索 cert="34854334815482420686509548370"
第一个就是真实IP
nmap扫得比较慢但较准确,这里给2条命令
nmap -sS -v -sV -p 1-65535 IP # ping目标有回复时 nmap -sS -v -sV -p 1-65535 -Pn IP # ping目标没有回复时
可以在阿里云的vps上装nmap,用它来扫端口,一般1个IP全端口3-5分钟扫完
nmap扫得慢的话可以用masscan
masscan -p 1-65535 --rate 1000 IP
获得目标真实IP后可以百度该IP看是不是云上资产
如果是阿里云或者腾讯云等云上资产的话扫C段容易出现扫C段扫出一大片东西,然而没有一个是目标资产的情况。不是云上资产的话就正常扫C段就可以。
天眼查、企查查等查企业的软件也是非常重要的信息收集途径,每次攻防演练的目标名单中总有各种公司,有国企也有私企,其中的小型民营企业相比其他的政府、大型互联网企业、金融、电力等目标要好打得多,因此它们总是首要目标,而天眼查、企查查等作为查企业最牛逼的网站,其重要性也就不言而喻了。下面以天眼查为例介绍:
天眼查中共有3个地方可能出现目标的资产:
下面举一个涛神使用天眼查信息收集的例子:
该公司无官网,知识产权处也没有网站,但是有邮箱
访问www.yxxxxxxxxxxxxr.com,打不开,但是可以ping出IP
通过扫该IP的C段发现该公司的一个OA(图找不到了)
还有一个地方是天眼查中的股权穿透图
里面会有该公司的子公司及父公司或股东
这里重点看100%控股的全资子公司,同时也要看攻防演练的规则,搞进子公司内网不通目标的情况下给不给分。
天眼查也可以查到非公司的机构,只是搜到的东西相对较少一些,如:
子域名没什么好说的,工具很多,推荐oneforall(https://github.com/shmilylty/OneForAll),跑完之后结果是csv格式,可以筛选返回值为200的网站,将http://去掉,放进goby里批量扫。