type
status
date
slug
summary
tags
category
icon
password
😀
前言: 由于靶场非公开化,此文仅以提供学习思路,不可用于其他用途。
 

目的

让学员通过该系统的练习主要掌握:
  • Pash the hash的具体工作原理
  • 使用mimikatz获取hash凭据、以及进行PTH
 

环境

域内主机:win_one
域控制器:win_control
notion image
 

工具

  • mimikatz
 

原理

NTLM是Windows的一种认证方式(可以简单理解为密码的一种形式),其认证过程如下:
1:客户端向要访问的机器发送用户名,这个被访问的机器称为服务端。 2:服务端向客户端发送一个challenge。 3:客户收到challenge后用自己的 NTML hash对其进行加密生成response , 并将response发送给服务端 4:服务端将response、challenge、客户端的用户名一起发送给域控。 5:域控将用户名对应的hash用challenge进行加密后与response进行对比,如果一样那么认证成功。
Pass The Hash,即哈希传递简称PTH,可以在不需要明文密码的情况下,利用LM HASH和NTLM HASH(为Micosoft的认证凭据)直接远程登录。responder可以仿照用户骗取其NTLM进行认证,并将其NTLM打印到终端中,利用该NTLM可以获取对应用户的权限。
notion image
通过了解NTLM身份认证步骤我们可知,当客户端向服务端发起协商消息后,将接收到由服务端返还的challenge,客户端使用用户hash与challenge进行加密得到respond后,再将challenge,respond以及username等信息发送至服务端完成身份认证。我们不难发现,身份认证过程中计算respond所需要的只有用户的hash,整个过程中均不需要用户明文密码的参与。PTH正是借助"无需明文参与"这一身份认证特性才得以实现。
 

步骤

1.登陆域控制器Win_control,运行mimikatz

其是一个轻量级的调试工具,它可以从内存中提取明文密码、哈希值、PIN码和Kerberos票据。mimikatz还可以执行传递哈希值、传递票据或建立金票。
首先,以管理员身份运行命令行,由于mimikatz涉及到程序调试,而Windows默认赋予administrator以上用户的权限调试程序的权限,因此,使用mimikatz的前提条件是获得本地管理员权限的账户
notion image
切换到c:\x64后输入mimikatz.exe,然后输入 privilege::debug提权
notion image
 

2.输入sekurlsa::logonpasswords

工具会输出所用缓存目标用户的NTLM-hash,默认为10条,取决于注册表中Credential Caching项的值,当获得到目标的NTLM值后,就可以利用mimikatz进行PTH
notion image
 

3.登陆到域内主机Win_one,打开mimikatz

notion image
notion image
首先提权 privilege::debug,之后利用已经获得的目标用户的hash进行PTH
然后输入sekurlsa::pth /user:administrator /domain:zlg.com /ntlm:xx(上图)
notion image
notion image
 

4.尝试使用现有凭据通过smb连接域控制器的c盘:

net use \WIN-8k3utpqn76k\c$(保持域控制器打开)
notion image
一直报错
一开始以为是hostname(WIN-8k3utpqn76k)问题
在域控服务器查了一下
notion image
也没问题呀
怀疑是网络问题
win_one ping一下
notion image
也没问题
改用ip名而不是主机名(解决dns解析问题
 

5.成功连接,获得域控制器权限

notion image
 

另外

连接不上确实是dns解析问题
notion image
 

总结

掌握PTH的背景知识以及具体操作。
鸣谢:《》
玄机非域间横向移动实战_WPAD