前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >DNS在远程调用执行中的应用

DNS在远程调用执行中的应用

原创
作者头像
hermanzeng
发布于 2021-12-14 04:38:56
发布于 2021-12-14 04:38:56
6K3
举报
文章被收录于专栏:herman的专栏herman的专栏

纯属蹭log4j2热度文,和安全没有直接的关系,本文只谈DNS以及日志应用; 通过dnslog.cn的截图,分析dnslog.cn的原理,基于此,介绍了可以获取更多信息的ceye的功能;在应用场景上,我们通过该原理提供了用户出口IP同本地DNS递归出口IP的对应关系,延伸出了排障场景和数据分析场景。

一、场景解释

图一:白帽子同学测试icloud.com log4j2
图一:白帽子同学测试icloud.com log4j2

    简单解释下这个图,上半部分是dnslog.cn的图,生成了一个随机域名5test0s.dnslog.cn,并会在该页面打印出请求该域名的IP信息,这里的IP Address一般是服务器本身配置的DNS的外网出口IP,证明的是下部分的命令成功的在icloud.com登录功能所在的服务器成功执行,这个是一个可以执行命令的演示,如果这里的exp是一个echo "testtest" | passwd --stdin root,则有概率修改机器的root密码,如果是一个reboot,则有概率触发机器重启;如果是一个带有远控的木马,则有概率获得肉鸡一枚。

图二:icloud登录功能服务器使用的DNS递归出口IP
图二:icloud登录功能服务器使用的DNS递归出口IP

我们将图一的IP进行查看,看到是美国的苹果公司的外网ip,该IP大概率为提供icloud.com登录功能的服务器所配置的DNS的外网IP;我们在dnslog.cn获取到唯一域名后,在自己的设备上执行,可以看到我设备本身的DNS的外网递归出口为27.40.22.150的IP地址;

图三图四:herman家里的DNS递归出口IP
图三图四:herman家里的DNS递归出口IP

二、实现原理

图五:dnslog.cn解析过程
图五:dnslog.cn解析过程

    当我们在dnslog.cn页面获取到子域名进行请求后,该子域名第一次请求必然经过dnslog.cn的权威服务器来获取RR配置,此时的第四步,Localdns和dnslog.cn的权威进行了请求交互,那么dnslog.cn的权威服务器就能知道,在什么时间,什么IP请求了什么域名,然后做日志回显即可完成该操作;(该网站提供的子域名TTL也是 190,所以在190s之内的请求就记录不了了,要等到下一个TTL周期进行请求。)

      dnslog.cn提供的随机子域名的请求打印功能,可以很快的验证远程命令是否正常执行,以便给黑白帽子做判断是否进行下一步操作;  那么基于此原理,还能做什么?

三、其他场景探讨   

    如果我们现在是某个域名权威服务器的管理员,那么我们可以知道来自该域名的所有的请求,也就是上面图中的第四步;那么当我发现某个环境具备远程命令执行但是没有回显的时候,我除了想很快的验证下外,我还想知道是在什么角色之下,执行下whoami命令,显然是OK的,并且ceye提供的子域名TTL是1s,也就是大部分的请求日志都会记录在权威;

图六:其他平台的类似功能
图六:其他平台的类似功能

   这样带来的可玩性就比较多了,不在一一列举,详情可见:http://ceye.io/payloads

图七:ceye.io payloads实例
图七:ceye.io payloads实例

     那么,还有吗?我们知道,通过域名解析示意图的第四步的必然发生,我们可以在权威DNS上,看到递归DNS和权威的交互,从而获取到递归出口IP和请求的域名,那如果通过http请求获取到用户的实际外网IP,我们就形成了用户外网IP,用户递归出口IP的对应关系。华佗上IP相关的功能即是如此,https://ping.huatuo.qq.com/

图八:华佗页面
图八:华佗页面
图九:获取外网IP以及Localdns原理示例
图九:获取外网IP以及Localdns原理示例

     该方案无论是通过产品预先埋点或用户触发,只需要访问一个http请求的时间,服务器端就可以拿到信息,有利于快速定位用户访问异常并进行针对性的解决。实现成本相对低廉,仅需一个权威服务器和http服务器即可完成;且只要可以访问互联网的终端设备均可完成覆盖;该场景除了用户问题排障方便外,可以将请求封装到应用本身,同过大量的请求来分析国内用户的网络出口同DNS递归出口之间的关系,将用户DNS问题预先一步解决;

四、总结

    综上,我们通过dnslog.cn的截图,分析了dnslog.cn的原理,基于此,介绍了可以获取更多信息的ceye的功能,在场景上,我们通过该原理提供了用户出口IP同本地DNS递归出口IP的对应关系,延伸出了排障场景和数据分析场景。看了本文,有想法的同学可以联系herman,一起学习一起探讨~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
在客户端使用运营商提供的LDNS时,往往会出现运营商的LDNS有缓存+递归集群分离的现象,这种场景就无法找到用户所使用的缓存层的的LDNS集群IP,虽说缓存层会配置转发到递归层, 但是往往递归层也会有复杂的转发策略,会非常影响问题的排查,需要一定经验和案例的积累
在客户端使用运营商提供的LDNS时,往往会出现运营商的LDNS有缓存+递归集群分离的现象,这种场景就无法找到用户所使用的缓存层的的LDNS集群IP,虽说缓存层会配置转发到递归层, 但是往往递归层也会有复杂的转发策略,会非常影响问题的排查,需要一定经验和案例的积累
22点赞举报
嗯没错,权威看到的只是递归出口的外网ip。👍🏻
嗯没错,权威看到的只是递归出口的外网ip。👍🏻
回复回复点赞举报
其实基于这种找到出口递归IP,拨测起码得七八次以上,不然可能出现同样的请求落到一台缓存集群上,这样就找不到vip后面所有递归机器的ip地址的了。 有必要还得拿不同的域的随机域名进行测试,保证收集递归ip的完整性。 期待老哥继续分享
其实基于这种找到出口递归IP,拨测起码得七八次以上,不然可能出现同样的请求落到一台缓存集群上,这样就找不到vip后面所有递归机器的ip地址的了。 有必要还得拿不同的域的随机域名进行测试,保证收集递归ip的完整性。 期待老哥继续分享
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
dns解析
dns也可以认为是域名的解析,因为在实际的网络请求中,是通过ip来进行互访请求的,但是ip是四个字节的数字组成,不容易记住,能够更加方便的访问互联网,然后域名系统应运而生,但是域名并不是免费的,需要到域名注册商处进行申请注册,人们都习惯记忆域名,但机器间互相只认识 IP 地址,域名与 IP 地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,解析过程是自动进行的。域名解析(DNS)是将域名(例如 cloud.tencent.com)转换成为机器可读的 IP 地址(例如10.10.10.10)的服务。
云售后焦俊成
2020/08/26
39.8K0
dns解析
使用DNSLog进行盲打
在渗透测试当中,当我们遇到没有回显的漏洞是非常难以利用,因为我们无从得知存不存在漏洞,另外是我们无法得知漏洞执行的结果。因此,针对无回显漏洞,我们可以通过使用DNSLog来进行回显,DNSLog是一种回显机制,攻击者可以通过DNS的解析日志来读取漏洞执行的回显结果。
Baige
2022/03/29
2.6K0
使用DNSLog进行盲打
CDN系列学习文章(二)——DNS调度
本文主要介绍一下CDN调度,主要是DNS调度。介绍之前,咱们先聊聊CDN为啥要调度呢
开元
2019/06/12
6.4K0
CDN系列学习文章(二)——DNS调度
理解DNS记录以及在渗透测试中的简单应用
DNS (Domain Name System, 域名系统 ),万维网上作为域名和IP地址相互映射的一个 分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
FB客服
2018/12/26
2.3K0
DNSlog平台通用XSS
我们在测试一些网站的时候,会遇到一些网站注入是无回显的,这个时候一般就直接丢sqlmap,或者我们自己写个脚本来进行盲注,但是尝试次数太多,很有可能被ban掉ip,所以往往盲注的效率真的很低,然后某一天新的技术就产生了,也就是DNSlog注入。
天钧
2020/06/12
2.2K0
DNS应从何谈起篇一---从Facebook的故障谈起
2021年10月4日,FB例行维护做全球骨干网容量评估的操作时无意中断了网络连接,且内置审计工具触发bug未能阻止命令执行,FB的Auth DNS会在无法连接数据中心时关闭BGP广播,Auth DNS服务异常后,很多内部工具无法正常工作,工程师无法远程修复,最终造成了6小时的停机;
hermanzeng
2021/12/28
4K2
DNS应从何谈起篇一---从Facebook的故障谈起
模糊测试之攻击回显
描述:一个渗透安全工程师常常会在,某些安全测试项目中遇到,代码或者命令可以被执行,但是无任何的回显特征来判断攻击成功,
全栈工程师修炼指南
2020/10/23
3.1K0
模糊测试之攻击回显
关于DNS服务入门了解篇
DNS是用来名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有服务器端和客户端即 S/C
星哥玩云
2022/07/13
1K0
关于DNS服务入门了解篇
浅析DNS解析权重
DNS可以针对一个域名设置权重比例,按照预设的权重比例给LDNS返回不同的解析结果,继而将用户访问流量引流到不同的服务器/集群上,达到负载均衡的目的。
fango
2022/03/15
51.3K2
浅析DNS解析权重
DNS详解: A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL
DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务)。域名系统为Internet上的主机分配域名地址和IP地址。由于网络中的计算机都必须有个IP地址,来识别, 互相之间才能通信,但让我们记住一大串的IP地址来访问网站显然是不可能的,所以用户使用域名地址,而DNS系统的功能就是自动把域名地址翻译为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。 1、DNS就是域名服务器,他的任务就是确定域名的解析,比如A记录MX记录等等。 2、任何域名都至少有一个DNS,一般是2个。但为什么要2个以上呢?因为DNS可以轮回处理,这样第一个解析失败可以找第二个。这样只要有一个DNS解析正常,就不会影响域名的正常使用。 3、如何确定域名的DNS 很简单到www.internic.net/whois.html输入你要查询的域名就可以看到了。这个是国际域名管理中心。唯一的权威。只要这里能查到某个域名,就表示域名是生效的。它说你什么时候到期,就是什么时候到期。 4、有效的DNS表示当前正在起作用的DNS服务器是谁,比如查询结果是NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)就表示当前域名是由NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)负责解析。其他未显示的DNS的设置,都是无效的。 5、 DNS是可以修改的。修改以后需要24-72小时以后,全世界范围的所有DNS服务器才能刷新过来。internic的信息一般在24小时以后可以看到。另外,修改的过程,并不表示域名会停止解析,只要你在2边都做好了解析。如果生效了就是新的DNS在起作用。如果没生效。就是旧的DNS在起作用。要么生效,要么不生效。不存在2个都不起作用的时间。所以域名解析,不会中断。前提是两边都做了解析。
sunsky
2020/08/19
8.3K0
DNS记录类型分析
DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。 查看DNS更详细的解释
用户8418197
2021/12/26
3.1K0
浅尝DNS原理及其应用
网络上的所有主机,从只能手机到笔记本电脑个人PC到为大量零售网站提供内容服务的服务器,都是通过IP的形式定位找到彼此并互相通信。然而IP地址对于人类来说比较不易于记忆且复杂,所以当我们打开浏览器浏览网站时,我们不再需要通过这些冗长复杂的IP进行访问,而是通过像 example.com 这样的域名就可以连接到正确的主机位置。
Wells
2020/06/13
2.9K0
浅尝DNS原理及其应用
利用DNS协议回显数据
这个问题已经是去年提出的了,之前也看到过,在 CTF 题目环境中利用过却对原理不慎了解,在公司大佬们的帮助下成功了理解了一波原理。
信安之路
2018/08/08
2.3K0
利用DNS协议回显数据
DNS转发导致CDN调度异常
当我们需要访问www.baidu.com这个站点时,我们就会在浏览器地址栏中输入http://www.baidu.com这样一个url。实际上我们想要浏览的网页内容都存放在互联网的某台服务器上,而 DNS 的任务就是找到我们想要访问的这台服务器的 IP 地址,然后向它请求内容。 DNS 地址解析是在 HTTP 连接建立之前的一个过程。 本地 DNS 服务器得到浏览器的域名解析请求后,会采用递归查询方式或者迭代查询方式向 DNS 系统中的其他远程域名服务器提出查询要求。
mengmye
2021/07/06
6.8K1
DNS分离解析的实现方法详解
DNS的分离解析,是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。也就是内外网客户请求访问相同的域名时,能解析出不同的IP地址,实现负载均衡。
星哥玩云
2022/07/25
4.3K0
DNS分离解析的实现方法详解
DNS那些事——从浏览器输入域名开始分析DNS解析过程
  也称为DNS解析器。这种服务器是 DNS 查询的起点,它负责从根 DNS 服务器开始解析域名,一步步查询到目标域名所在的 DNS 服务器,并将解析结果返回给用户设备。递归 DNS 服务器通常由网络服务提供商(ISP)或公司网络管理员管理。
