如何防御“神器”Mimikatz窃取系统密码?

Mimikatz是一款能够从Windows中获取内存,并且获取明文密码和NTLM哈希值的神器,本文将介绍如何防御这款软件获取密码。

Mimikatz介绍

Mimikatz是一款能够从Windows认证(LSASS)的进程中获取内存,并且获取明文密码和NTLM哈希值的工具,攻击者可以借此漫游内网。他们可以通过明文密码或者传递hash值来提权。可能很多人会问“难道微软就没想过怎么防御吗?”

在Google上搜索“mimikatz的防御”,你会发现搜索结果很有限。我找到的最好的一篇文章就是这篇。里面提到了很多好的建议,诸如使用最近版本的活动目录中的“受保护的用户”用户组(SID:S-1-5-21–525),或者是限制使用管理员,或者通过注册表设置不在内存中储存密码。你可以限制以系统身份运行的服务数量,或者移除调试权限,防止攻击者使用mimikatz。这篇文章和其他的那些文章都要让你安装Windows8或者8.1或者10版本。那那么多运行Windows7/2008 R2的电脑怎么办呢?对于这些版本的Windows,你一样有防御手段。

防御措施

第一步:Active Directory 2012 R2功能级别

首先你可以升级你的域或林的功能级别到2012 R2。这个级别添加了个“受保护的用户”用户组。如果你看过TechNet上对它的介绍,你可能会感觉这个用户组会防止mimikatz获取密码。实际情况是怎样的呢?

注意:对于非保护用户,mimikatz是可以获取到NTLM哈希的。

而当用户被添加到保护用户组的时候,NTLM哈希和明文密码都看不到了。

很显然,这招很管用,那Windows 7或者2008 R2上的保护用户组又是怎样的呢?

可以看到,即使加入了保护用户组,密码和哈希还是可见的。

不过这台机器没有打过补丁。实际上如果电脑不知道保护用户组意味着什么,那这个用户组也就失去了意义。幸运的是,微软已经把这个Windows8.1 和2012R2有的功能移植到旧版本的Windows上了。

第二步:安装KB2871997

如果你一直安装Windows更新的话,KB2871997应该已经装好了。这个更新会把保护用户组的功能移植到旧版的Windows中。一旦安装了这个更新,Windows2008 R2就也能防御mimikatz了。

安装KB2871997更新后没有把用户放入保护用户组就是这样的效果

而一旦加入了保护用户组,效果就跟2012 R2上的一样了

第三步:去除内存中的存储空间

这一步是可选的,因为你可能想把所有的账号放到保护用户组里面,但是实际上不行。微软反对把计算机账号和服务账号放到保护用户组里面。所以这一步是针对那些不在保护用户组里面的用户的。

在Windows 2012 R2上,无论用户有没有被添加到保护用户组,mimikatz都没有获取到过密码,而Windows2008中,如果不添加到保护用户组,mimikatz还是能够获取密码的。

密码的存储是由一个注册表设置决定的。就像保护用户组的功能一样,在新版本的Windows(8.1+ & 2012R2+)中,密码默认不会储存在内存中。这一特性也在KB2871997更新中被移植到了老版本中。但是由于兼容原因,在安装更新后,老版本仍然会默认在内存中存储密码。你只要把注册表中的“UseLogonCredential”项设置成0就好了。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest

这位用户没有被添加到保护用户组,但是注册表的值改过了,因此,Mimikatz无法获取到明文密码。

结论

总结一下,把Active Directory功能级别升级到2012 R2,及时进行Windows更新,把重要账号加入保护用户组,设置注册表值。另外,不要授予账号过多的管理权限。希望这篇文章能够帮助大家防御Mimikatz。

时间: 2024-08-25 02:51:57

如何防御“神器”Mimikatz窃取系统密码?的相关文章

关于Windows系统密码抓取

0x01 windows密码Hash 早期SMB协议在网络上传输明文口令.后来出现"LAN Manager Challenge/Response"验证机制,简称LM,它是如此简单以至很容易被破解.微软提出了WindowsNT挑战/响应验证机制,称之为NTLM.现在已经有了更新的NTLMv2以及Kerberos验证体系.Windows加密过的密码口令,我们称之为hash(中文:哈希),Windows的系统密码hash默认情况下一般由两部分组成:第一部分是LM-hash,第二部分是NTLM

