[Web 安全] Web 信息收集 —— IP 信息收集

2025-04-15 0 832

🌟 想系统化学习 Web 渗透?看看这个:[Web 安全] Web 安全攻防 · 学习手册

在前面的章节中我们已经介绍了 “企业信息收集” 与 “域名信息收集”,那么下一步我们就要根据收集到的域名去获取域名对应的 IP 地址了。

0x01:IP 信息收集 — 关注点 & 意义

在 IP 信息收集阶段我们比较关注以下几个问题:

  1. IP 的归属: 即进行一波回溯,确定我们要打的 IP 属于哪个企业或者个人。

  2. 域名的解析: 即域名解析到的 IP 是哪个,本部分我们要尝试绕过 CDN 收集目标 IP。

  3. IP 的 C 段: 难道只有域名解析的 IP 才是企业的?难道每个人都有域名?不一定吧。

  4. IP 的物理位置: 进行 IP 定位,看是云服务商还是企业内部,又或者是家庭内部。

0x02:IP 的归属 — 回溯至 “域名信息收集”

这里笔者是假设,你上来就只获得了一个 IP,那么我们如何通过这一个 IP 获取更多的信息呢?进行回溯是最简单的方法,我们可以通过 IP 反向查询该 IP 层级被绑定过的域名,拿到域名后是不是就可以根据域名去查域名归属的公司啦,然后又是一套流程走下来。

好,那么问题来了,在哪可以看到这个 IP 历史绑定的域名呢(搜索 “IP 反查工具” 即可):

IP 反查域名工具:

[Web 安全] Web 信息收集 —— IP 信息收集

查到域名后的信息收集就不用我交了吧,如果没有思路重新回去看 “信息收集框架”:

传送门 🚀:Web 信息收集 —— 信息收集流程

0x03:域名解析 — 获取目标服务器 IP

0x0301:理论基础 — DNS(域名解析系统)

域名解析系统,即 DNS 用于将域名与 IP 地址相互映射,方便用户访问互联网。在上一章 “域名信息收集” 中,我们讲解了 DNS 解析记录,本章我们讲解一下 DNS 的解析流程,关于 DNS 的解析流程可以参考下图(从中可以悟出国内快速访问 GitHub 的原理,我不说你自己悟):

[Web 安全] Web 信息收集 —— IP 信息收集

上图中的几个服务器其实还有其它的别名:

  • 本地 DNS 服务器 —— Local DNS Server —— 本地域名服务器

  • 根 DNS 服务器 —— 根域名服务器

  • 顶级 DNS 服务器 —— Top Level DNS,TLD —— 顶级域名服务器

  • NameServerr 服务器 —— 授权域名服务器

下面笔者以解析 www.baidu.com 为例,介绍一下 DNS 的解析流程(照着上面那个图看):

  1. 计算机首先会检查浏览器缓存中有没有这个域名对应的 IP 地址,如果缓存有,解析过程就结束,否则进入下一步骤。

  2. 检查操作系统缓存中是否有域名对应的 DNS 解析结果,如果有,解析过程结束,否则进入下一步骤。

    • Windows 配置文件:C:\\Windows\\System32\\drivers\\etc\\hosts

    • Linux 配置文件:/etc/hosts

  3. www.baidu.com 这个域名发送给网络配置中的“DNS 服务器”地址(benedict DNS 服务器)。

    • Windows 查看配置:控制面板 => 网络和共享中心 => 更改适配器设置 => 选中目标适配器右键选择属性 => Internet协议版本4(TCP/IPv4) => 配置DNS地址。

    • Linux 配置文件:/etc/resolv.conf

  4. 如果本地 DNS 服务器仍然没有命中,就直接到根 DNS 服务器请求解析。

  5. 根 DNS 服务器返回顶级 DNS 服务器地址,比如存放 .com 域名信息的服务器地址。

  6. 本地 DNS 服务器,向 .com 顶级 DNS 服务器发送解析请求。

  7. .com 顶级 DNS 服务器返回 baidu.com 域名对应的 Name Server 域名服务器地址,比如阿里云域名服务的地址(你在该公司买的域名,该公司肯定有你域名与 IP 的对应信息)。

  8. 向阿里云 Name Server 服务器发起解析请求,请求解析 www.baidu.com,Name Server 服务器会查询存储域名和 IP 的映射关系表。

  9. Name Server 服务器,将 www.baidu.com 对应的 IP 以及相关信息返回给本地 DNS 服务器。

  10. 本地 DNS 服务器,将解析的结果返回给本地电脑,你就可以成功访问目标啦。

