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

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

原创
作者头像
hermanzeng
发布2021-12-14 12:38:56
5.9K3
发布2021-12-14 12:38:56
举报
文章被收录于专栏: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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、场景解释
  • 二、实现原理
  • 三、其他场景探讨   
    • 四、总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档