在组织行攻防演练和渗透测试时,信息收集起着至关重要的角色。
信息收集全与否直接影响着我们对目标的掌握,收集更多的信息对于入侵寻找入口至关重要。
信息收集的质量会严重的影响打点的效率。
在信息收集初始,可以通过fofa进行信息收集,可以搜到部分子域名,还可以搜到目标的各种系统信息/国家/组织/ASN/server名等。
例如:通过fofa查找目标的OA/后台管理系统。
直接输入查询语句,将从标题,html内容,http头信息,url字段中搜索;
如果查询表达式有多个与或关系,尽量在外面用()包含起来。
可以使用括号 和 && || !=等符号。
使用==完全匹配可以加快搜索速度,比如查找cloudfalre.com所有host是domain=="cloudflare.com" *
title="alibaba" && title!=discuz
( body="content="WordPress" || (header="X-Geo-Local" && header="/xmlgrpc.php" && body="/includes/") && host="www.xxx.gov.cn"
官方查询语法规则如下:
title="beijing" | 从标题中搜索“北京” | - |
---|---|---|
header="jboss" | 从http头中搜索“jboss” | - |
body="Hacked by" | 从html正文中搜索abc | - |
domain="qq.com" | 搜索根域名带有qq.com的网站。 | - |
icon_hash="-247388890" | 搜索使用此icon的资产。 | 仅限高级会员使用 |
host=".gov.cn" | 从url中搜索”.gov.cn” | 搜索要用host作为名称 |
port="443" | 查找对应“443”端口的资产 | - |
ip="1.1.1.1" | 从ip中搜索包含“1.1.1.1”的网站 | 搜索要用ip作为名称 |
ip="220.181.111.1/24" | 查询IP为“220.181.111.1”的C网段资产 | - |
status_code="402" | 查询服务器状态为“402”的资产 | - |
protocol="https" | 查询https协议资产 | 搜索指定协议类型(在开启端口扫描的情况下有效) |
city="Hangzhou" | 搜索指定城市的资产。 | - |
region="Zhejiang" | 搜索指定行政区的资产。 | - |
country="CN" | 搜索指定国家(编码)的资产。 | - |
cert="google" | 搜索证书(https或者imaps等)中带有google的资产。 | - |
banner=users && protocol=ftp | 搜索FTP协议中带有users文本的资产。 | - |
type=service | 搜索所有协议资产,支持subdomain和service两种。 | 搜索所有协议资产 |
os=windows | 搜索Windows资产。 | - |
server=="Microsoft-IIS/7.5" | 搜索IIS 7.5服务器。 | - |
app="HIKVISION-视频监控" | 搜索海康威视设备 | - |
after="2017" && before="2017-10-01" | 时间范围段搜索 | - |
asn="19551" | 搜索指定asn的资产。 | - |
org="Amazon.com, Inc." | 搜索指定org(组织)的资产。 | - |
base_protocol="udp" | 搜索指定udp协议的资产。 | - |
is_ipv6=true | 搜索ipv6的资产 | 搜索ipv6的资产,只接受true和false。 |
is_domain=true | 搜索域名的资产 | 搜索域名的资产,只接受true和false。 |
ip_ports="80,161" | 搜索同时开放80和161端口的ip | 搜索同时开放80和161端口的ip资产(以ip为单位的资产数据) |
port_size="6" | 查询开放端口数量等于"6"的资产 | 仅限FOFA会员使用 |
port_size_gt="3" | 查询开放端口数量大于"3"的资产 | 仅限FOFA会员使用 |
port_size_lt="12" | 查询开放端口数量小于"12"的资产 | 仅限FOFA会员使用 |
ip_country="CN" | 搜索中国的ip资产(以ip为单位的资产数据)。 | 搜索中国的ip资产 |
ip_region="Zhejiang" | 搜索指定行政区的ip资产(以ip为单位的资产数据)。 | 搜索指定行政区的资产 |
ip_city="Hangzhou" | 搜索指定城市的ip资产(以ip为单位的资产数据)。 | 搜索指定城市的资产 |
ip_after="2019-01-01" | 搜索2019-01-01以后的ip资产(以ip为单位的资产数据)。 | 搜索2019-01-01以后的ip资产 |
ip_before="2019-07-01" | 搜索2019-07-01以前的ip资产(以ip为单位的资产数据)。 | 搜索2019-07-01以前的ip资产 |
常用fofa语句:
title="名称" && region="省"
title="名称" && city="市"
cert="域名或者证书关键字" && region="省"
cert="域名或者证书关键字" && city="市"
((title="名称" || host="域名") && country="CN")
同一个目标单位的查询关键词可能有多个,同时在信息收集的过程中重要的关键词,如备案号/传真/客服电话等这些东西往往是唯一的。
搜索别人没有搜的关键词就可能发现别人没发现的资产,就可能拿到别人没拿到的shell。
如果目标无法访问:
经常会搜到打不开但属于目标的资产,可以先ping一下看看如能ping出ip说明服务器live状态,只是没有开放web服务。
如果ping的是ip,可以扫全端口和C段,如果目标是域名且没有CDN的话也可以全端口+C段。
ping目标域名判断是否有CDN:
在有CDN的情况下也可以找真实ip:
ping主域如果是www开头的域名存在CDN,可以把www.去掉再ping,可能得到真实IP
通过网站证书寻找真实ip,适应于https域名。
不走代理获得网站证书序列号。
将其转换成十进制进行查询,就能获得到真实IP。
例如查询语句:cert:cert="cloudfalre" 搜索证书(https/imaps)中带有cloudfalre的资产。
获得目标真实ip后百度查看是不是云上主机,如果是云上资产的话扫C段会出现扫C段扫出一大片东西,没有一个是目标资产的情况。
不是云上资产的话扫目标的C段。
nmap -sS -v -sV -p 1-65535 IP # ping目标有回复时
nmap -sS -v -sV -p 1-65535 -Pn IP # ping目标没有回复时
天眼查是非常重要的信息收集途径,在HW找到公司的子公司信息,收集子公司资产进行信息收集、探测、入侵迂回入侵其母公司(大银行等),是常见采取的手段。
找出其子公司小型民营企业相比其他的政府、大型互联网企业、金融、电力等目标要好打得多。因此采取迂回策略入侵进入目标。
下面以天眼查为例介绍:
天眼查中共有3个地方可能出现目标的资产:
官网
邮箱
知识产权:网站备案/公众号/小程序等资产。
天眼查信息收集的例子:
在遇到公司无官网,知识产权处也没有网站,只有有邮箱情况。
可以访问其邮箱后缀的网站,如果网站打不开,可以ping网站得到ip
扫该ip的C段会发现一些资产信息。
天眼查股权穿透图里面有子公司/母公司/股东信息。
重点收集100%控股的全资子公司信息,搞进子公司内网,通过子公司内网到达目标系统。
天眼查也可以查到政企信息。
利用oneforall工具进行子域名扫描,跑完之后的结果是csv格式,筛选出返回status值为200的域名
再去批量扫描这些域名,怎么扫后面再详细说。