域名解析还涉及很多技术,可能还不止上面十步,感兴趣的同学可以自己去深度了解一下:

域名 To IP(参考文章):DNS域名详细解析过程(最全面,看这一篇就够)_dns解析-CSDN博客

0x0302:通过域名解析获取真实 IP 地址

前面介绍了 DNS 的作用,那么本节我们就采用 DNS 解析的方式来尝试获取目标真实的 IP 地址(如果对方搭建了 CDN,那么不好意思,本小节讲得都没用)。

1. Ping

Ping 命令详解:Ping命令详解(使用Ping这命令来测试网络连通)-CSDN博客

PING(Packet Internet Groper,因特网包探索器),是工作在 TCP/IP 网络协议应用层的一个协议。可以用来检测网络是否畅通。ping 命令会向指定地址发送一定长度的 ICMP 数据包,按照约定,指定网络地址若存在的话,会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在。

通过 ping + 目标域名,我们可以查看目标的真实 IP(如果对方没有使用 CDN 的话):

[Web 安全] Web 信息收集 —— IP 信息收集

拓展一下,看一下 TTL 值,不同系统返回的 TTL 值是不一样的(这个值其实也可以自定义,但是我猜很少人那么闲),通过 TTL 值我们其实可以初步判断目标服务器使用的操作系统类型:

  • Windows NT/2000:TTL 默认值为 128。

  • Windows 95/98:TTL 默认值为 32。

  • UNIX:TTL 默认值为 255。

  • Linux:TTL 默认值为 64。

  • Windows 7:TTL 默认值也为 64。

2. nslookup

Nslookup 命令详解:nslookup命令详解和实战例子(全)-CSDN博客

nslookup 主要用于查询域名系统(DNS)服务器以获取主机名或 IP 地址的相关信息。它可以帮助用户通过域名查找 IP 地址,或者通过 IP 地址查找域名。此外,nslookup 还可以用于查询不同类型的 DNS 记录,例如 MX 记录、TXT 记录等。

  • 查询域名对应的 IP:nslookup baidu.com

  • 查看指定的 DNS 记录:nslookup -type="TXT" baidu.com

[Web 安全] Web 信息收集 —— IP 信息收集

上面的 Non-authoritative 非权威应答,指的是从本地的 DNS 缓存中获取到的信息,并不是从官方的服务器查询获得的。

0x0303:理论基础 — CDN(内容分发网络)

 CDN 实现流程:https://www.zhihu.com/question/36514327/answer/1604554133

CDN 配置方法:通过配置CNAME域名实现网站加速-阿里云帮助中心

CDN(Content Delivery Network 内容分发网络),它的作用是减轻服务器的负载。让在各个不同地点的网络用户都能迅速访问到网站提供的内容。

假设有一台服务器,有很多人需要同时访问它,那么它的带宽是遭不住那么多人同时访问的,就会导致网站奔溃,或者加载速度奇慢。那么利用 CDN,它可以将网站上的一些静态资源,放在其他的服务器上,全世界各地的人访问那个网站的时候,就会访问就近的一台服务器,这样主服务器就不用被那么多人同时访问了,用户也能获得及时高效的服务。

下图是未使用 CDN 之前的状态,所有用户直接对源站发起请求,源站需要对所有用户进行响应,它一个服务器明显是顶不住这么多人访问的(了解一下 DDOS 攻击):

[Web 安全] Web 信息收集 —— IP 信息收集

如果使用了 CDN,如下图,用户每次访问就会访问离自己最近的一台服务器,该服务器可以视为源站的拷贝,这样做就变相的减轻了源站的负载:

[Web 安全] Web 信息收集 —— IP 信息收集

常见的提供 CDN 服务的厂商有以下几个:

  • 国际:CloudFlare、CloudFront ……

  • 国内:帝联、蓝讯、网宿、七牛云、腾讯、百度、阿里云 ……


上面笔者以两张图展示了 CDN 服务启用前与启用后的区别,相信聪明如你应该发现了,如果目标启用了 CDN 服务,那么我们访问的 IP 其实是一个 CDN 服务器,并不是目标真实的源站。这就是为什么会出现 ping 同一个目标可能会出现不同的 IP,或者 ping 出的 IP 无法访问的情况

那么针对上述情况,下面笔者介绍几个绕过 CDN 获取真实 IP 的方法。

0x0304:绕过 CDN 获取目标 IP 的思路

1. 判断对方是否使用了 CDN — 手测法

