从个人的角度去简单整理下打点前的信息收集那些事。从信息收集本质上来说多数内容都是大同小异,遇到坚壁时,不用死磕,毕竟条条大路通罗马。(大佬们也可以说说看法~向各位大佬学习!!)
想要构建一个"上帝视野",前期的信息收集工作是必不可少的,无论是了解一个人、一项业务、还是深入一个系统等,都需要“信息”。大佬曾说过,渗透测试的本质是信息收集,而个人直观感受就是“意料之外,情理之中”。
本文就简单整理下打点前的信息收集那些事。从信息收集本质上来说多数内容都是大同小异,遇到坚壁时,不用死磕,毕竟条条大路通罗马。
红队知识点大致流程:
外网信息收集——>打点——>权限维持——>提权——>内网信息收集——>横向移动——>痕迹清理
打点关键资产数据信息:
- 找出网站真实IP,挖掘相邻网段、绕过安全设备
- 判断目标是否为蜜罐
- 定位内网IP和系统
- 定位关键的应用系统
- 定位关键企业信息
对于外网信息收集主要有几点:ip、域名、企业等资产信息以及相应端口/服务、指纹、敏感信息、社工碰撞等易受攻击面信息。
tips:
挂代理池,走负载均衡,防止被锁IP。
确定目标后,析缕分条,找到突破及利用点。
关于打点时隐匿:
攻击前:虚拟机做全局代理、浏览器隐私模式或Tor,脚本、账号啥的非本人
攻击后:Rootkit……
工具、网站 | 备注 |
---|---|
爱站、站长工具 | Whois、备案号、权重、公司名称等 |
天眼查、企查查、搜狗搜索引擎 | 公司注册域名、微信公众号、APP、软件著作权等 |
ZoomEye、Shodan、FOFA、0.Zone、quake | 网络空间资产搜索引擎 |
ENScanGo、ICP备案 | 主域名收集 |
OneForAll、Layer、Rapid7的开源数据项目、ctfr、EyeWitness | 子域名收集 |
Kscan、ShuiZe_0x727、ARL灯塔、Goby | 自动化、批量信息收集 |
Bufferfly、Ehole | 资产处理、信息筛选 |
dnsdb、CloudFlair | CDN相关 |
VirusTotal、微步、ip2domain | C段、域名/ip情报信息 |
Nmap、Masscan | 端口服务信息 |
Google Hacking、dirsearch、URLFinder | WEB站点信息、api接口等 |
wafw00f | waf识别 |
云悉、潮汐、WhatWeb | 在线CMS识别 |
七麦、小蓝本 | APP资产 |
ApkAnalyser | App敏感信息 |
乌云漏洞库、CNVD、waybackurls | 历史漏洞、历史资产等 |
n0tr00t/Sreg、reg007 | 个人隐私信息 |
GitDorker | 资产信息、源码泄露 |
theHarvester、Snov.io | 邮箱信息收集 |
OSINT开源情报和侦擦工具 | 开源情报资源导航 |
anti-honeypot、Honeypot Hunter | 蜜罐识别 |
域名用来代替IP使其更容易被用户找到、记住。
对于"非用户"来说,可通过域名信息获取:主域名、存活站点、关联信息、钓鱼信息。为漏洞挖掘提供数据支撑。
国内服务器线上运营都必须先办理ICP备案后才能上线。
https://beian.miit.gov.cn/#/Integrated/index
反查可分为备案域名查询和未备案域名查询。
备案域名查询
第三方站点
未备案域名查询
is_domain=true
,即表示只返回域名*(个人感觉国外shodan、国内fofa)*。whois是用来查询域名的IP以及所有者等信息的传输协议。
通过whois信息可以获取注册人的关键信息。如注册商、联系人、联系邮箱、联系电话,也可以对注册人、邮箱、电话反查域名,也可以通过搜索引擎进一步挖掘域名所有人的信息。深入可社工、可漏洞挖掘利用。
Bugscanner
国外BGP
who.is
IP138网站
域名信息查询-腾讯云
ICANN LOOKUP
狗狗查询
ps:
- 部分whois查询存在隐藏信息,可以在其他站点查询。
- whois主要还是注册商、注册人、邮件、DNS 解析服务器、注册人联系电话。
- 由于GDRP,ICANN要求所有域名注册商必须对域名whois隐私信息进行保护,所以whois信息越来越少……但还是会存在一些whois域名系统是旧缓存数据。
ps:
目标可能存在多个域名绑定于同一ip上,通过ip反查可以获取到其他域名信息。比如旁站。
- 通过获取目标真实IP后,进行反查的旁站更真实。
查询站点需复杂性,单一的站点会有反查不出信息的可能。
- 大型企业不同的站点收录可能不一样
- 个人推荐3个不同站点反查
在线查询网站:
搜索引擎:
信息收集过程中,往往会因为配置错误或是未及时回收等原因,存在一些隐形资产。直接访问的话会出现访问限制的问题,如下:
究其原因,大多数是因为中间件对ip访问做限制,不能通过ip直接访问,必须使用域名进行访问。如果域名解析记录里也找不到域名记录,这时就可以用到HOST碰撞技术,通过将域名和IP进行捆绑碰撞,一旦匹配到后端代理服务器上的域名绑定配置,就可以访问到对应的业务系统,从而发现隐形资产。
手法:
使用收集到的目标IP、爬虫或自定义的内部域名(内网host池),作为字典,通过脚本进行碰撞,脚本会自动模拟绑定ip与host进行请求交互,通过标题或响应大小判断结果。只要字典够强大,总能出一两个,爆破时最好也试下TLS,部分主机会使用TLS的。
验证结果,只需修改本机host文件
绑定host与ip后,看访问变化。
自动化:
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名,即保存了IP地址和域名的相互映射关系。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。也正是因为DNS的存在,访问相应服务只需记住域名,不需要记住无规则的ip地址。
DNS服务器端口: tcp/udp 53。
常用DNS记录:
记录类型 | 说明 |
---|---|
A 记录 | 将域名指向一个 IP 地址(外网地址)。 |
CNAME 记录 | 将域名指向另一个域名,再由另一个域名提供 IP 地址(外网地址)。 |
MX 记录 | 电子邮件交换记录,记录一个邮件域名对应的IP地址,设置邮箱,让邮箱能收到邮件。 |
NS 记录 | 域名服务器记录,记录该域名由哪台域名服务器解析。如将子域名交给其他 DNS 服务商解析。 |
AAAA 记录 | 将域名指向一个 IPv6 地址。 |
SRV 记录 | 用来标识某台服务器使用了某个服务,常见于微软系统的目录管理。 |
TXT 记录 | 对域名进行标识和说明,绝大多数的 TXT 记录是用来做 SPF 记录(反垃圾邮件)。 |
可以通过查询共享DNS服务器的主机来获取到相关的域名,一般多是用于自建DNS服务器。如果是公开的DNS服务器,那么查询的效果将会特别差。
nslookup -query=ns baidu.com 8.8.8.8
直接搜索目标相关关键内容来查询,比如公司名、备案、引用的特殊js等。
搜索引擎很多,这里以Google为例:
由于信息泄露问题,某些配置或文件会存储一些目标相关的域名,如子域名、代码托管平台等,一般来说存储信息有限且不应公网存在此类文件。
策略文件域名信息问题如:
crossdomain.xml文件
sitemap文件
站点地图文件,常见如:
策略配置方面如:
这是一种声明的安全机制,可以让网站运营者能够控制遵循CSP的用户代理(通常是浏览器)的行为。通过控制要启用哪些功能,以及从哪里下载内容,可以减少网站的攻击面。CSP的主要目的是防御跨站点脚本(cross-ste scripting,XSS)攻击。例如,CSP可以完全禁止内联的JavaScript,并且控制外部代码从哪里加载。它也可以禁止动态代码执行。禁用了所有的攻击源,XSS攻击变得更加困难。CSP中的关键字有default-src、img-src、object-src和script-src。其中*-src可能会存在域名信息。
关键点:
HTTP header的Content-Security-Policy
属性
补天、漏洞银行、先知、hackerone等众测的广商提供的域名测试范围。
比如hackerone:alibaba
通过企业名称拓展查询目标企业的组织架构、股权信息、股权穿透图、子公司、孙公司、对外投资50%等目标信息,获取其产品业务、域名、邮箱资产范围等,扩大攻击面。大概企业资产收集点如下:
企业数据:
邮箱收集
企业架构画像
直属单位、机构设置、供应商*(相关合同、人员、系统、软件等)*、合作商等
业务信息:证券、快递、专用网、院校等
人员数据,如统计、职责、部门、人员历史泄露密码、浏览习性等
设备信息:
一般要求50%持股或者100% 持股都可以算测试目标。
https://www.dingtalk.com/qidian/home?spm=a213l2.13146415.4929779444.89.7f157166W6H4YZ
方便获取app历史版本
https://github.com/wgpsec/ENScan_GO
由狼组安全团队的 Keac 师傅写的专门用来解决企业信息收集难的问题的工具,可以一键收集目标及其控股公司的 ICP 备案、APP、小程序、微信公众号等信息然后聚合导出。
子域名一般是父级域名的下一级。一般企业主站域名的防护都是重点,安全级别较高,突破难度较大,而企业可能会有数十个甚至更多的子域名应用,因为数量众多,安全因素和成本投入多,相应的防护也没有那么及时有效。子域名往往是攻击突破口,通过子域名发现更多的可能性或是进行迂回攻击。
子域名信息点:
要说简单粗暴还是子域名枚举爆破,通过不断的拼接字典
中的子域名前缀去枚举域名的A记录进行DNS解析
,如果成功解析说明子域名存在。如xxx.com拼接前缀test组合成test.xxx.com,再对其进行验证。但是域名如果使用泛解析
的话,则会导致所有的域名都能成功解析,使得子域名枚举变得不精准。
nslookup
验证下~
泛解析:使用通配符?
*
?来匹配所有的子域名,从而实现所有的子级域名均指向相同网站空间。
会存在域名劫持、域名恶意泛解析风险
会主站被降权,可能被恶意利用,占用大量流量
关于恶意解析:
https://cloud.tencent.com/developer/article/1494534?from=article.detail.1874625
混合泛解析:在泛解析的基础上,增加一个限制,使记录可以按照需求进行分类。
那么域名使用了泛解析怎么去解决呢?
一般有两种:
黑名单ip:
TTL
响应内容
在线查询:
其他:
字典这块引用下https://feei.cn/esd/
DNS服务商的字典一般来说最准确有效,如:DNSPod公布的使用最多的子域名:dnspod-top2000-sub-domains.txt
普通字典:一些基础组合。
常用词组:常见的中英文词组。
爆破工具的字典: 可结合整理过的字典
DNS服务器分为:主服务器、备份服务器和缓存服务器。
在主备服务器之间同步数据库,需要使用“DNS域传送”的一种DNS事务。域传送是指备份服务器从主服务器上复制数据,然后更新自身的数据库,以达到数据同步的目的,这样是为了增加冗余,一旦主服务器出现问题可直接让备份服务器做好支撑工作。
若DNS配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。
axfr
请求就进行域传送,刷新数据。axfr
?是q-type类型的一种,axfr类型是Authoritative Transfer
的缩写,指请求传送某个区域的全部记录。只要欺骗dns服务器发送一个axfr
请求过去,如果该dns服务器上存在该漏洞,就会返回所有的解析记录值。
# 查询nameserver
nslookup -type=ns nhtc.wiki 8.8.8.8
# 指定nameserver,列举域名信息
nslookup
# Server 命令参数设定查询将要使用的DNS服务器
server cloudy.dnspod.net
# Ls命令列出某个域中的所有域名
ls nhtc.wiki
无法列出域,不存在此漏洞~
# 找到NS服务器
dig nhtc.wiki ns
# 发送axfr请求
dig axfr @cloudy.dnspod.net nhtc.wiki
nmap:
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=nhtc.wiki -p 53 -Pn cloudy.dnspod.net
python
# DNS库
xfr = dns.query.xfr(where=server, zone=self.domain, timeout=5.0, lifetime=10.0)
zone = dns.zone.from\_xfr(xfr)
一般情况下,DNS服务器配置都正常,关闭了域传送或设置白名单,利用率低。推荐交给自动化。
证书透明度(Certificate Transparency)是谷歌力推的一项拟在确保证书系统安全的透明审查技术。其目标是提供一个开放的审计和监控系统,可以让任何域名的所有者,确定CA证书是否被错误签发或恶意使用。TLS的缺点是你的浏览器隐性包含了一个大型受信任CA列表。如果任何这些CA恶意为域创建新证书,则你的浏览器都会信任它。CT为TLS证书信任提供了额外的安全保障:即公司可以监控谁为他们拥有的域创建了证书。此外,它还允许浏览器验证给定域的证书是否在公共日志记录中。
————————Google 的证书透明度项目
因为证书透明性是开放架构,可以检测由证书颁发机构错误颁发的 SSL 证书,也可以识别恶意颁发证书的证书颁发机构,且任何人都可以构建或访问,CA证书又包含了域名、子域名、邮箱
等敏感信息,价值就不言而喻了。
一般使用 CT 日志搜索引擎进行域名信息收集,因为是日志收集,只增不减,可能会有一些失效域名。
点击浏览器网站小锁-->安全连接-->更多信息-->查看证书-->查看主题替代名称处,有时候会有主域名和子域名信息。
利用已有公开的全网扫描数据集,对子域名信息进行收集。
收集方法:
命令进行快速查找
wget https://scans.io/data/rapid7/sonar.fdns\_v2/20170417-fdns.json.gz
cat 20170417\-fdns.json.gz | pigz \-dc | grep ".target.org" | jq\`
通过第三方平台提供的一些服务,快速发现子域名信息。
VirusTotal会运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。
其他工具:
搜索引擎是用于查找和排名与用户搜索匹配的 Web 内容的工具。
搜索引擎通过“蜘蛛”对全网进行大量爬行并处理后,建立索引*(索引是将抓取页面中的信息添加到叫做搜索索引的大型数据库中。)*。在此期间往往收集了大量的域名信息,需要对应的语法,即可从这数据库中获取想要的信息。
一份国外调查表:
俗称Google Hacking 大法,有十几种语法,混合使用可以更加准确地查找信息。
搜索子域名信息
site:360.cn
搜索一个域名后台信息
site:xx.com inurl:id=1 intext:后台
FOFA是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
逻辑连接符 | 具体含义 |
---|---|
\= | 匹配,=""时,可查询不存在字段或者值为空的情况 |
\=\= | 完全匹配,==""时,可查询存在且值为空的情况 |
&& | 与 |
| | 或者 |
!\= | 不匹配,!\=""时,可查询值为空的情况 |
~\= | 正则语法匹配专用(高级会员独有,不支持body) |
() | 确认查询优先级,括号内容优先级最高 |
目前FOFA支持了多个网络组件的指纹识别,包括建站模块、分享模块、各种开发框架、安全监测平台、项目管理系统、企业管理系统、视频监控系统、站长平台、电商系统、广告联盟、前端库、路由器、SSL证书、服务器管理系统、CDN、Web服务器、WAF、CMS等等,详细信息见https://fofa.info/library
常用语法可通过”查询语法“功能获取:
例句(点击可去搜索)用途说明注
例句(点击可去搜索) | 用途说明 | 注 |
---|---|---|
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资产 |
基础了解后,可以试试规则专题,官方有提供相应的指纹、组件查找,包含“数据库专题”、“工控专题”和“区块链专题”。也可以自己提交。
Shodan是一个搜索接入互联网的设备的搜索引擎,2009年由约翰·马瑟利发布。学生会员可以每个月下载1w条数据,黑五可能会有优惠价格。
ps:Shodan 侧重于主机设备
它是一个免费的外部攻击面管理SaaS平台,供红蓝队使用,为防御者提供攻击者视角下的企业外部攻击面数据,减少攻防信息差,以促进企业攻击面的收敛和管理。
搜索企业名称示例(需要会员才能获取企业黄页)
可查看此公司下匹配到的信息系统、移动端应用、敏感目录、邮箱、文档、代码、人员信息数据。这个功能定向查找单位资产非常方便好用。
不同于fofa,该平台做了收录信息归纳,感觉还不错。
全球鹰是奇安信的一款产品。通过网络空间测绘技术,全球鹰测绘平台可以提供IP、域名、开放端口、应用/组件、所属企业等关键安全信息,同时结合攻防场景绘制了资产画像与IP画像,实现互联网资产的可查、可定位、操作可识别的检索,助力企业日常的安全运营工作,例如未知资产发现、风险识别、漏洞修复等。目前全球鹰网络空间测绘平台已有3亿独立IP,资产(剔除历史重复数据)总数超过20亿,已实现全端口覆盖。在全球我们已覆盖了261个国家,96% ASN域。国内web资产最快4天更新,最慢7天更新。
还有一些不错的检索平台,就不一一介绍,可以去官网瞧瞧语法和规则这块,这块还是api用得多。(没会员没法爽玩。。)
关于搜索引擎详细可以参考下:
总的来说,信息收集有很多重复性查询筛选,手工相对费时费力,因此可以借助半自动化工具来达到事半功倍的效果。
解决大多传统子域名收集工具不够强大、不够友好、缺少维护和效率问题的痛点,是一款集百家之长,功能强大的全面快速子域收集终极神器。
brew install subfinder
Subfinder 是一个子域发现工具,它通过使用被动在线资源来发现网站的有效子域。它具有简单的模块化架构,并针对速度进行了优化。 subfinder 是为只做一件事而构建的——被动子域枚举,它做得很好。
ksubdomain是一款基于无状态子域名爆破工具,支持在Windows/Linux/Mac上使用,它会很快的进行DNS爆破,在Mac和Windows上理论最大发包速度在30w/s,linux上为160w/s的速度。
递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具
URLFinder是一款用于快速提取检测页面中JS与URL的工具。
功能类似于JSFinder,但JSFinder好久没更新了。
Layer子域名挖掘机是一款子域名收集工具,拥有简洁的界面和简单的操作模式,支持服务接口查询和暴力枚举获取子域名信息,同时可以通过已获取的域名进行递归爆破。
支持泛解析功能较全的枚举子域工具
Eyewitness可自动查询URL对应网站的截图、RDP服务、Open VNC服务器以及一些服务器title、甚至是可识别的默认凭据等,最终会生成一个详细的html报告。
通过ip或域名获取到一些基本信息(端口、服务、架构、目录等)后,也可以通过ip段目标扩大攻击面,也有可能找到一些未分配的边缘资产。
CDN是IP信息探测或打点必不可绕过的一个话题。当目标使用了CDN加速,获取到的目标ip不一定是真实ip。所以通常在实施端口、漏扫等测试之前,需判断下是否真实IP,是否使用了CDN或其他代理等等,避免无效操作、蜜罐、非目标点。
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
一、国内 CDN 服务商
二、国外 CDN 服务商
确定CDN加速解析后,那就要考虑如何绕过来获取真实ip,以进一步攻击利用。
通过多地ping目标域名,如果没有使用CDN,只会显示一个IP地址,或者双线接入情况的两个不同运营商ip。
多ping在线站点:
如图,不同地区访问有不同ip,一般存在CDN:
获取到的DNS域名解析结果中返回多个ip的,一般都是存在CDN服务。
查询域名历史解析记录,可能会存在未使用cdn之前的真实ip记录:
CDN判断:
存在CDN,利用微步查询获取历史记录,然后将每个ip都测试一篇
通过源代码获取,确定真实ip
网络空间测绘,一般都会定时把全网资产扫一遍存在数据库里。
通过网络空间测绘搜索引擎搜索其收录的目标相关信息,有概率获取到目标真实IP。
大概从以下几个关键因素去搜索验证:
通过获取logo icon指纹哈希特征,搜索其相同的主机结果,进一步探测真实IP:
未找到~
考虑到CDN成本问题,一些重要站点会采用cdn加速,而一些子域名则没有使用。一般情况下,一些子域名与主站的真实ip在同一c段或同一台服务器上,这时就可以通过发现子域名c段ip、端口信息,逐个探测定位主站真实ip地址。
常见查找方法和工具:
部分国内cdn广商只做了国内的线路,而没有铺设对国外的线路,这时就可以通过海外解析直接获取到真实IP。
可以使用:
证书颁发机构 (CA) 必须将他们发布的每个 SSL/TLS 证书发布到公共日志中,SSL/TLS 证书通常包含域名、子域名和电子邮件地址。因此可以利用 SSL/TLS 证书来发现目标站点的真实 IP 地址。
CDN在提供保护的同时,也会与服务器之间进行加密通信(SSL)。当通过服443端口去访问服务器ip或域名时,就会暴露其SSL证书,也就可以通过证书比对发现服务器的真实IP地址。
通过?https://crt.sh?进行快速证书查询收集
Censys 搜索引擎能够扫描整个互联网,每天都会扫描 IPv4 地址空间,以搜索所有联网设备并收集相关的信息,可以利用 Censys 进行全网方面的 SSL 证书搜索,找到匹配的真实 IP 。
通过Censys引擎搜索证书信息,发现多个有效或无效的证书:
https://search.censys.io/certificates?q=www.roken-niji.jp
ps: 并不是有效的证书才是有价值的,无效的证书中也会有很多服务器配置错误依然保留着的信息。
精准定位有效SSL证书:
parsed.names: xxx.com and tags.raw: trusted
逐个打开,根据sha1签名反查主机
无果~~~
openssl s\_client -connect roken-niji.jp:443 | grep subject
curl -v https://www.roken-niji.jp/ | grep 'subject'
CloudFlair
项目地址:https://github.com/christophetd/CloudFlair
使用来自 Censys 的全网扫描数据查找 CloudFlare 背后网站的源服务器。
包括但不限于:
某些站点只做了www cname到CDN上,导致www.xxx.com和xxx.com是两条独立的解析记录,所以可以通过直接ping域名xxx.com获取到未加入cdn的真实IP,同理http协议和https协议配置也是有可能出现这种问题。
一般邮件系统都在内部,没有经过CDN解析,通过邮件发送、RSS订阅等sendmail功能去获取到服务器与邮箱系统交互的邮件源码,在源文件头信息或者源代码中就会包含服务器真实ip。但需注意该ip是否第三方邮件服务器(如腾讯企业邮件、阿里企业邮箱),一般只有应用与网站在同一服务器上时,才获取到当前服务器的真实ip。
常见交互功能点: