atrust隧道打不开
原因是设置问题。使用电脑管家处理:手动设置DNS,
1、打开控制面板、网络连接、打开本地连接、属性
。
2、双击Internet协议(TCP/IP)、选择自动获取IP地址和使用下面的DNS服务器地址(B)、输入首选DNS服务器为114114114114,备用DNS服务器为8888、点击确定、确定。
odine可以通过一台DNS服务器制造一个IPv4数据通道,这个工具可帮助渗透测试人员用于穿越防火墙等情景。这款工具运行于 Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD和Windows,并需要一个TUN/TAP设备。同时对带宽也有一定要求。
特性:
高性能
跨平台
安全性
安装简单
以前写过这篇文章,对DNS tunnel进行了详细介绍,并附了DNS2tcp工具的使用方法,详见:[DNS tunnel(DNS隧道)技术应用工具-DNS2tcp的使用方法及原理] 。不过那个工具在windows下好像不太好用,我就又找了一个工具,叫iodine。
官方网站:http://codekryose/iodine/
官方下载地址:http://codekryose/iodine/iodine-070-windowszip
此外,在服务器及客户端都需要安装open***。下载地址:https://wwwkafancn/softs/120505html (Win7 64位测试有效)。
代理软件:ccproxy(代理服务器)
使用方法:
服务器端:
1下载open***。安装时仅选择TAP-Win32 driver即可。安装后,可以发现服务器多出一块网卡,我这里给随便设置了一个IP:1000100。
2下载iodine win32 binaries。解压后可以得到两个exe文件及一个dll。进入解压目录,输入命令:
iodined -c -f 1000100 dnsguanweiorg (这里我已经将dnsguanweiorg的NS记录设置为服务器的IP了详见上篇文章)
设置一个password,出现Listening to dns for domain dnsguanweiorg 代表已经成功!
客户端:
1下载open***。安装时仅选择TAP-Win32 driver即可。安装后,可以发现服务器多出一块网卡。
2下载iodine win32 binaries。解压后可以得到两个exe文件及一个dll。进入解压目录,输入命令:
iodine -f -P 刚才设置的密码 服务器的IP dnsguanweiorg
出现Connection setup complete, transmitting data代表已经成功!
此时,TCP over DNS已经建立成功。在客户端ping 1000100可以发现成功ping通。
如果想实现免费上网,只需在服务器端安装一个代理软件即可,这里我推荐CCproxy(https://wwwkafancn/softs/2199html)。
这时,将IE的代理服务器设置为1000100即可。下面就请免费上网吧!
下面是其他网友的补充:
用DNS隧道实现免费上网
大多数机场、酒店之类场所,当你输入一个网址比如wwwgooglecom时,会弹出一个页面要你输入帐号密码才能上网。这个时候DNS能正确解析,但是上网要付费认证。
可以通过DNS隧道来实现免费上网。具体做法是:
(1)找一个支持DNS解析的域名,现在这类免费域名很多,比如tk的、cocc的。假设该域名是
abc123tk
(2)在tk的注册机构里,设置abc123tk的NS服务器为你自己的主机(最好是Linux VPS),例如:
abc123tk IN NS nsabc123tk
nsabc123tk IN A 74818181
(3)在74818181上,以root身份运行一个Perl脚本(这个脚本来自Dan Kaminsky的OzymanDNS包):
/nomdepl -i 0000 abc123tk
上述脚本会侦听在UDP 53端口,接受DNS请求,并且只解析abc123tk域。
(4)在客户机上(要求有ssh,最好是Linux系统),运行如下命令:
ssh -ND 7070 -o ProxyCommand=/droutepl sshdnsabc123tk user@localhost
上述ssh命令,-ND 7070表示在本机打开7070的socks 5代理端口。droutepl是DNS隧道的客户端工具,同样来自于OzymanDNS包。sshdns是固定的主机名,加在域名abc123tk前面。user是你在74818181上的登录名字,@localhost是固定的,不需要改(因为隧道过去后,就是74818181本机)。
运行上述ssh命令后,会提示输入密码。输入正确密码后,就和远程主机建立了ssh连接,获取到一个SSH终端。并且,在本机打开了7070的socks 5代理端口。配置浏览器使用这个代理端口,开始享受免费冲浪吧!
DNS 隧道
有那么几天,我们在惠灵顿的海边山顶租了个屋子,一切都很舒服,但是不能上网。甚至于附近连 wifi 信号都收不到,想借用一下别人的 wifi 热点都不成。我顶着海边的狂风在院子里竖起天线,捕捉着周围微弱的信号,最终未果。然后转战屋里的有线电视。我发现和国内的有线电视一样,机顶盒是接有网线的。也就是说,物理上,存在一条链路接入了互联网。但是我插上电脑后,发现 ip 包根本发不出去。不过,好似有个 DNS 服务是可以用的。
当时也没多想,只是觉得有办法可以利用一下。不过隔天就搬走了,没有深入下去。今天回味一下,感觉的确可以利用 DNS 服务和外部建立连接。当然,一开始就需要在外界把接应的程序程序搭建好。
原理很简单,你在做 DNS 查询的时候,如果查的域名在 DNS 服务器本机的 cache 中没有,它就会去互联网上查询,最终把结果返回给你。如果你在互联网上有台定制的服务器。只要依靠 DNS 的这层约定,就可以交换数据包了。从 DNS 协议上看,你是在一次次的查询某个特定域名,并得到解析结果。但实际上,你在和外部通讯。你没有直接连到局域网外的机器,因为网关不会转发你的 IP 包出去。但局域网上的 DNS 服务器帮你做了中转。这就是 DNS Tunnel 了。
我觉得有趣,就按文章所述做了试验。
这需要一个自己的域名,一台运行在互联网上的机器可以自由安装软件。这些都有。那个假的 DNS 是由 OzymanDNS 提供的。不过今天我搜到的 OzymanDNS 网站上已经没有了下载包。好在 google 很强大,这个 2004 年编写的小 perl 程序,并不难找到。
不过我反复试验也没有成功,按文章所述的,利用 ssh 在本机上的 proxycommand 我怎么都无法通过 dnstunnel 连上主机。估计是我哪里配置的不对吧。不过接下来 google 到了更好的选择。那就是 iodine 这个小玩意。非常简单的就装好了。第一次运行发现找不到 tun 设备。看来需要手工建一个。在 linux 上可以自己来: mkdir /dev/net ; mknod /dev/net/tun c 10 200 这样即可。
windows 版麻烦一些,需要装软件。安装个 open*** 包里的 TAP driver 就行了。
然后利用 iodine 可以利用 dns tunnel 建立起虚拟网。接下来可以方便的用 ssh -D 建起 socks5 了。不过我觉得这个都是多余的。为了节约 dns tunnel 上的带宽,我直接建了个 socks5 服务器。就是用的我前段写的一篇 blog 中提到的 ssocks 。同样需要修改一下,把监听端口绑定在 10001 上。
最后,居然没遇到什么麻烦就接通了。我想我所在网络出口上的 dns 服务器肯定觉得很疼。这真是一个超级淡疼的 tunnel 方案啊。嗯,可以留作日后**的备用方案,以备不时之需。
ps 好想知道到处都有的诸如 CMCC 的 wifi 热点能不能用。下次到商业区别忘记试试看。
自愿隧道和强制隧道。
1、自愿隧道用户或客户端计算机可以通过发送***请求配置和创建一条自愿隧道。
2、强制隧道由支持***的拨号接入服务器配置和创建一条强制隧道。***指的是依靠ISP和NSP,在公用网络中建立专用的数据通信网络的技术。
***隧道通常指在PSN骨干网的***节点间或***节点与用户节点间构建的传***数据的虚拟连接。隧道是构建***不能缺少的部分,来把***数据从一个***节点公开传到另一节点。
对于构建***来说,网络隧道(Tunnelling)技术是个关键技术。网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。
扩展资料
为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。此外,建立在 TCP/UDP 之上的网络隧道技术近几年来也有了较快的发展,通过采用 TCP/UDP 协议,避免了网络运营商的过滤,使得真正能够通过公网来建立加密隧道。
根据所用协议的不同,隧道分为多种类型,类型不一样的隧道的建立与管理也不尽相同。例如,GRE、MPLS TE等是借助隧道接口进行的,而LSP则不用借助隧道接口。
-网络隧道
HTTP 代理隧道(HTTP Proxy Tunnel)是一种将普通的 HTTP 流量通过代理服务器转发的技术,通常用于加密和保护传输数据。HTTP 代理隧道可以用于访问那些在本地网络中被封锁的网站,也可以用于隐藏本地网络的 IP 地址。
当一个客户端请求通过 HTTP 代理隧道时,请求会被发送到代理服务器,代理服务器会将请求转发给目标服务器。代理服务器与目标服务器之间建立一个加密通道,数据在这个通道上被传输,以保证数据的机密性和完整性。因此,即使客户端和目标服务器之间的通信被监听或截获,攻击者也无法获得实际传输的数据内容。
HTTP 代理隧道通常使用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)协议进行加密。客户端和目标服务器之间建立的加密通道称为 SSL/TLS 隧道。在 SSL/TLS 隧道建立后,数据传输是端到端的,即使代理服务器也无法查看或修改数据。
总的来说,HTTP 代理隧道是一种可靠的保护数据传输的方法,适用于需要保护数据机密性和完整性的网络应用程序。目前,巨量HTTP平台提供稳定的隧道**,注册即可免费试用。
hw马上就开始了,突然心血来潮想做DNS Beacon上线的实验,万一hw碰上了不至于两眼黑,最起码能扯扯淡
随着目前攻击者越来越多地利用DNS通道来建立隧道与C2通信。从本地计算机到Internet的任何通信(不包括基于静态IP的通信)都依赖于DNS服务,限制DNS通信可能会导致合法远程服务的断开,因此,企业防火墙通常配置为允许UDP端口53(由DNS使用)上的所有数据包。
为了进一步做仿真模拟实验,在win7虚拟机上设置防火墙出网策略,只允许访问内网以及dns出网,但是因为windows防火墙的策略是阻断优先于放行,导致一直没有配置好环境,最终通过将阻断策略分为两条得以解决:
主机记录可以将DNS中的域名称对应到IPv4地址。
PTR可以定义某个对应的域名。
CNAME记录可以将注册的不同域名都转到一个域名记录上,由这个域名记录统一解析管理,与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址。
NS记录用来指定该域名是由哪个DNS服务器来进行解析的,可以把一个域名的不同二级域名分别指向到不同的DNS系统来解析。
TXT记录一般是为某条记录设置说明,比如你新建了一条acom的TXT记录,TXT记录内容"this is a test TXT record",然后用nslookup -qt=txt acom ,你就能看到"this is a test TXT record"的字样了。
DNS协议解析过程分为两种,迭代查询和递归查询。
本机查询本地域名服务器,这部分属于递归查询。
本地域名服务器查询根域名服务器,这部分属于迭代查询。
DNS隧道是隐蔽信道的一种,通过将其他协议封装在DNS协议中进行通信。封装由客户端完成,将DNS流量还原成正常的流量由服务器完成。DNS隧道攻击利用了防火墙放行DNS的特点以及协议解析流程来实现的。
1)直连型DNS隧道:
2)域名型DNS隧道(中继):
DNS隧道建立的过程:
DNS Beacon原理:
发送端将隐蔽数据信息切分并且编码后封装到DNS报文域名中进行传输,每一级域名长度为63,域名总长度不超过253,接收端收到DNS报文后提取域名中的隐蔽信息字段进行解码重组还原得到IP报文。主要的工具有DNSCat,Iodine等
首先配置域名的记录。将自己的域名 wwwhackercom 解析到VPS服务器地址。然后创建NS记录,将 ns1hackercom 指向 wwwhackercom :
然后使用ping命令配合tcpdump观察一下是否有流量经过:
CS开启DNS Beacon监听:
生成DNS木马,只要木马在目标主机执行成功,我们的CobaltStrike就能接收到反弹的shell。但是默认情况下,主机信息是黑色的,我们需要执行以下命令,让目标主机信息显示出来:
『DNS隧道工具之渗透神器』— cobalt strike
DNS 隧道通信特征与检测
墨云 I 技术课堂-DNS隧道攻击与防御
工具的使用 | CobaltStrike中DNS Beacon的使用
0条评论