砖业洋__
2023/05/06
3.9K0
DNS那些事——从浏览器输入域名开始分析DNS解析过程
DNS原理
DNS原理 1.DNS是什么 DNS 全称:Domain Name System (域名系统) DNS其实是一个数据库,是用于 TCP/IP 程序的分布式数据库,同时也是一种重要的网络协议。DNS储存了网络中的 IP 地址与对应主机的信息,邮件路由信息和其他网络应用方面的信息,用户通过询问解决库(解决库发送询问并对DNS回应进行说明)在 DNS 上查询信息。 2.DNS作用 DNS是网络分层里的应用层协议,事实上他是为其他应用层协议工作的,就是把域名,或者说主机名转化为IP地址(同时也提供反向域名查询的功能
陈不成i
2021/07/06
1.7K0
快速搭建 DNS 服务器
前面几篇文章我们介绍了域名解析,介绍了如何通过 dig 命令洞察 DNS 解析的过程,并从 DNS 协议的层面分析了全球为什么只有13组根域名服务器,本文向大家介绍如何自己动手快速搭建一组主从架构的 DNS 服务器。
9527
2018/11/23
23.7K2
快速搭建 DNS 服务器
DNSLog的使用方法
DNS的解析是递归与迭代相结合的,这里举个例子,当我们访问网站的时候,DNS的解析过程示意图。
Baige
2022/03/21
4K0
DNSLog的使用方法
【DNS 解析】使用DNSPOD实现动态公网解析(DDNS)
注:本文用到的所有代码已开源:https://arsrna.coding.net/public/website-mainsite/ArSrNaDDNS/git/
Ar-Sr-Na
2022/05/21
10.1K0
【DNS 解析】使用DNSPOD实现动态公网解析(DDNS)
相关推荐
dns解析
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文