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] 黑客接单网
这将在咱们的主机上放一个名为“evil”的Powershell脚本,该脚本将在运转上一图画所示指令的受害核算机上履行: 每种计划各有好坏,略微介绍一下。 了解主机操作体系信息:端口扫描能够经过操...
二、查找看看有没有邮件系统,一般的邮件系统许多都是在内部,没有经过CDN的解析,这样经过检查原始的邮件头部,能够看到实在的IP。 第三便是经过查询域名前史信息,一般的域名的前史信息,仍是能够查询到实在...
别的,创立和运用JS目标的某些形式或许会使得搜集垃圾变得困难。 假如你正在进行手动内存办理,则能够挑选适用于你正在运用的分配比例乃至能够撤销磨人的分配战略。 10月· 继Facebook之后,全球网络...
那么针对咱们这些普通人,能做到的便是不自动在微博、贴吧等渠道传达自己的手机号,以及不在来路不明的网站留下手机号了。 有多种体系或软件的弱口令遭受进犯,这儿勒索病毒最常用的是远程桌面登录弱口令。 除此外...
这一关难度增加了一点点,不过毕竟是基础训练。 这儿要用到“管道”的常识,详细请谷歌^^; 直接用: <?phpimport java.rmi.Remote;通用的指令履行缝隙防护办法通常是...
var ws = new window.WebSocket('ws://' + location.host + '/ws'); Burp Suite一枚4.瞬杀——数据暴库技能$html.= $...