首页 > 其他分享 >浅析DNS Rebinding

浅析DNS Rebinding

时间:2023-04-13 09:36:49浏览次数:73  
标签:rbndr 7f000001 Rebinding c0a8200a us DNS 服务器 浅析

0x01 攻击简介

DNS Rebinding也叫做DNS重绑定攻击或者DNS重定向攻击。在这种攻击中,恶意网页会导致访问者运行客户端脚本,攻击网络上其他地方的计算机。

在介绍DNS Rebinding攻击机制之前我们先了解一下Web同源策略,

Web同源策略

同源策略(英语:Same-origin policy)是指在Web浏览器中,允许某个网页脚本访问另一个网页的数据,但前提是这两个网页必须有相同的URL、主机名和端口号,一旦两个网站满足上述条件,这两个网站就被认定为具有相同来源。此策略可防止某个网页上的恶意脚本通过该页面的文档对象模型访问另一网页上的敏感数据,比如XSS,XXE,SSRF等基于网页上的恶意脚本攻击。

同源的定义:如果两个 URL 的 协议、域名、端口都相同的话,则这两个 URL 是同源。

同源策略对Web应用程序具有特殊意义,因为Web应用程序广泛依赖于HTTP cookie来维持用户会话(session),所以必须将不相关网站严格分隔,以防止丢失数据泄露。

值得注意的是同源策略仅适用于脚本,这意味着某网站可以通过相应的HTML标签访问不同来源网站上的图像、CSS和动态加载 脚本等资源。而跨站请求伪造(CSRF)就是利用同源策略不适用于HTML标签的缺陷。

所以从理论上来讲,同源策略是能够有效的保证:客户端脚本只能访问为脚本提供服务的同一主机上的内容。

至此如何绕过Web同源策略也成了众多hacker研究的地方。

0x02 攻击原理:

这里说一下利用的TTL是什么:

TTL是英语Time-To-Live的简称,意思为一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。

即TTL的数值越小,修改记录后所受的影响生效越快。

这里我们可以来构造一个DNS 重绑定的案例:

例如,要在192.168.32.10和127.0.0.1之间切换,我们可以将他们编码为dwords,使用rbndr工具:

7f000001.c0a8200a.rbndr.us

接下来,我们测试一下:

# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 192.168.32.10
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 192.168.32.10
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1                                                   

由此就达到了一个DNS 重绑定的效果。

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

0x03 攻击机制

攻击者无法控制名称服务器的载体,所有解析主机名(或 IP 地址,仍然是有效主机名)的请求都被重定向到由攻击者控制和操作的备用名称服务器。例如,如果我们有一个网址为 www.example-a.com 的网站,并且我们想要访问私有内部域邮件服务器或只能通过该特定私有 IP 地址访问的其他服务,则可以使用 DNS 重新绑定攻击来伪造这些地址之一。

image-20230404221756020

0x04 攻击示例

  1. 攻击者注册一个域名,例如 IP 地址为 1.3.5.7 的 www.evil.com,将其委托给自己的 DNS 服务器(1.3.5.4),并使用钓鱼链接或电子邮件获取 HTTP 流量。

  2. DNS 服务器没有发送正常的 TTL 记录,而是发送了一个非常短的 TTL 记录(例如,1 秒),防止条目 [www.evil.com, 1.3.5.7] 的 DNS 响应被缓存在受害者的(192.168.1.10 ) 浏览器。

  3. 对手的服务器首先用包含服务器 IP 地址 (1.3.5.7) 的JavaScript 等恶意脚本响应受害者。

  4. 对手使用 XMLHttpRequest (XHR) 将 HTTP 请求或 HTTPS 请求直接发送到对手的服务器并加载响应。

  5. 恶意脚本允许对手将主机名重新绑定到防火墙后面的目标服务器的 IP 地址 (192.168.1.2)。

  6. 然后服务器响应对手的真实目标,即与受害者(192.168.1.10)同域的内部主机IP(192.168.1.2)。

  7. 由于同一个名称解析为这两个 IP 地址,浏览器会将这两个 IP 地址(1.3.5.7 和 192.168.1.2)置于同一安全区域并允许信息在地址之间流动。

  8. 此外,攻击者可以通过发送多个短期IP地址来实现扫描和访问受害者本地网络(192.168.XX)中的所有内部主机。

0x05 攻击危害

DNS Rebinding可以通过让受害者的Web浏览器访问专用IP地址的机器并将结果返回给攻击者来破坏专用网络。 它也可以用于使用受害者机器发送垃圾邮件,分布式拒绝服务攻击(DDOS)或其他恶意活动,也就是我们常听说的肉机和僵尸机。

DDOS

0x04-1 通过 DNS 重新绑定攻击进行网络渗透测试:

在某些情况下,用户会被诱骗使用这些网(例如,私人电子邮件服务器)创建网络钓鱼网站。由于发送到被劫持 URL 的所有流量现在都被发送回原始服务器,因此它变得完全混乱并迫使用户安装网络钓鱼页面。 以此来达到获取用户信息或者是用户权限的作用。

网络钓鱼

0x06 将DNS Rebinding应用到实际漏洞挖掘