前面介绍了,我们在浏览器中输入的域名会通过 DNS 解析为对应的 IP 地址,然后浏览器会根据解析的 IP 地址去访问目标。所以,是不是说明,我们最终访问目标都是通过 IP 地址访问的。

此时我们结合一下 CDN 的特性,CDN 服务器它只是一个源站静态数据的拷贝,而且一个 CDN 服务器可能不只是服务于你(你就交一份钱,凭啥让那么多服务器为你所用),所以大概率我们通过 IP 直接访问 CDN 服务器其实是无法直接访问的。

所以一个简单的判断对方是否使用了 CDN 的思路就是,通过 ping 命令获取 DNS 解析的 IP,然后通过 IP 直接访问,比如 GitHub(很好奇,这么大个网站没用 CDN?):

[Web 安全] Web 信息收集 —— IP 信息收集

再来看看我们的老熟人百度(它铁用了 CDN,不过这个能直接访问我是没想到的,不要急后面还有思路让你判断对方是否使用了 CDN):

[Web 安全] Web 信息收集 —— IP 信息收集

别急,刚刚我们 Ping 的是 www.baidu.com ,这回我们 Ping baidu.com

[Web 安全] Web 信息收集 —— IP 信息收集

如上,这回就无法访问了,而且有没有发现,它解析的 IP 和上面那个 www.baidu.com 还不一样。这也是笔者之前为什么要叫你们先收集子域名,而不是通过主域名直接到 IP,因为每一个子域名其实都是可以解析到不同的 IP 地址的

2. 绕过 CDN 获取真实 IP 思路 — 超级 Ping

超级 Ping — 在线工具

超级 ping 就是用部署在全国各地的节点对目标发起访问。此方法可以探测目标是否使用了 CDN 技术,如果返回了多个 IP 则必然使用了 CDN,并且,因为是全球各地的节点,如果有一个地区离目标真实服务器很近,那么就有可能探测出目标真实的 IP。

依旧以百度举例,来看看它超级 Ping 的结果:

[Web 安全] Web 信息收集 —— IP 信息收集

3. 绕过 CDN 获取真实 IP 思路 — 国外主机解析

国外主机解析 — 在线工具

CDN 会根据地理位置找到最近的一台服务器为用户提供服务,但是如果我们使用国外的主机访问目标网站,如果又恰好,这个 CDN 只支持或者目标仅开通了国内的 CDN。那么我们就可以通过国外的主机,直接获取目标的真实 IP。

原理其实与上面讲解的超级 Ping 类似,不过是用国外的服务器而已:

[Web 安全] Web 信息收集 —— IP 信息收集

4. 绕过 CDN 获取真实 IP 思路 — 历史 DNS 解析

历史 DNS 解析 — 在线工具

有些网站并不是上线第一天就使用 CDN 的,而是当慢慢做大后,发现单个服务器无法满足负载的时候开通的 CDN 服务。那么如果我们能获得当前域名很早以前解析的 IP 地址,就有可能直接获取目标的真实 IP。

第一个工具好像还得上魔法:

[Web 安全] Web 信息收集 —— IP 信息收集

5. 绕过 CDN 获取真实 IP 思路 — 通过子域名查询

这种方法适用于目标主站使用了 CDN,但是子站并没有使用 CDN,并且,子站又恰好同主站在同一台服务器上的情况。我们就可以通过获取子域名对应的 IP,间接得到主站的 IP 地址。

具体实现可以参考上面介绍的 “手测法”,我们仅仅是换了个子域名,就可以发现,IP 不太一样了,如果我们超级 Ping 子域名发现只有一个 IP 解析,那说明了啥,几乎说明没用 CDN 且这个 IP 就是真实的 IP。

6. 绕过 CDN 获取真实 IP 思路 — 通过目标邮件服务器获取 IP

有的公司发送邮件使用的是自己的真实服务器发送的,我们通过查看邮件的原始文件,可以找到该邮件是从哪个服务器发出的,进而获取目标服务器的真实 IP。如下图所示:

[Web 安全] Web 信息收集 —— IP 信息收集

啥,你说咋查看邮件的原始文件?这里以 QQ 邮箱举例:

[Web 安全] Web 信息收集 —— IP 信息收集

7. 绕过 CDN 获取真实 IP 思路 — 其它思路

其它思路,比如查看 SSL 证书信息(有的尝试在 SSL 证书中是直接绑定的 IP 而不是域名),又比如手机 APP 抓包(你想想你自己写接口,是请求 CDN 稳还是请求自己服务器 IP 稳),又比如网络空间搜索引擎(fofacensys)等。

