栏目导航: 首页 > 检测提权 > 提权渗透 > 内容

实战:通过DNS协议绕过防火墙

www.hx99.net    时间: 2016-10-18    阅读: 次     整理: 华西安全网

 测试环境

**0x01环境准备**

或者通过docker安装

安装完成之后,可能在docker images 看到这个镜像没有名字,我们修改一下 docker tag IMAGEID mpercival/dnscat2

**0x02利用过程**

server端

自动草稿

可以通过两种方式设置C&C地址,如果没有域名的话,直接在外网VPS运行ruby ./dnscat2.rb 有域名的童鞋,先设置好NS服务器将NS记录修改为当前的机器。然后通过ruby ./dnscat2.rb yourdomain 我这里使用的IP地址

client端

将dnscat2文件夹下面的client编译好成exe,然后上传到client端

自动草稿
由于在新版本的dnscat2是加密的所以我们在客户端执行的时候要加上秘钥,不然无法正确的建立连接
自动草稿
获取shell

自动草稿
这样就成功获取了一个shell,我们可以通过数据包看一下
自动草稿
数据都是通过DNS发出去的,并且是加密过的,因为在最初的dnscat2的版本中,数据只是简单的hex编码。到最新版的默认就已经加密
t6
通过Salsa20加密算法进行了加密,如果不知道秘钥,就几乎不能解密数据包了。除了普通的反弹shell和上传下载文件功能,还有一个比较有用的功能
可以通过dnscat2实现DNS隧道,然后进行内网渗透。在成功获取一个session之后执行

t7
然后直接ssh本地的ip的4444端口
t8
注意的是我用的docker环境,所以是直接ssh的docker的ip

编译好的client端

dnscat2.zip

**0x03参考**
https://github.com/iagox86/dnscat2
https://zeltser.com/c2-dns-tunneling/

【via@Tomato

本文来源:华西安全网[http://www.hx99.net]
发表评论】【告诉QQ好友】【错误报告】【加入收藏】【关闭