服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

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

日期: 来源:Bypass收集编辑:Bypass

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。

(2)Procdump转储

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

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

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

(3)MSF中的mimikatz

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

meterpreret > load mimikatzmeterpreret > wdigest

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

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

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

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

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

安全告警效果如下图:

相关阅读

  • 你的新进程是如何被内核调度执行到的?

  • 大家好,我是飞哥!在前面的文章《Linux进程是如何创建出来的?》 和 《聊聊Linux中线程和进程的联系与区别》 中我们都讲过了,进程和线程在创建出来后会加入运行队列里面等待被调
  • Docker容器里进程的 pid 是如何申请出来的?

  • 大家好,我是飞哥!如果大家有过在容器中执行 ps 命令的经验,都会知道在容器中的进程的 pid 一般是比较小的。例如下面我的这个例子。# ps -efPID USER TIME COMMAND 1
  • 从进程栈内存底层原理到Segmentation fault报错

  • 大家好,我是飞哥!栈是编程中使用内存最简单的方式。例如,下面的简单代码中的局部变量 n 就是在堆栈中分配内存的。#include <stdio.h>void main(){ int n = 0; printf("0x%x\n"
  • JVM调优几款好用的内存分析工具

  • 你好,我是yes。对于高并发访问量的电商、物联网、金融、社交等系统来说,JVM内存优化是非常有必要的,可以提高系统的吞吐量和性能。通常调优的首选方式是减少FGC次数或者FGC时间
  • 内存竟被”无意“破坏,真相究竟如何?

  • 大家好,我是小风哥。内存是C/C++程序员的好帮手,我们通常说C/C++程序性能更高其原因之一就在于可以自己来管理内存,然而计算机科学中没有任何一项技术可以包治百病,内存问题也给
  • 为什么计算机需要操作系统?

  • 大家好,我是小风哥,提前祝大家新年快乐,这是年前的最后一篇技术文啦。今天我们从三个方面来简单聊聊为什么计算机系统操作系统这个话题。资源分配器如果你的CPU上只需要运行一
  • 周知!省外自费就医,回杭可以这样报销!

  • “在外省自费看病,回到杭州还可以报销吗?”节后复工,不少人咨询异地就医结算的问题。杭州的参保人员,在省内外就医如何报销?忘带医保卡该如何处理?权威回应来了!春节跨省探亲突发疾

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

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

  • 01、简介简单介绍一下,LSASS(本地安全机构子系统服务)在本地或域中登录Windows时,用户生成的各种凭证将会存储在LSASS进程的内存中,以便用户不必每次访问系统时重新登录。攻击者
  • 基于AD Event日志识别黄金票据攻击

  • 01、简介黄金票据(Golden Ticket)是基于Kerberos认证的一种攻击方式,常用来做域控权限维持。当攻击者获取到域内krbtgt帐户的SID和HASH,就可以随意伪造域内管理员用户,再加上域
  • 基于AD Event日志实时检测DSRM后门

  • 01、简介每个域控制器都有一个目录还原模式(DSRM)帐户,它的密码是在安装域控时设置的,实际上它对应的就是sam文件里的本地管理员“administrator”,基本很少会被重置,因此有着极强
  • 基于AD Event日志识别Skeleton Key后门

  • 01、简介Skeleton Key(万能密码),是一种可以对域内权限进行持久化的操作手法,通过将Skeleton Key注入到lsass进程,无需重启域控即可生效,而且能够在不影响当前域用户正常登录的
  • 基于AD Event日志识别SID History后门

  • 01、简介每个用户都有一个关联的安全标识符(SID),SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户的
  • 基于AD Event日志监测AdminSDHolder

  • 01、简介AdminSDHolder是一个特殊的AD容器,通常作为某些特权组成员的对象的安全模板。Active Directory将采用AdminSDHolder对象的ACL并定期将其应用于所有受保护的AD账户和