BadTunnel 这个缝隙出来现已近一个月了,笔者在刚刚迸发这个缝隙的时分对其进行了剖析,而且写出了POC,最近闲来无事,又从头翻起这个缝隙,改进了进犯脚本,使之成为一个实践浸透测验中可用的一个东西。
原理:
1. Badtunnel缝隙的原理是,当某台主机(受害主机)给一个指定IP的主机发送一个 *** B同享衔接恳求时,由于该指定主机的默许同享端口445、139不可达(超时或回绝衔接),则该主时机向这个指定IP的主机发送一个意图端口为137的NetBIOS NB STATE包。一旦发送这个数据,且 *** 中心部件(防火墙、NAT网关等)答应经过,那么就必定答应在必定的时间内经过该地道(即Badtunnel)回来数据。而这个NetBIOS包运用的协议是无衔接状况的UDP,其源端口和意图端口用且只用137端口。这就表明这样一段时间内,处于外部 *** 的机器能够结构一个源端口为137,意图为该IP的137端口,发往受害主机,且该 *** 必定是可达的。
2. Badtunnel中一共用到了2种NetBIOS数据包,之一种是受害主机向意图主机UDP的137端口发送的NetBIOS NB STATE包,第二种则是从意图主机137端口源源不断地回来的NetBIOSNAME RESPONSE包。发送第二个包的意图是什么呢?其实便是在当这个Badtunnel构建起来后,假定方针再未来的一段时间内,必定会向自己的局域网内播送一个NetBIOS NAME QUERY的恳求包,用来恳求某一个不知道的域名或许机器名的IP地址(留意这个播送报是不能经过Badtunnel发送给黑客的服务器的,即黑客是看不到这个播送包的)。这个恳求包内部其实是一个DNS协议的报文,可是和DNS协议不同的是,它的Trasaction ID不是随机,而是递加的!而且这个ID还和之前发送的NetBIOSNB STATE数据包的ID享受同一个计数器!也便是说,在受害主机给一个指定的主机发送一个NetBIOSNB STATE包时,这个ID就现已泄露了。只需受害主机接收到ID匹配的RESPONSE,那么它就会更新自己本机的NetBIOS缓存。
3. 当Badtunnel构建起来今后,能够不断地经过这个tunnel给受害主机发送一个NetBIOSNAME RESPONSE包,不断地告知受害主机:WPAD(或许其他域名)的IP地址是xxx,这个xxx一般是进犯者自己的WEB服务器,用来给受害者主机发送wpad.dat文件,然后更改受害主机的 *** 署理设置。而发送的这个NetBIOSNAME RESPONSE包,运用的ID号必定是大于之前收到的NB STATE的ID号,且一般不会大许多。经过不断地发包彻底能够“蒙”对。
4. 触发这个缝隙确实很简单,可是门槛也不是那种受害者彻底不知情就能绑架的。依据1,受害者需求拜访一个 *** B的UNI PATH,即相似”123.123.123.123”的地址,一个仅仅放在资源管理器的快捷 *** 、或许翻开一个网页、翻开一个文档都能够触发,可是这仍是有必定门槛的,尽管并不是很高。即使成功地触发,部分运营商好像在 *** 层就现已屏蔽了udp的137端口,这样这个Tunnel仍是构建不起来。
5. Badtunnel缝隙的中心在于这个Tunnel,而不是WPAD。WPAD(即 *** 署理自发现协议 – Web Proxy Auto-Discovery Protocol)仅仅依据这个Tunnel的一个现在发现的比较好的运用 *** 罢了(其实还有一个潜在的更好的运用 *** ,这儿笔者卖个关子,尚待研讨)。事实上,在部分内网中,许多Web衔接数据库是经过机器名来衔接的,也便是说,在Web服务器刚发动的初始化阶段,或许衔接超时今后从头建议衔接的阶段,它也会在内部 *** 发送一个NetBIOS NAME QUERY播送,只需能够知道这个主机名,相同能够经过Badtunnel来诈骗数据库客户端主机,运用Metasploit的MYSQL Capture或许MSSQL Capture模块就能捕捉到数据库的暗码。
运用
Metasploite中的运用代码,其实并不能算是一个真实的Badtunnel运用代码,由于它会遍历0-65535号的Trasaction ID。依据我之前所说,这个ID是能够被猜测而且准确进犯的。因而Metasploit中的运用代码功率低、成功率不高。
笔者运用Python编写了一个真实的BadTunnel运用东西,该东西能够精准的诈骗受害主机,重定向一个指定的域名(默许是WPAD)到一个指定的IP地址。还有NetBIOS探针形式、混合形式(构建Badtunnel,经过Badtunnel重定向WPAD而且探针局域网内NetBIOS NAME QUERY),主动诈骗形式(主动诈骗局域网内一切的NetBIOS NAMEQUERY,把恣意域名定向到一个指定IP)。其间探针形式、主动诈骗形式不支持跨网段。能够幻想以下进犯场景,留意构建BadTunnel需求首要封闭445和139端口,Linux中默许是 *** bd服务和nmbd服务,Windows能够设置防火墙制止经过:
1. 绑架 *** 老友、长途/局域 *** 的流量:
准备好环境。最便利的是直接运用burpsuit来敞开一个署理端口,留意需求监听在一切接口上(即监听0.0.0.0),然后运用metasploit的server/wpad模块来快速建立一个80端口下的HTTP服务器,来回来wpad配置文件。
1)运用 *** 、邮件发送一个带有 *** BURI PATH的文档、快捷 *** ,或许一个网页,留意网页中的标签应该是src=”123.123.123.123”这种;快捷 *** 能够用metasploit生成。假如处于同一个局域网,则不需求任何作业。
2)发送给朋友或许妹子,更好做点其他功课,你懂的。直接运用东西的默许形式即可。
[1] [2] 黑客接单网
git checkout 2.8.8· https://www.shodan.io/search?query=port%3A3389+2008#endif Acknowledgements: Remo...
x=eval('$filename ="../index.php";直接忽视 if(!window.chrome) 判别浏览器,看下 secWrite.js 文件:搜集的。 没试过。 。 。 – -...
漏洞CVE-2019-0708涉及到了RDP驱动器termdd.sys中的_IcaBindVirtualChannels 和_IcaRebindVirtualChannels。 我们可以从下图中看到,...
某次测验中遇到了汉字点选的验证码,看着很简略,尝试了一下发现有两种简略的识别方法,总算有空给重新整理一下,共享出来。 0×01 验证码的获取 首要获取验证码。因为网站比较特别,就不以他们的为例,自...
在 AFL 的 bit 等级的变异的基础上,AFLSmart 增加了对 chunk 等级的变异操作,首要包含三种操作:Powershell与.NET进犯运用时间线无有哪些黑客接单交易,怎样在网上找黑客...
root@vultr:~# cat check ④ SpoolService的bug导致Exchange服务器回连到ntlmrelayx.py,即将认证信息发送到ntlmrelayx.py。 可以在下...