• 明文密码和散列值抓取防范方法


    一、单机密码抓取的防范方法
      
      微软为了防止用户密码在内存中以明文形式泄露,发不了补丁KB2871997,关闭了Wdigest功能。windows server 2012以上版本默认关闭Wdigest,使攻击者无法从内存中获取明文密码。对于win server 2012以下版本,通过安装KB2871997补丁,可以避免攻击者获取明文密码。
      通过查看注册表键值,可以判断Wdigest功能状态。如果该项值为“1”则为开启,即可以获取明文密码,如果该项值为“0”,则明文密码不会出现在内存中。开启和关闭Wdigest Auth命令如下:
     
    (1)reg add 命令
    开启Wdigest Auth
    reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
    关闭Wdigest Auth
    reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
     
    (2)使用powershell
    开启Wdigest Auth
    Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlSecurityProvidersWDigest -Name UseLogonCredential -Type DWORD -Value 1
    关闭Wdigest Auth
    Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlSecurityProvidersWDigest -Name UseLogonCredential -Type DWORD -Value 0
     
    二、防范抓取明文密取和散列值
     
     1.设置Active Directory 2012 R2功能级别
    win server 2012 R2新增了一个“受保护的用户”的用户组,只要将需要保护的用户加入该组,攻击者就无法通过mimikatz等工具抓取明文密码和散列值了。
     
    此组的成员将受到针对身份验证安全威胁的额外保护。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=298939
     
     
    2.安装KB28711997补丁
     
      KB28711997补丁是微软为了解决PsExec远程查看(c$)问题的补丁,能使本地账号不再被允许远程接入计算机系统,但是系统默认的本地管理员账号administrator这个SID为500的用户例外——即使将Administrator改名,该账号的SID还是500,攻击者仍然可以使用横向攻击方法获得内网中其他机器的控制权。安装28711997后,仍需要禁用默认的Administrator账号,以防御哈希传递攻击。
     
    3.通过修改注册表禁止在内存中存储明文密码
     
    微软在Windows Xp版本中添加了一个Wdigest协议。该协议能够使windows将明文密码存储在系统内存中,以方便用户登录本地计算机。通过修改注册表的方式可以解决内存中以明文密码存储密码的问题。
    (1)reg add 命令
    关闭Wdigest Auth
    reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
    (2)使用powershell
    关闭Wdigest Auth
    Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlSecurityProvidersWDigest -Name UseLogonCredential -Type DWORD -Value 0
     
    使用reg query查询该键值是否添加成功
    reg query HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential
    修改完成后,注销系统重新登录后,就无法利用mimikatz等密码抓取工具导出明文密码了,只能导出NTLM Hash。因为NTLM Hash一般很难破解,所以只要windows设置的密码足够复杂,并且保证定期修改密码的习惯,就可以降低系统被彻底攻陷的可能性。
     
    4.防御mimikatz攻击
     
    根据Debug权限确定哪些用户可以将调试器附加到任何进程或内核中。在默认情况下,此权限为本地管理员Administrator所有,除了老系统,本地管理员几乎不需要使用此权限。
    mimikatz在抓取散列值或明文密码时需要使用Debug权限(因为mimikatz需要和lsass.exe进程进行交互,如果没有Debug权限,mimikatz将不能读取lsass进程)。因此,我们可以针对这一点采取进行防御措施。将拥有Debug权限的本地管理员从Administrators组中移除。重启系统后将无法再使用mimikatz进行抓取散列值和明文密码了。
     
  • 相关阅读:
    浏览器的宽、高度
    表格 强制换行
    post请求
    js验证正则
    js去除空格
    表格事件,表格删除行
    AJAX初始化combox 并取值
    组脚视图
    Git 常用命令
    NSPredicate 根据谓语动词 进行 模糊查询
  • 原文地址:https://www.cnblogs.com/micr067/p/12299335.html
Copyright © 2020-2023  润新知