目标真实IP查找方法整理

给你一囗甜甜゛ 提交于 2020-02-09 22:25:41

需求提出

对应给定的目标,例如一个网站,首先获得的是目标域名,下一步就是找到域名背后的服务器ip,由于当前网站大多使用CDN(内容分发网络)对网站访问流量进行分流和一定程度的攻击防护,所以找出CDN背后的服务器真实ip就是一种“刚需”了。

查找方法

真实IP的验证:在本地修改hosts文件,将目标域名绑定到待测试IP,这样可用绕过CDN,如果访问目标域名时,返回的页面内容和绑定前一致,则说明该测试IP为真实IP。
一个传说中的方法,使用DDOS攻击目标域名,当攻击流量超过防护上限时,域名会指向真实ip,但是这种方法非合法途径,不推荐使用

1、命令行
在命令行模式下,可用命令包括:ping和nslookup
以百度域名为例:
ping命令

C:\Users\Administrator>ping www.baidu.com

正在 Ping www.a.shifen.com [180.101.49.12] 具有 32 字节的数据:
来自 180.101.49.12 的回复: 字节=32 时间=15ms TTL=52
来自 180.101.49.12 的回复: 字节=32 时间=17ms TTL=52
来自 180.101.49.12 的回复: 字节=32 时间=14ms TTL=52
来自 180.101.49.12 的回复: 字节=32 时间=15ms TTL=52

180.101.49.12 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 17ms,平均 = 15ms

命令执行输出包含的 www.a.shifen.com即为域名www.baidu.com的cdn服务器域名,得到的ip也不是百度的真实IP。

nslookup命令

C:\Users\Administrator>nslookup www.qq.com
服务器:  public-dns-a.dnspai.com
Address:  101.198.198.198

非权威应答:
名称:    public-v6.sparta.mig.tencent-cloud.net
Addresses:  240e:e1:a900:10::15
          61.151.166.139
          61.151.166.146
Aliases:  www.qq.com

python脚本

import socket

>>> socket.gethostbyname_ex('www.baidu.com') # 使用了CDN
('www.a.shifen.com', ['www.baidu.com'], ['180.101.49.12', '180.101.49.11'])
>>> socket.gethostbyname_ex('www.info123.com') # 无CDN
('www.info123.com', [], ['18.1.2.3'])

2、子域名
通常目标的主站都会使用防护,而子域名可能在考虑成本的情况下不做防护(ip隐藏),那么通过查询子域名对应的ip地址,然后扩展查询ip所在的C段地址,在C段地址中可能发现主站的真实ip。

3、发送邮件
在目标站注册过程或成为会员后,利用目标服务器向自己的邮箱发送一封电子邮件,通过查看发送方的ip地址,可能得到真实IP地址,前提是目标站使用的邮件服务器是自己的,而不是使用第三方邮件服务器。

4、订阅服务
通过订阅目标网站的服务通知,在接受到通知时,可用查看发送方地址,原理同3。

5、域名解析历史
假设以前某个时间点没有使用CDN,通过查询目标域名的dns解析历史,可能得到其真实IP,提供该历史查询的网站如微步在线dnsdbnetcraftViewdnsCDN查询IP等等。
追踪平台:SecurityTrails

6、多地ping
通过一些第三方网站的分布式多地ping域名功能,如果得到的ip唯一或者只有少数几个结果ip,则为真实ip。类似网站:站长工具just ping等。

7、搜索引擎
通过网站的title关键字或者网站的body特征,找出搜索引擎收录的有这些关键字的ip域名,有时能获取网站的真实ip。

8、zmap扫描
从 apnic 网络信息中心获取ip段,然后使用Zmap的 banner-grab 对扫描出来 80 端口(或443端口)开放的主机进行banner抓取,最后在 http-req中的Host写我们需要寻找的域名,然后确认是否有相应的服务器返回响应。

9、SSL证书
对于目标网站的SSL证书,要查找其使用的IPv4主机,只需将"SHA1 fingerprint"(签名证书的sha1值)粘贴到Censys IPv4主机搜索中,即可找到证书,使用此方法可以轻松找到配置错误的Web服务器。

10、F5 LTM解码法
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。

11、网站漏洞查找
(1)目标敏感文件泄露,例如:phpinfo探针、GitHub信息泄露等。
(2)XSS盲打,命令执行反弹shell,SSRF等。
(3)通过一定技术手段获取目标网站管理员的CDN账号,根据CDN的配置得到网站的真实IP。

12、服务器响应内容指纹
当服务器对请求做出的响应内容(响应头和响应体)具有特殊信息(指纹)时,可以利用这种独有特征在搜索引擎中进行搜索,得到与目标网站关联度很高的ip等信息。

在Censys上搜索匹配服务器标头的参数是80.http.get.headers.server,查找由CloudFlare提供服务的网站的参数如下:
80.http.get.headers.server:cloudflare

浏览网站源代码,寻找独特的代码片段。在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics,reCAPTCHA)是攻击者经常使用的方法。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!