基于AD Event日志检测LSASS凭证窃取攻击

01、简介

简单介绍一下,LSASS(本地安全机构子系统服务)在本地或域中登录Windows时,用户生成的各种凭证将会存储在LSASS进程的内存中,以便用户不必每次访问系统时重新登录。

攻击者在获得起始攻击点后,需要获取目标主机上的相关凭证,以便通过用户凭证进行横向移动,这个技术点最容易关联到的就是获取LSASS内存中保存的用户凭证。

一般LSASS窃取凭证有两种方式,第一种就是直接从LSASS内存解析获取密码,第二种是将LSASS进程转储到本地进行离线解析。

02、LSASS窃取凭证

(1)mimikatz

mimikatz仅需一行命令,就可以直接从lsass内存中提取用户hash。

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > log.txt

在众多的Windows安全日志中,通过监测访问lsass,exe的进程,可发现异常进程,因此可以将事件ID:4663 作为关键日志特征。

事件ID:4663 显示已使用访问权限,4663是没有失败事件的,可以看到进程名mimikatz.exe 尝试访问内存对象lsass.exe。

基于AD Event日志检测LSASS凭证窃取攻击

(2)Procdump转储

procdump是微软官方提供的一个小工具,可以将lsass.exe进程转储为dump文件,将lsass.dmp文件下载到本地进行离线破解。

Procdump64.exe -accepteula -ma lsass.exe lsass.dmp

在Windows事件ID:4663 中,可以看到进程名Procdump64.exe 尝试访问内存对象lsass.exe。

基于AD Event日志检测LSASS凭证窃取攻击

(3)MSF中的mimikatz

MSF加载mimikatz模块,抓取明文密码

meterpreret > load mimikatzmeterpreret > wdigest

基于AD Event日志检测LSASS凭证窃取攻击

在Windows事件ID:4663 中,可以看到进程名shell.exe 尝试访问内存对象lsass.exe。

基于AD Event日志检测LSASS凭证窃取攻击

(4)CS模块获取用户哈希

使用hashdump或logopasswords 获取用户密码哈希值

基于AD Event日志检测LSASS凭证窃取攻击

在Windows事件ID:4663 中,可以看到进程名rundll32.exe 尝试访问内存对象lsass.exe。

基于AD Event日志检测LSASS凭证窃取攻击

03、LSASS凭证窃取攻击检测

基于几种常见的LSASS进程窃取凭证的方式以及识别到的AD Event日志特征,可以实时监测异常进程访问lsass,exe,找到哪个用户什么时间执行了异常进程访问了lsass.exe进程,从而实现LSASS凭证窃取攻击的检测。

eventtype=wineventlog_security  EventCode=4663 Object_Name="*lsass.exe"| regex process="^((?!MsMpEng|vmtoolsd|VsTskMgr|WmiPrvSE).)*$"| stats count  min(_time) as  start_time max(_time) as end_time by  dest user Object_Name Process_Name| eval start_time=strftime(start_time,"%Y-%m-%d %H:%M:%S")| eval end_time=strftime(end_time,"%Y-%m-%d %H:%M:%S") |eval message="在"+start_time+"到"+end_time+"时间内,服务器:"+dest +" 检测到lsass窃取凭证,进程名:" +Process_Name+" 操作账号:"+user+" 操作次数:"+count+"次"|table  start_time end_time dest  message user

安全告警效果如下图:

基于AD Event日志检测LSASS凭证窃取攻击

原文始发于微信公众号(Bypass):基于AD Event日志检测LSASS凭证窃取攻击

版权声明:admin 发表于 2022年11月30日 上午8:01。
转载请注明:基于AD Event日志检测LSASS凭证窃取攻击 | CTF导航

相关文章

暂无评论

暂无评论...