0x04:IP 的 C 段 — C 段信息收集的意义

0x0401:理论基础 — C 段是啥?

IP 地址的 C 段 (也称 C 类地址段)是一个网络术语,通常指 IPv4 地址中前三个字节(即前 24 位)组成的网络段, 对应的子网掩码为 255.255.255.0(CIDR 表示为 /24)。它的主要作用是标识同一局域网或同一子网中的一组连续 IP 地址。

上面的介绍看不懂?一看你小子就是计算机网络基础没打好,不过笔者比较善,就用大白话讲。假设我们 ping baidu.com 拿到的 IP 地址为:39.156.66.10

那么针对这个 IP,我们其实可以去扫描 39.156.66.1 - 254 这个 IP 范围内的机器(别问我,博主博主,为啥不扫 39.156.66.0 和 39.156.66.255 呢?因为全 0 全 1 有特殊含义啊,宝 ~)

那么扫上面那个范围就是我么俗称的扫描 C 段。

0x0402:为什么要扫 C 段 & 如何扫 C 段?

为什么要扫 C 段?在前面的讲解中,我们都是通过域名解析来获取 IP,那么问题来了,每个人都有域名嘛?你买云服务器的时候自己玩玩的时候你会专门去买个域名嘛?不一定吧。

然后对于企业而言,我一买是不是会出现 IP 连号(想想每年银行发行的纪念币,多张连号很常见)的情况。我把其中一部分 IP 和域名做绑定了,另一部分我不做绑定,我留着自己搞测试行不行?必须行啊。

那么这部分不做绑定的属不属于它们资产?必须属于啊,而且有可能是测试站点,测试站点是啥?是漏洞的天堂啊!!多的不说,自己后期实战留意一下。(另外,你别一看 C 段有其它存活的就认为这是企业的哈,你自己去访问看看,有没有企业的 Logo,没有的话这种资产其实很难认定就是它们的,你挖了,证明不了归属,留着自己玩吧。现在漏洞好像都只收有域名的了,所以你还得去反查 C 段 IP 历史绑定的域名信息,并且确定该域名能解析到该 IP 以此确定资产归属。)


如何扫 C 段?这个需要借助 IP 存活性探测工具,这种工具很多,我们后面在端口信息收集中介绍的 Nmap 就可以做,笔者现在手头没啥专业性工具,你们自己搜搜吧。

0x05:IP 的物理位置 — 社工 & 内网关键

参考资料 🚀:IP地址归属地那些事-CSDN博客

这部分我们平常挖 SRC 不太长看,但是如果你想打内网,就得留意一下了。目前常见的服务器可以分为,云厂商提供的 & 内部自建的。

云厂商提供的,就比如阿里云、腾讯云这种,我们可以去它们那边买公网服务器,然后在上面搭建服务,对于这种东西,你哪怕拿下了对方的服务器,那这服务器在哪?在阿里云上!你就没办法打内网。

另外一种,是自建的,即放在公司内部的,比如好多学校内部都有机房,不是我们上课的那种是你面放一排排架子的那种,那里就是服务器。那么假设,我们拿下了这种服务器,这种服务器又是在学校内部,我们是不是就可以用这台服务器作为跳板来进行内网渗透?

那么如何判断服务器是自建的还是公司内部的,一个很简单的方式就是通过 IP 地址去进行定位。你想嘛,如果你渗透的是 “湖北 XX 大学”,通过 IP 定位发现服务器在北京,你说这服务器是在人家内部还是外部;同样的,如果你通过 IP 定位发现服务器是在 “湖北 XX 大学” 内部,呕吼,你说这是自建的还是云的?

下面是两个比较容易搜到的在线进行 IP 定位的工具(精度不高,只是起到抛砖引玉的作用,建议读者自己收集):

获取 IP 归属信息 — 在线工具

[Web 安全] Web 信息收集 —— IP 信息收集

网上还有以地图形式展示 IP 的,这种很牛逼,你们可以拿自己家 IP 试试,看看能不能定位到你家隔壁那条街。同时也提醒一下我们学安全的,遵纪守法,《网络安全法》多看看,熟读背诵,小心叔叔请你去喝茶(好不好奇叔叔是怎么定位到你家的?你先猜着,嘿嘿)。

平台声明:以上文章转载于《CSDN》,文章全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅作参考。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_73360524/article/details/147238110

遇见资源网 前端 [Web 安全] Web 信息收集 —— IP 信息收集 http://www.ox520.com/157286.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务