利用DNS劫持的远程命令执行 以winrar为例
前言
当我们拿到DNS服务器权限的时候,常常苦于没有姿势扩大战果。这时可以通过DNS劫持实现很多软件的的RCE。
漏洞成因
以WinRAR为例,当程序运行时会自动打开注册页面/广告,其本质是嵌套了IE的网站访问。当拿到访问使用的域名后,通过DNS劫持,可以将网站重定向到我们指定的页面上,这种页面可以是恶意的。进而达到RCE的目的。
一个被劫持的DNS搭建
在一个完整的域名解析过程中,我们可以想要获取目标网站的ip,除了在本机中的查找操作有时还需要DNS的参与,但是只要经过第三方的参与,那么网络就不属于我们可控制的范围。即可能产生DNS挟持,具体体现在我们获取到的ip并不是我们想要的ip,从而打开的并不是我们的目标网站。
因此,想到达到一个被劫持DNS的效果,只需要往正常的DNS中加几条记录就可以。
下面是用WindowsServer2016搭建DNS服务器
在角色中添加DNS服务器
在右上工具中打开DNS配置工具
添加一个正向查找区域(劫持的区域)并设置记录
配置DNS转发
可以看到,该域名已经被劫持到了我们自己的服务器上
Payload部署
装个宝塔面板
网站环境来一套
建一个站
Payload(打开计算器)
<html> <script type="text/javascript"> function win_run() { var cmd = new ActiveXObject("WScript.Shell"); cmd.run("calc"); } </script> </html>