基于AD Event日志识别Skeleton Key后门
01、简介
Skeleton Key(万能密码),是一种可以对域内权限进行持久化的操作手法,通过将Skeleton Key注入到lsass进程,无需重启域控即可生效,而且能够在不影响当前域用户正常登录的情况下,让所有域用户使用同一个万能密码进行登录。另外,它只存在于内存中,如果域控制器重启,注入的 Skeleton Key 将会失效。
如何发现Skelenton Key的后门行为,基于AD Event日志通过对照攻击方法来寻找入侵痕迹,找出其中的攻击行为,提取攻击特征,以制定告警规则。
02、攻击过程
(1)尝试以当前用户身份,查看当前网络资源的连接为空,列出域控C盘共享目录中的文件显示拒绝访问,表示当前用户无权限。
(2)在域控制器以管理员权限打开mimikatz,使用 mimikatz 完成注入 Skeleon Key 的操作,将 skeleton key 注入域控制器的 lsass.exe 进程。如下图:显示已注入成功,此时会在域内所有帐户添加一个skeleton key,默认密码为“mimikatz”。
//提升权限
mimikatz # privilege::debug
//注入 skeleton key
mimikatz # misc::skeleton
(3)使用域内管理员帐户和skeleton key尝试与域控制器成功建立连接,可列出域控制器C盘共享目录中的文件。
net use \\win-dc01\c$ /user:"evil\administrator" "mimikatz"
(4)微软在2014年3月12日添加了LSA保护策略,用来防止对进程lsass.exe的代码注入,这样一来就无法使用mimikatz对lsass.exe进行注入。启用 LSA 保护,只需要在注册表中添加一个值,重启服务器即可。
注册表位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
(5)绕过LSA 保护
在win2012上,mimikatz通过导入驱动文件mimidrv.sys后,可绕过LSA 保护。
mimikatz # privilege::debug
mimikatz # !+
mimikatz # !processprotect /process:lsass.exe /remove
mimikatz # misc::skeleton
03、攻击检测
当攻击者尝试加载mimidrv.sys驱动时,将会生成4697事件,这个行为可作为安全日志中最为明显的特征进行识别检测。
4697事件:当系统中安装了新服务时,将会生成此事件,包含安装服务的帐户名,安装服务的名称以及创建服务时文件的路径。
安全规则:
index=ad EventCode=4697 服务文件名="*mimidrv.sys" user!="*$"
| stats count earliest(_time) AS start_time latest(_time) AS end_time values(服务名) as val_servicename values(服务文件名) as val_Servicefilename by dest user| 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 +" 疑似存在Skeleton Key后门行为,安装了新服务:"+val_servicename+"服务文件名:"+val_Servicefilename+",操作账号:"+user| table start_time end_time user message
安全告警效果如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
2021-01-11 Linux提权的几种常用姿势
2021-01-11 Windows提权的几种常用姿势
2021-01-11 如何快速构建内部钓鱼平台
2021-01-11 一段困扰许久的防注入代码
2021-01-11 Windows日志识别入侵痕迹
2021-01-11 内网横向移动思路和技巧