CVE-2022-4096

漏洞描述:1.8.2 之前的 GitHub 存储库 appsmithorg/appsmith 中的服务器端请求伪造 (SSRF)

复现链接:https://infosecwriteups.com/ssrf-via-dns-rebinding-cve-2022-4096-b7bf75928bb2

CVE-2023-26492

漏洞描述:Directus 是用于管理 SQL 数据库内容的实时 API 和应用程序仪表板。当从远程 Web 服务器导入文件(POST 到 /files/import)时,Directus 容易受到服务器端请求伪造 (SSRF) 的攻击。攻击者可以通过执行 DNS 重新绑定攻击并查看来自内部服务器的敏感数据或执行本地端口扫描来绕过安全控制。攻击者可以利用此漏洞访问高度敏感的内部服务器并窃取敏感信息。此问题已在版本 9.23.0 中修复。

CVE链接:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-26492

CVE-2022-43548

漏洞描述:由于 IsAllowedHost 检查不充分,Node.js 版本 <14.21.1、<16.18.1、<18.12.1、<19.0.1 中存在操作系统命令注入漏洞,该漏洞很容易被绕过,因为 IsIPAddress 没有正确检查 IP在发出允许重新绑定攻击的 DBS 请求之前地址无效。https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32212 中针对此问题的修复不完整,这个新的 CVE 是为了完成修复。

CVE链接:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-43548

针对CVE-2022-43548CVE-2023-26492后续会有完整的复现过程文章,期待一下~

更多靶场实验练习、网安学习资料,请点击这里>>

 

标签:rbndr,7f000001,Rebinding,c0a8200a,us,DNS,服务器,浅析
From: https://www.cnblogs.com/hetianlab/p/17312202.html

相关文章

  • 域名DNS解析不及时变更?网安大队请你去喝茶
    今天早上的时候被一个电话打醒,是当地网安大队找我,顿时心里一惊,说我网站访问有一个叫什么的教育培训网站,问这个网站和我什么关系,我一脸懵,后面让我去一下网安大队。事情是这样的,之前在阿里云租了几年的服务器,起初是打算上线自己项目,但种种事情耽误了进度,服务器闲置一段时间后于今年......
  • 浅析pcba测试
      说起PCB大家都很熟悉,那大家知道什么是PCBA吗?它是指将PCB板进行加工,支撑一个成品线路板。而PCBA测试就是对线路板进行一个功能测试、电路测试。那么为什么一定要对PAB板进行检测呢?它有什么重要性?安徽英特丽小编带大家分析一下 PCBA加工的过程十分复杂,其中包括PCB板制作、......
  • 浅析云原生时代的服务架构演进
    摘要:相比于传统的微服务架构,云原生和serverless技术更加灵活、高效,能够更好地满足用户的需求。本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。随着云原生的概念越来越火,服务的架构应该如何发展和演进,成为很多程序员关心的话题。......
  • 浅析云原生时代的服务架构演进
    摘要:相比于传统的微服务架构,云原生和serverless技术更加灵活、高效,能够更好地满足用户的需求。本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。随着云原生的概念越来越火,服务的架构应该如何发展和演进,成为很多程序员关心的话题......
  • 自定义 DNS 服务
    如果你在使用Deployment运行CoreDNS,则该Deployment通常会向外暴露为一个具有静态IP地址Kubernetes服务。kubelet使用--cluster-dns=<DNS服务IP>标志将DNS解析器的信息传递给每个容器。DNS名称也需要域名。你可在kubelet中使用--cluster-domain=<默认本地......
  • Pod 的 DNS 策略
    Pod的DNS策略DNS策略可以逐个Pod来设定。目前Kubernetes支持以下特定Pod的DNS策略。这些策略可以在Pod规约中的dnsPolicy字段设置:"Default":Pod从运行所在的节点继承名称解析配置。参考相关讨论获取更多信息。"ClusterFirst":与配置的集群域后缀不匹配......
  • DNS的子域委派
    父域和子域不分家同文件的情况配置主服务器上的区域数据库文件vim/var/named/hxg.com.zone$TTL1D@INSOAmasteradmin(512H10M1W1D)#要修改序列号,将50改为51NSmasterNSslave #增加从节点masterA192.168.3.102slaveA......
  • DNS的转发服务器
    注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行全局转发:对非本机所负责解析区域的请求,全转发给指定的服务器Options{forwardfirst|only;forwarders{ip;};};特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高zone"ZONE_NAME"IN{typeforw......
  • 实现智能CDN 的DNS服务
    注意acl规则一定是在options前面的有了view,就不能再单独使用zone修改主配置文件vim/etc/named.conf#acl规则一定是在options前面的aclbeijinacl{ 192.168.3.0/24; #根据ip地址不同,分成不同的规则};aclshanghaiacl{ 192.168.2.0/24;};aclotheracl{ any......
  • 实现正向解析的DNS服务器
    配置修改区域配置文件$vim/etc/named.rfc1912.zoneszone"hxg.com"IN{#添加域名对应的数据库文件 typemaster;file"hxg.com.zone";};新建数据库文件$touch/var/named/hxg.com.zone$chgrpnamed/var/named/......