通过PowerShell获取Windows系统密码Hash

当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大的收获.用什么方法才能有尽可能高的权限,同时能更有效的隐藏自己,是留webshell,留后门,种木马还是Rootkit?webshell,哪怕是一句话木马都很容易被管理员清除,放了木马,也容易被有经验的管理员查出,不管是早期自己创建进程,进程被干掉就完了,还是注入进程的木马,或者是以服务自启动的木马

Linux -- Samba-PAM模块应用-系统密码同步;用户与客户端访问控制;磁盘配额;回收站

PAM模块应用 Samba服务器3.X与PAM模块结合已非常完善,通过PAM模块的强大功能可以有效地丰富Samba服务器的各项功能. 6.4.1  系统密码同步 Samba服务器使用完全独立于系统之外的用户认证,这样的好处是可以提高安全性,但同样也带来了一些麻烦,比如修改用户密码是即要修改该用户登录系统的密码,又要修改登录Samba服务器的密码.但通过PAM模块所提供的功能可以有效实现系统用户密码与Samba服务器密码的自动同步. 使用passwd修改用户系统密码时,自动同步Samba服务器用户

破解linux系统密码

个人实践: 重新启动系统2.开机倒数时间内,敲任意键3.按字母e去编辑4.选择kernel 开头的行,再次按字母e 编辑  ,然后敲空格 输入数字1,再敲回车.进入单用户模式,破解密码.此模式绕过密码验证5.按字母键b 去引导进入系统6.直接passwd 修改root用户的密码7.输入init 5或者init 3 进入系统,或者reboot重新启动系统 其余系统参考档案:在出现系统选择界面时,在Red Hat Linux的选项上按"e"键, 然后会出现三个选项,在"kerne

mac os 系统密码正确的 但是进不了系统

今天开始重新学习C 但是一早起来开机进不了系统 密码明明正确的 无语了,后来打苹果售后电话解决了. 今天记录下如何解决的,以后万一又出现这种问题,至于原因嘛 我也不知道 有可能跟我装的双系统有关系.只是猜测 1,关闭系统 然后再重新启动系统,按option按启动,进入recovery模式下,选择常用工具,找到terminate终端 然后再输入:resetpassword 这时候会弹出界面让你修改密码,你修改好密码之后重新启动. 2,启动好后,又有许多让你输入密码的对话框弹出来,你先不理他们.这时

Windows 2008 R2的系统密码破解

Windows2008 R2的系统密码如何破解? 所需工具:Windows 2008 r2光盘一张. 步骤: ①插入光盘,从光盘启动到如下界面: ②同时按shift .F10,命令行中输入C:,并进入到system32文件夹下: ③找到OSK.exe文件并删除,用CMD.exe文件替换. ④然后,执行命令exit,退出命令提示符,关闭语言选择窗口,取出光盘,重启电脑,正常启动Windows.在登录密码界面,选择左下角"轻松访问",并勾选"不适用键盘输入(屏幕键盘)"

Linux 系统密码破解

(一)CentOS Linux 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 [email protected]#passwd root (设置root的密码) Enter new unix password:输入新的密码 [email protected]#init 6 (二)ubuntu & debian linux 系统密码破解 1.在grub选项菜单'Debian GNU/Lin

Centos7 破解系统密码

一.准备工作查看系统版本 二.破解centos7系统密码1.重启系统,按e进入编辑模式2.修改权限(将只读权限修改为可读可写权限)找到ro,修改成rw,x修改完成后,ctrl+x进行重启3.修改密码三.验证结果1.重启系统,进行验证 原文地址:http://blog.51cto.com/10746498/2113462

[工具]法国神器mimikatz 2.1.1 一键版 & PowerShell版

无需任何参数,运行EXE即可自动读取Windows系统密码 EXE版需要其它功能请使用原版 (参数已写死仅读密码) 结果保存于当前目录mz.log EXE https://github.com/k8gege/K8tools/blob/master/mz.exe https://github.com/k8gege/K8tools/blob/master/mz64.exe PowerShell https://github.com/k8gege/K8tools/blob/master/Invoke-