前置知识

  1. 代理和隧道技术区别?
    代理主要是解决访问问题。
  2. 隧道技术为了解决什么?
    隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
    在数据通信被拦截的情况下利用隧道技术封装改变通信协议,进行绕过拦截CS、MSF无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等。
  3. 隧道技术前期的必备条件?
    已经获得一定的控制权,但是不能对控制的东⻄进行信息收集或执行它上面的东⻄。

常用的隧道技术有以下三种:

网络层:IPV6隧道、ICMP隧道

传输层:TCP、UDP、端口转发

应用层:SSH、HTTP/S隧道、DNS隧道


各种协议的检测

  1. TCP协议--传输层
    用瑞士军刀-netcat
    执行nc命令:nc <端口>
  2. HTTP协议--应用层
    用“curl”工具,执行curl<IP地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息
  3. ICMP协议--网络层
    用"ping"命令,执行ping <IP地址/域名>
  4. DNS协议---应用层
    检测DNS连通性常用的命令是"nslookup"和"dig"
    nslookup是Windows自带的DNS探测命令
    dig是Linux系统自带的DNS探测命令

DNS通信隧道协议的使用

在实战的时候,有些网站是有80端口,使用http服务的。虽然有漏洞,但访问不了,一访问就断断续续或直接访问不到。原因可能是对方防火墙禁止客户端IP访问或者检测到有异常。这个时候可以将http协议更换为其它协议进行尝试。其中的dns协议上线基本通杀。

云主机Teamserver配置端口53启用-udp

如果是国内的云主机平台需要配置防火墙策略,放行相关端口。

域名修改解析记录如下:

A记录-cs主机名-cs服务器ip

NS记录-ns1主机名-上个A记录地址

NS记录-ns2主机名-上个A记录地址

NS记录-ns2主机名-上个A记录地址


本次实验使用的是GODADDY域名,具体配置如下:

应用层DNS隧道配合CS上线_封装

配置DNS监听器内容如下:

ns1.f1ag.club.com
ns2.f1ag.club.com
ns3.f1ag.club.com

vps.f1ag.club.com


应用层DNS隧道配合CS上线_工具篇_02

payload的生成

应用层DNS隧道配合CS上线_工具篇_03

应用层DNS隧道配合CS上线_数据_04

应用层DNS隧道配合CS上线_封装_05

生成后执行上线后启用命令:

checkin

shell whoami

dns上线后视图中的电脑和其他协议不同,速度慢,还要执行几条命令才能行

应用层DNS隧道配合CS上线_主机名_06

应用层DNS隧道配合CS上线_应用层_07