今天给大家介绍的是一款名叫 DNS-Shell 的交互工具, 在该工具的帮助下, 研究人员可通过 DNS 信道来实现交互式 Shell.
DNS-Shell
DNS-Shell 是一款通过 DNS 信道实现交互式 Shell 的强大工具, 该工具的服务器端基于 Python 开发, 可在任何一种安装了 Python 环境的操作系统平台上运行, 工具所使用的 Payload 均已 PowerShell 命令进行编码, 保证了在不同平台间运行的稳定性和兼容性.
DNS-Shell 运行机制
该工具所使用的 Payload 会在服务器端脚本被调用时自动生成, Payload 会使用 nslookpu 来向服务器端查询和请求新的操作命令, 接下来服务器端会监听端口 53 并等待传入的连接. 当 Payload 在目标设备上成功执行后, 服务器端将会生成一个交互式 Shell 并提供给用户进行操作.
通信信道建立成功后, Payload 会继续向服务器查询和请求新的操作指令, 当攻击者在服务器端输入新的操作命令后, Payload 将会收到命令并执行该命令, 然后在命令执行成功后将执行结果返回给服务器端.
使用 DNS-Shell
DNS-Shell 的运行相对来说比较简单, DNS-Shell 支持两种操作模式, 即直接操作模式和递归模式:
- 使用 Git 命令将工具从 GitHub 代码库克隆到本地:
Git clone https://github.com/sensepost/DNS-Shell.git
-DNS-Shell 直接模式:
sudo python DNS-Shell.py -l -d [Server IP]
-DNS-Shell 递归模式:
sudo python DNS-Shell.py -l -r [Domain]
项目地址
DNS-Shell:[ GitHub 传送门 https://github.com/sensepost/DNS-Shell ]
来源: http://www.tuicool.com/articles/YzIjQvj