本文章来自于吐司社区
https://www.t00ls.com/articles-66419.html
0x00 前言
本文站在前辈们的巨人肩膀上,所有点全来自前辈们,但是我对每个点的具体使用简单写了下,作为学**结用,希望对各位表哥有帮助
0x01 判断是否存在CDN
01 多地ping
如果没有使用CDN,则只会显示一个IP地址。
可以使用以下站点进行多地ping。
-
http://ping.chinaz.com/
-
https://ping.aizhan.com/
-
http://www.webkaka.com/Ping.aspx
-
https://www.host-tracker.com/v3/check/
nslookup -qt=A zone.huoxian.cn 8.8.8.8
如果返回域名解析对应多个 IP 地址多半是使用了 CDN
03 IP反查域名
查看是否存在大量不相关的IP
-
https://securitytrails.com/
-
https://dns.aizhan.com/
-
https://x.threatbook.cn
反查域名发现很多,大概率是cdn
04 观察header
-
观察请求响应的返回数据的头部,是否有 CDN 服务商标识
-
若 asp 或者 asp.net 网站返回头的 server 不是 IIS、而是 Nginx,则多半使用了nginx反向代理到 CDN
05 在线监测工具
-
https://www.cdnplanet.com/tools/cdnfinder/
-
https://tools.ipip.net/cdn.php
-
https://whatsmycdn.com/
06 浏览器插件![绕过CDN之再总结 绕过CDN之再总结]()
0x02 寻找真实IP
01 网络空间测绘引擎
寻找网站特征指纹然后利用空间测绘引擎搜索历史扫描结果
-
fofa
-
shodan
-
quake
-
Censys.io
可搜索的点
- 响应头的CSP中定义允许跨域资源加载的白名单地址
- Set-Cookie中定义Cookie适用的可用域范围
- Set-Cookie的特殊标记
- Server自定义业务名称
- 自定义的ICON图标(mmh3 hash)
- ICP备案号- 在线的运营工具(百度统计、53客服、扫描登录等)
- 百度统计的hash- 美洽客服
02 二级域名法
由于部分CDN价格昂贵,所以一些重要的站点会使用CDN加速,而一些子域名则没有使用,且极有可能和主站在同一C段,这时候,就可以通过发现目标的子域名,从而根据IP来定位主域名的IP地址。
子域名参照子域名收集
03 邮箱
一句话就是找到能让对方邮箱服务器给你发邮件的点,然后查看邮件源码,可以拿到目标邮件服务器的真实IP
-
RSS 订阅
-
邮箱注册、激活处
-
邮箱找回密码处
-
产品更新的邮件推送
-
某业务执行后发送的邮件通知
-
员工邮箱、邮件管理平台等入口处的忘记密码
这里还有一个奇淫技巧
,通过发送邮件给一个不存在的邮箱地址,比如 [email protected] ,因为该用户不存在,所以发送将失败,并且还会收到一个包含发送该电子邮件给你的服务器的真实 IP 通知。
04 海外ping
由于国内厂家可能只针对国内使用cdn,对海外没有铺设,导致通过通过海外的IP可以直接获取到真实IP。
可以使用:
-
http://ping.chinaz.com/
-
https://asm.ca.com/zh_cn/ping.php
-
http://host-tracker.com/
-
http://www.webpagetest.org/
-
https://dnscheck.pingdom.com/
05 DNS历史解析记录
-
https://dnsdb.io/zh-cn/
-
https://securitytrails.com/
-
https://x.threatbook.cn/
-
http://toolbar.netcraft.com/site_report?url=
-
https://viewdns.info/iphistory/?domain=
06 SSL证书
在线查询
查询网址
https://search.censys.io/certificates?q=
查询语法
parsed.names.raw: "baidu.cn" and tags.raw: trusted
# 测试过程中,很容易陷入思维误区,认为 有效 的证书才是我们需要的,但其实并不一定,很多服务器配置错误依然保留的是 无效 的证书
parsed.names.raw: "baidu.cn"
关联更多的域名与ip
查询证书的详情
-
https://crt.sh/
输入值sha-1或者sha-256
命令行查询
-
openssl
-
openssl s_client -connect www.tesla.com:443 | grep subject
-
curl
curl -v https://www.tesla.com:443 | grep 'subject'
07 敏感文件泄露
-
服务器日志文件
-
探针文件,例如 phpinfo
-
网站备份压缩文件
-
.DS_Store
-
.hg
-
.git
-
SVN
-
Web.xml
08 历史域名
很多网站在发展的过程中,会更换域名,比如京东以前的域名是 360buy.com ,后来斥巨资购买了 jd.com 。
网站在更换新域名时,如果将 CDN 部署到新的域名上,而之前的域名由于没过期,可能未使用 CDN,因此可以直接获得服务器 IP,所以,历史域名也是一个很重要的点。
09 WordPress通过 XML-RPC PINGBACK 通信
XML-RPC 是支持 WordPress 与其他系统之间通信的规范,它通过使用 HTTP 作为传输机制和 XML 作为编码机制来标准化这些通信过程。
在 WordPress 的早期版本中,默认情况下已关闭 XML-RPC,但是从3.5版本开始,默认情况下开启。
XML-RPC 支持 trackback 和 pingback。
虽然 WordPress 启用了 REST API 来代替 XML-RPC ,不过 XML-RPX 不会过时的,放心大胆的使用就好,虽然 XML-RPC 这个技术很老了,但依然可以通杀很多网站。
POST /xmlrpc.php HTTP/1.1
Host: domain.com
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 323
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>http://2vbis4.dnslog.cn</string></value>
</param>
<param>
<value><string>https://domain.com/</string></value>
</param>
</params>
</methodCall>
10 APP
目标若存在APP,则APP可能通过IP直接与服务端进行通信,若最新版采用域名通信,也可尝试寻找历史版本进行分析。
11 漏洞
-
如果目标网站本身存在漏洞的话,比如 SSRF、XXE、XSS、文件上传、命令执行等漏洞,或者我们找到的其他突破口,注入我们自己的带外服务器地址,然后在服务器上检查 HTTP 日志记录。
-
应用本身的错误会造成当传递一些错误的参数值或者错误的地址时,内部会抛出异常,也就是日常所说的报错,关注报错点,经常会泄露一些真实的 IP 地址或者内网 IP 段。
12 host碰撞
当我们收集到大量IP资产,明明开了WEB端口,但直接请求通常会是 4XX 5XX,究其原因,大部分是因为中间件对直接IP访问进行了限制,必须使用域名访问。这些资产大部分是内部员工使用的系统,使用外网IP,但是绑定的域名是内部域名,外网DNS服务器无法解析,必须本地hosts文件写入绑定关系,才可正常使用内部域名访问。
首先利用收集到的域名和ip进行碰撞
https://github.com/fofapro/Hosts_scan
然后进行目录扫描
ffuf -w /path/to/wordlist -u https://target/FUZZ
ffuf -w /path/to/vhost/wordlist -u https://target -H "Host: FUZZ" -fs 4242
ffuf -w /path/to/wordlist -u https://target/FUZZ -maxtime 60
13 通过域名备案信息广域探测(成功率高)
-
针对目标域名,目标二级域名,如果都做了 CDN 的情况下,是不是就思路中断了呢?
-
肯定不是。这里分享一个很少有人去关注的独门秘技。
-
网站需要服务器,但是再土豪的公司,也不可能一个域名一台服务器,大多数情况下,都是多个域名业务,共用一台服务器。
-
那么如果目标网站存在备案,可以查询其备案信息,收集该单位或者个人备案的其他网站域名以及其他子域,然后再进行一轮广域的探测,很有可能其中的某个边缘子域,没有做 CDN,就直接暴露了真实服务器的 IP 地址,然后再进一步验证该 IP 是否也是目标网站的真实 IP 。
14 找到真实IP之后如何使用
-
通过修改 hosts 文件,将域名和 IP 绑定。
-
如使用 burpsuite 测试,可以在 Project options ----> Connections ----> Hostname Resolution 中增加域名和 IP 记录。
原文始发于微信公众号(狐狸说安全):绕过CDN之再总结
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论