关于DNSStager
DNSStager是一个基于Python开发的开源项目,可以帮助广大研究人员使用DNS来隐藏和传输Payload。
DNSStager可以创建一个恶意DNS服务器,并负责处理我们域名相关的DNS请求,然后将Payload隐藏在响应中的指定记录请求中,比如说“AAAA”记录或“TXT”记录,而且DNSStager还会使用各种不同的算法来对Payload进行编码。
DNSStager能够生成基于C或Golang的自定义代理,主要负责解析一系列域名、获取Payload、解码Payload,并将其注入至内存中。
我们也可以根据自己的需要编辑DNSStager代理的代码。并使用自定义执行技术来构建代码。
DNSStager的主要目标就是帮助红队人员或渗透测试人员使用DNS作为隐蔽信道来传输Payload。
运行机制
根据你的DNS解析选项,DNSStager会对你的Payload进行分块,并将每一块以子域名响应的形式进行存储。
比如说,你选择使用IPv6选项来获取Payload,那么DNS响应将如下所示:
cloud-srv-1.test.mydnsserver.live. 300 IN AAAA 5648:31d2:6548:8b52:6048:8b52:1848:8b52
其中的“5648:31d2:6548:8b52:6048:8b52:1848:8b52”就是Payload的一部分。
因此