以下内容,均为文章作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。
长白山攻防实验室拥有该文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的副本,包括版权声明等全部内容。声明长白山攻防实验室允许,不得任意修改或增减此文章内容,不得以任何方式将其用于商业目的。
SMB(ServerMessage Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。
SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。
SMB使用了NetBIOS的应用程序接口 (ApplicationProgram Interface,简称API),一般端口使用为139,445。
SMB是应用层(和表示层)协议,使用C/S架构,其工作的端口与其使用的协议有关。
0x02 NTLM hash&
Net-NTLM hash
NTLM(V1/V2)的hash是存放在安全账户管理(SAM)数据库以及域控的NTDS.dit数据库中,获取该Hash值可以直接进行Pass the Hash攻击。
Net-NTLM(V1/V2)的hash值是基于用户密码的NTLM hash计算出来的,用于网络中的认证,步骤如下:
-
客户端向服务器发送一个请求,请求中包含明文的登录用户名。服务器会提前保存登录用户名和对应的密码 hash。
-
服务器接收到请求后,生成一个 16 位的随机数 (被称为 Challenge也就是挑战码), 明文返回客户端。使用存储的登录用户密码 hash 加密 Challenge,获得 Challenge1。
-
客户端接收到 Challenge 后,使用登录用户的密码 hash 对 Challenge 加密,获得 Challenge2(这个结果被称为 response),将 response 发送给服务器。
-
服务器接收客户端加密后的 response,比较 Challenge1 和 response,如果相同,验证成功。
-
在 NTLM 认证中,NTLM 响应分为 NTLM v1,NTLM v2,NTLM session v2三种协议,不同协议使用不同格式的 Challenge 和加密算法,所以也就存在不同协议的 Net-NTLM hash,即 Net-NTLM v1 hash,Net-NTLM v2 hash。
SMB的认证可以基于NTLM协议或者kerberos协议,前者使用了hash,后者使用了ticket,是构成SMB的PtH和PtT攻击的基础。
NTLM 并没有定义它所依赖的传输层协议。NTLM 消息的传输完全依赖于使用 NTLM 的上层协议来决定,可以是SMB,也可以是TCP,亦或HTTP。
-
-
无法利用Net-NTLM哈希值来进行“哈希传递”攻击
Responder工具可以污染LLMNR和NBT-NS请求。
在目录下的Responder.conf可以配置启用的模块,开启Responder开始嗅探
然后在受害机上对目标机器进行访问共享,输入\192.168.192.157
会自动弹出认真对话框之后我们看到responder已经嗅探到了NTLMv2 hash
如果网络中的任何用户试图访问共享哪个机器没有IP或用户类型共享名称不正确,该机器将触发LLMNR请求到网络,Responder将通过说我是那台机器来回答该请求,请提供给我NTLMv2哈希并访问资源。
当机器触发LLMNR请求时,Responder响应该请求并从域中捕获用户的NTLMv2的哈希值,并且在logs目录下生成txt文件。
Hashcat是一个用来破解哈希值的工具,支持CPU/GPU散列破解,并支持多种哈希格式
当我们获取到NTLMv2的hash值后可以采用hashcat进行爆破,但是hashcat进程缓慢而且hashcat是根据字典爆破的,如果字典不够强大是不可能爆破成功的。
首先用Responder中的RunFinger.py脚本来识别主机是否关闭SMB签名,大部分机器默认关闭
reg add HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f
这里可以看到两台机器的SMB签名都是关闭状态,我们就可以对其发起NTMLv2中继攻击直接运行MultiRelay脚本进行中继。
然后修改Responder的配置文件,不让其对hash进行抓取。
然后重启启动Responder.py,进行毒化responder -I eth0,然后在机器上传递一个SMB流量即可获得shell。
MultiRelay还集成了Mimikatz,可以抓取密码,和尝试cs上线。
-
https://tttang.com/archive/1548/#toc_responder
-
https://www.jianshu.com/p/9627962db4da
原文始发于微信公众号(长白山攻防实验室):SMB中继——内网渗透
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/1076193.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论