最后发现网上说WIN10 用的是NTLMv2。。 开始已经使用NTLM2,而WIN7以下的系统默认是NTLM1,如果想使用NTLM2则需要升级和在“本地安全策略”里面的【本地策略】设置【安全选项】中的”网络安全:LAN管理器身份验证级别“,选择”仅发送NTLMv2
ntlm_theft是一款基于Python 3开发的开源工具,可以生成21种不同类型的哈希窃取文档。该工具适用于网络钓鱼攻击,可以用于支持外网SMB流量和内部网络环境之中。与基于宏的文档或利用漏洞的文档相比,这些文件类型的好处在于,所有的这些文件都是使用“预期功能”构建的。
NTLMv2 NTLMv1 和 NTLMv2 的加密因素都是 NTLM Hash,而最显著的区别就是 Challenge 和加密算法不同,共同点就是加密的原料都是 NTLM Hash。 Challage: NTLMv1 的 Challenge 有 8 位,NTLMv2 的 Challenge 为 16 位。 Net-NTLM Hash:NTLMv1 的主要加密算法是 DES,NTLMv2 的主要加密算法是 HMAC-MD5。 NTLM2 会话响应 - 用于在没有 NTLMv2 身份验证的情况下协商 NTLM2 会话安全性时,此方案会更改 LM NTLM 响应的语义。 总结 本文通过抓包分析讲解了ntlm的协商、质询、身份验证等过程,演示了从 response 里面提取 NTLMv2的 Net-NTLM hash。
现在已经有了更新的 NTLMv2 以及 Kerberos 验证体系。Windows 加密过的密码口令,我们称之为 hash. response,如果相同,验证成功 在以上流程中,登录用户的密码 hash 即 NTLM hash,response 中包含 Net-NTLM hash 在 NTLM 认证中,NTLM 响应分为 NTLM v1,NTLMv2 session v2 三种协议,不同协议使用不同格式的 Challenge 和加密算法 所以也就存在不同协议的 Net-NTLM hash,即 Net-NTLM v1 hash,Net-NTLM v2 hash NTLMv2 协议 NTLMv1 和 NTLMv2 的加密因素都是 NTLM Hash,而最显著的区别就是 Challenge 和加密算法不同: Challage: NTLMv1 的 Challenge 有8位,NTLMv2 Net-NTLM Hash:NTLMv1 的主要加密算法是 DES,NTLMv2 的主要加密算法是 HMAC-MD5。
C/R验证机制的时候统一采用NTLMv1 Hashes 、NTLMv2 Hashes 进行说明; LM / NTLM Hashes 两者之间优缺点比较: 1.LM-Hashes 缺点:安全问题密码不区分大小写 当启用NTLMv2时,NTLM响应被替换为NTLMv2响应,并且LM响应被替换为LMv2响应。 它们基本工作流程 Step1.协商:客户端向服务器发送类型1消息,确认协议版本是V1还是V2? 备注:这里是区别采用是NTLMv1与NTLMv2版本进行认证的,值得注意一下; 2.NTLMv2 C/R 描述:NTLM响应由较新的客户端发送且NTLMv2为当前使用最为广泛的协议版本; 考虑到网络认证协议有多个版本以及现有的环境下面此处以 关键字段:NTLM Message Type: NTLMSSP_AUTH (0x00000003),此处根据NTLMv2 Response字段能判断出采用v2协议: WeiyiGeek. 5.NTLM2会话响应 - 用于在没有NTLMv2身份验证的情况下协商NTLM2会话安全性时,此方案会更改LM和NTLM响应的语义。
我们把上图中 NTLMv2 的 Response 数值复制处理如下: c9ce34e95466b7e956dd63da0b17e2e801010000000000008351a367173bd601afd3469d61d432470000000002000800430041004500580001000e0045005800430041005300310032000400140063006100650078002e006c006f00630061006c000300240045005800430041005300310032002e0063006100650078002e006c006f00630061006c000500140063006100650078002e006c006f00630061006c00070008008351a367173bd601060004000200000008003000300000000000000001000000002000002cd5deecf08e9ba9b3e2e91b120999526fba9ded3b72687fcae5218d3b4301120a0010000000000000000000000000000000000009002a0048005400540050002f00650078002e006d00790068006f007300740069006e0067002e0063006f006d000000000000000000 这里就涉及了一个 NTLMv2 HASH ,具体算法如下: NTLMv2 hash = md5(unicode(hex(upper(username+domain))), ntlm) 关键函数:upper _,salt_): h_md5 = hmac.new(salt_, passwd_, hashlib.md5).hexdigest() return h_md5 从上面的过程来看,最后得到的 NTLMv2 主要是签名的获取算法,公式如下: 签名数据 NTProofStr = md5(challenge + 数据, NTLMv2 HASH) 理解上也简单,就是将第二步的 challenge 的值和服务器的数据连接起来 如果 401 认证的服务是 http 的协议,我们可以在流量包中截获相关数据包,比如 challenge 的值、NTLMv2 的返回包、用户名、域名,有了这些信息,就可以通过暴力枚举的方式破解用户的密码
三重安全检测体系 ➢ 凭证爆破模块:支持NTLMv2认证爆破,成功率提升37% ➢ 权限提升引擎:集成xp_cmdshell/OLE双路径提权 ➢ OS命令注入:支持持久化后门部署(需DBA权限) 核心功能矩阵 功能模块技术实现适用场景凭证爆破TDS协议NTLMv2认证支持弱口令检测与访问控制验证权限提升存储过程滥用检测数据库权限配置审计命令执行xp_cmdshell/OLE自动化利用横向移动攻击路径验证信息收集数据库元数据提取资产发现与配置审计 EXEC sp_configure 'show advanced options', 1 RECONFIGURE EXEC sp_configure 'xp_cmdshell', 1 技术要点: 支持NTLMv2
目录 HashCat HshCat的使用 使用Hashcat生成字典 使用Hashcat破解NTLMv2 HashCat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解 exe --stdout base.txt -r C:\Users\17250\Desktop\hashcat-4.1.0\rules\dive.rule -o test.txt 使用Hashcat破解NTLMv2
PowerUpSQL.ps1执行UNC路径注入 如果成功,我们将能在kali上捕获到运行SQL服务的账户的密码hash: responder捕获hash Responder获得的hash是Net-NTLM或者NTLMv2 将hash内容保存到hash.txt: hashcat -m 5600 hash.txt Tools/pwd.txt --force hashcat破解NTLMv2 hash 此外,也可以使用john进行爆破 : john --format=netntlmv2 hash.txt --wordlist=Tools/pwd.txt john破解NTLMv2 hash 需要注意的是PowerUpSQL每次运行都会从
*无法使用NTLMv2哈希值进行哈希传递攻击。希望扩大攻击范围的攻击者需要破解密码。利用步骤在音频文件选择界面中,无法输入例如 \10.10.x.x\test\test.wav 这样的值。 攻击者已成功获取用户的NTLMv2哈希值。
它替换启用了 NTLMv2的系统上的NTLM响应。 · LMv2响应:替换NTLMv2系统上的LM响应。 · NTLMv2会话响应:用于在没有NTLMv2身份验证的情况下协商NTLMv2会话安全性时,此方案会更改LM NTLM响应的语义。 而对于NTLMv2 Hash和NTProofStr,有如下计算公式。 (challenge + blob, NTLMv2 Hash) 如图所示,可以看到在NTLMv2 Response响应消息下的MIC字段。 + blob, NTLMv2 Hash) 通过输入相关值计算出NTLMv2 Hash、NTProofStr以及Reseonse值代码运行效果如图所示。
Protocol Response)则是进行协商 第六个包则是服务端向客户端返回的Challenge 紧接着下一个包则是服务端通过NTLM Hash对Challenge加密得到的Response,NTLMv2 Response的值 Net-NTLM Hash是不能进行PTH的,在得到上面的数据后可通过拼接,然后通过hashcat进行爆破 NTLMv2格式为: username::domain:challenge :HMAC-MD5:blob username是数据包中User name的值 domain是数据包中Host name的值 HMAC-MD5是数据包中NTProofstr的值 blob则是NTLMv2
此漏洞允许攻击者轻松地从运行Outlook的Windows设备窃取NTLMv2密码哈希。 这导致Outlook将受害者的NTLMv2密码哈希发送到攻击者的服务器。然后,攻击者可以离线破解哈希以获取密码,或直接在针对支持NTLMv2身份验证的其他系统的中继攻击中使用该哈希进行横向移动。 CVE-2023–23397是Microsoft Outlook中的一个极其严重的漏洞,允许攻击者轻松窃取NTLMv2密码哈希。 尽管威胁行为者的基础设施可能通过WebDAV请求NTLMv2身份验证,但Windows会遵守定义的Internet安全区域。 因此,在通过WebDAV交互时,它不会向外部IP地址发送任何NTLMv2哈希。
Responder将会捕捉到NTLMv2哈希。 Meterpreter Shell 这项技术的主要优势就是它不需要任何的用户交互,并且能够自动让用户与共享文件进行连接,整个过程不需要使用NTLMv2哈希进行交互。 确保使用的是NTLMv2密码(而非LanMan密码); 参考资料 1. https://github.com/CoreSecurity/impacket 2.
这些方法是: IsPath 支持 IsPathShadowCopyed 因此,可以收集域控制器计算机帐户的 NTLMv2 哈希并将其转发给证书颁发机构,以便注册 Base64 证书,该证书可用于通过 Kerberos 在实际实施攻击之前,收集机器帐户控制器的 NTLMv2 哈希可用作服务正在运行且域升级可行的验证。需要在主机上运行 SMB 侦听器才能捕获哈希。 "purple.lab" -u "pentestlab" -p "Password1234" 10.0.0.3 10.0.0.1 由于 SMB 侦听器正在主机上运行,因此域控制器计算机帐户的 NTLMv2
有可能出现的问题 Samba只支持NTLM认证,而WIN7或VISTA则采用NTLMv2认证,因此必须经过一些设置才行,具体设置如下: 开始 -> 运行 -> secpol.msc-> 本地策略-> 安全选项-> 网络安全:LAN管理器身份验证级别-> 发送 LM 和 NTLMv2 ,如果已协商,则使用NTLMv2 (会话安全 &)-> 完成设置 ?
Responder将捕获NTLMv2哈希。 除了Responder,MSF也有一个模块,可以用来捕获来自SMB客户端的挑战 – 响应密码哈希。 上传payload获取shell 本方法的主要优点是它不需要与用户有任何交互,并自动强制用户连接到共享,在这个过程中不存在NTLMv2哈希的协商过程。 9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c hash破解: john --format=netntlm hash.txt hashcat -m 5500 -a 3 hash.txt NTLMV2 5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030 hash破解: john --format=netntlmv2 hash.txt hashcat -m 5600 -a 3 hash.txt 在本次渗透中用的是NTLMV2 443.收到,搞定 总结 对于SCF文件攻击,我们也可以通过下列方法来防止这种攻击的发生: 1、使用Kerbeors认证或SMB签名; 2、禁用共享文件给未认证用户所提供的写入权限; 3、确保使用的是NTLMv2
NTLM v1响应和NTLMv2响应的区别 v2是16位的Challenge,而v1是8位的Challenge v1是将 16字节的NTLM hash空填充为21个字节,然后分成三组,每组7比特,作为 2.构建一个blob信息 3.使用16字节NTLMv2哈希作为密钥,将HMAC-MD5消息认证代码算法加密一个值(来自type 2的Challenge与Blob拼接在一起)。 上面有一个NTLMv2的Response数据,底下有包含有NTLMv2 Client Challenge,也就是客户端加密生成的Challenge值为3f8439f98404ba3c ? NTLMv2响应 - 在Windows NT Service Pack 4中引入的一种较新的响应类型。它替换启用了 NTLM版本2的系统上的NTLM响应。 NTLM2会话响应 - 用于在没有NTLMv2身份验证的情况下协商NTLM2会话安全性时,此方案会更改LM NTLM响应的语义。
他们利用这些受到攻击的路由器创建了大型的僵尸网络,以便窃取登录凭证、搜集NTLMv2认证信息,并用作恶意流量的中转站。 在调查被黑路由器的过程中,FBI发现了各种APT28发起攻击使用的多种工具和痕迹,其中包括用来窃取网络邮件凭据的Python脚本、用来搜集NTLMv2认证摘要的程序,以及自动将钓鱼流量重定向到攻击专用基础设施的定制路由规则
我们将捕获NTLMv2哈希。 ? 除了esponder之外,在MSF中也有相同的模块可用于捕获来自SMB客户端的挑战响应密码哈希。 auxiliary/server/capture/smb ? Meterpreter shell 上面的技术的主要优点是不需要任何用户交互,并自动强制用户连接到不存在的共享进行NTLMv2哈希进行协商。