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。

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

  1. 神器mimikatz使用命令方法总结

    神器mimikatz使用命令方法总结 文章地址:http://www.isharepc.com/300.html mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进 ...

  2. 法国神器"mimikatz"简化版,一键导出结果

    神器之所以称之为神器.那是闹着玩的? 法国神器"mimikatz",那是相当的好使!!! GitHub:https://github.com/gentilkiwi/mimikatz ...

  3. 通过PowerShell获取Windows系统密码Hash

    当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大 ...

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

    今天开始重新学习C 但是一早起来开机进不了系统 密码明明正确的 无语了,后来打苹果售后电话解决了. 今天记录下如何解决的,以后万一又出现这种问题,至于原因嘛 我也不知道 有可能跟我装的双系统有关系.只 ...

  5. WinlogonHack获取系统密码

    实验环境: win03 sp1 Gina.dll与Msgina.dll Gina.dll在NT/2000中交互式的登陆支持是由WinLogon调用Gina.dll实现的,Gina.dll提供了一个交互 ...

  6. VC被控制时关闭极域电子教室、破解联想硬盘保护系统密码(上)

    <[原]关于VC运行时关闭极域电子教室的改进方法> 本文将讲资料和方法,具体实现和破解联想硬盘保护系统密码在(下)中,有关破解联想硬盘保护系统(删除它)的方法很简单,用硬盘保护卡克星就可以 ...

  7. Linux 系统密码破解

    (一)CentOS Linux 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 root@# ...

  8. Linux之修改系统密码

    目录 Linux之修改系统密码 参考 RHEL6修改系统密码 RHEL7修改系统密码 Linux之修改系统密码

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

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

随机推荐

  1. LayoutInflater(一)

    相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的.而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的 ...

  2. 看懂UML类图与时序图

    看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...

  3. hibernate快速入门

    第一步:下载Hibernate的开发包: http://sourceforge.net/projects/hibernate/files/hibernate3 第二步:Hibernate框架目录结构: ...

  4. 【JSON 注解】JSON循环引用1-----Jackson常用注解介绍 eq:@JsonIgnore

    循环引用:实体A与实体B有关系,A中有B作为字段,B中有A作为一个字段.查询A对象后,将A对象转化为JSON格式数据时,会因为序列化过程中导致A中有B字段,B字段中又有A,这样就引起了循环引用的问题! ...

  5. user_jj两条记录改成一条

    1.前台index控制器,用user_jj.*add找到,home_ddxx_pcz_cl() 2.前台index控制器,用user_jj.*add找到,tgbz_list_sd_cl(),tgbz_ ...

  6. 去除android手机滚动条

    方法1:::-webkit-scrollbar{display: none;} 方法2:::-webkit-scrollbar{height:0; width:0:}

  7. jQuery-认识JQuery,jQuery选择器

    认识JQuery: 1.window.onload与$(document).ready()的区别 window.onload $(document).ready() 执行时机 必须等待网页中的所有内容 ...

  8. 个人js类库mycool

    // JavaScript Document Sunbye 1.0 //getElementById //function start var $=function(_id){return docum ...

  9. struts2总结三:struts2配置文件struts.xml的简单总结

    一.struts中的常量constant的配置. 在struts2中同一个常量的配置有三种方式,第一种在struts.xml中,第二种在struts.properties中配置,第三种在web.xml ...

  10. 餐厅点餐APP总结

    总结:经过这几个月的时间里,我们通过学习.讨论一起做出了餐厅点餐这个APP,我们在做这个APP的过程中,每个人都有自己的想法,也通过讨论最后做出了这个app,虽然做的不是很好,但是我们也尽自己的努力尽 ...