ATT&CK-T1003-001-操作系统凭据转储:LSASS内存

本文介绍通过不同技术手段转储LSASS进程内存的方法,包括使用ProcDump、comsvcs.dll、Dumpert工具及NanoDump等,并探讨了针对这些技术的安全检测与防御策略。

0x01基础信息

具体信息 详情
ATT&CK编号 T1003-001
所属战术阶段 凭据访问
操作系统 windows 7 旗舰版 SP1
创建时间 2022年11月17日
监测平台 火绒安全、火绒剑、sysmon

0x02技术原理

攻击者可能会尝试访问存储在本地安全机构子系统服务 (LSASS) 进程内存中的凭证材料。用户登录后,系统生成各种凭证材料,存储在LSASS进程内存中。这些凭证材料可以由管理用户或 SYSTEM 获取,并用于使用使用备用身份验证材料 进行横向移动

与内存技术一样,LSASS 进程内存可以从目标主机转储并在本地系统上进行分析。

例如,在目标主机上使用 procdump:

  • procdump -ma lsass.exe lsass_dump
    

在本地,可以使用以下方式运行 mimikatz:

  • sekurlsa::Minidump lsassdump.dmp
    
  • sekurlsa::logonPasswords
    

也可以使用内置的 Windows 工具,例如 comsvcs.dll:

  • rundll32.exe C:\Windows\System32\comsvcs.dll,  MiniDump lsass-PID  lsass.dmp  full
    

Windows 安全支持提供程序 (SSP) DLL 在系统启动时加载到 LSSAS 进程中。一旦加载到 LSA 中,SSP DLL 就可以访问存储在 Windows 中的加密和明文密码,例如任何登录用户的域密码或智能卡 PIN。SSP 配置存储在两个注册表项中:

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages。攻击者可能会修改这些注册表项以添加新的 SSP,这些 SSP 将在下次系统启动时或调用 AddSecurityPackage Windows API 函数时加载。

0x03 复现环境

工具列表 相关链接
sysmon日志记录工具 https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
sysmon默认规则文件 https://github.com/SwiftOnSecurity/sysmon-config/blob/master/sysmonconfig-export.xml
sysmon安装命令 sysmon64.exe -accepteula -i sysmonconfig-export.xml
攻击条件 已经获取管理员权限的shell

0x04 复现过程

  • 使用ProcDump转储LSASS.exe内存

lsass.exe(Local Security Authority Subsystem Service )进程空间中,存有着机器的域、本地用户名和密码等重要信息。如果获取本地高权限,用户便可以访问LSASS进程内存,从而可以导出内部数据(password),用于横向移动和权限提升。

lsass.exe 的内存经常被转储用于离线凭据盗窃攻击。这可以通过 Sysinternals ProcDump 来实现。

成功执行后,您应该会看到创建了以下文件 c:\windows\temp\lsass_dump.dmp。

命令 描述 默认值
output_file 结果转储存放的路径 C:\Windows\Temp\lsass_dump.dmp
procdump.exe Procdump 可执行文件的路径 Path To swordheartFolder\procdump.exe

攻击命令

procdump.exe -accepteula -ma lsass.exe lsass_dump.dmp

在这里插入图片描述

转储了lsass进程,把内存dump出来的dmp文件可以通过本地mimikatz进行解密

Sekurlsa::minidump lsass_dump.dmp
Sekurlsa::logonPasswords full

在这里插入图片描述

  • 使用 comsvcs.dll 转储 LSASS.exe 内存

lsass.exe 的内存经常被转储用于离线凭据盗窃攻击。这可以通过内置的 dll 来实现。

成功执行后,您应该会看到创建了以下文件 $env:TEMP\lsass-comsvcs.dmp。

攻击命令【使用powershell运行】: rundll32.exe comsvcs.dll, MiniDump lsass-PID lsass-comsvcs.dmp full

C:\Windows\System32\rundll32.exe  C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id  $env:TEMP\lsass-comsvcs.dmp full

获取lsass.exe的pid为540

在这里插入图片描述

MiniDump需要首字母大写,comsvcs.dll可以单独从system中取出来,因为存在杀软对敏感路径的访问进行拦截的行为,单独取出来火绒不会进行拦截

在这里插入图片描述

可以从当前目录直接转到powershell界面,在攻击时可以把comsvcs.dll放置到目标主机然后dump内存,与前面一样转储文件取回本地进行解密

在这里插入图片描述

  • 使用直接系统调用和 API unhooking 转储 LSASS.exe 内存

lsass.exe 的内存经常被转储用于离线凭据盗窃攻击。这可以通过使用直接系统调用和 API 脱钩来避免检测来实现。

成功执行后,您应该会看到创建了以下文件 C:\windows\temp\dumpert.dmp。

dumpert:利用直接系统调用和API脱钩技术来实现AV/EDR软件的逃避

【直接系统调用】

为了理解系统调用到底是什么,我们首先必须深入了解操作系统体系结构,特别是 W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值