前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Ketshash检测可疑的特权NTLM连接

如何使用Ketshash检测可疑的特权NTLM连接

作者头像
FB客服
发布2023-02-24 12:55:21
8240
发布2023-02-24 12:55:21
举报
文章被收录于专栏:FreeBuf

 关于Ketshash 

Ketshash是一款针对NTLM安全的分析与检测工具,该工具可以帮助广大研究人员基于事件查看器日志来分析和检测可疑的特权NTLM连接,尤其是Pass-The-Hash攻击。

该工具作为“Pass-The-Hash detection”研究的一部分,以完整开源的形式发布给广大研究人员使用。

该工具可以基于下列信息来实现其功能:

1、受监控计算机上的安全事件日志(登录事件); 2、活动目录中的身份验证事件;

 工具要求 

该工具的使用要求用户账号拥有下列权限:

1、访问远程计算机的安全事件日志; 2、活动目录的读取权限(标准域账户); 3、计算机在同一时间同步,否则会影响结果; 4、至少安装并配置好PowerShell 2.0;

 工具下载 

该工具是一个PowerShell脚本,因此我们只能在支持PowerShell 2.0+的设备上使用该工具。

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/cyberark/ketshash.git

 工具使用 

基础使用

打开PowerShell窗口,并运行下列命令:

代码语言:javascript
复制
Import-Module .\Ketshash.ps1

或者,将Ketshash.ps1的内容拷贝到PowerShell会话窗口中。

除此之外,也可以直接运行下列命令来使用Ketshash:

代码语言:javascript
复制
Invoke-DetectPTH <arguments>

Ketshash Runner

1、确保Ketshash.ps1在KetshashRunner.exe的同一目录下; 2、双击KetshashRunner.exe,根据需要修改设置,并点击运行;

 Invoke-DetectPTH使用 

参数解释

Targetcomputers:要检测NTLM连接的目标计算机数组; TargetComputersFile:包含要检测NTLM连接的目标计算机列表的文件路径; StartTime:检测开始的时间,默认值为当前时间; UseKerberosCheck:检查组织DC上的TGT\TGS登录; UseNewCredentialsCheck:检查登录类型为9的登录事件(如Mimikatz)。这是可选的,默认算法已经涵盖了它。它的存在只是为了显示另一个检测可疑NTLM连接的选项。在Windows版本10和Server 2016上,应在事件查看器中启用“Microsoft Windows LSA/操作”。在Windows 10和Server 2016上,启用“内核对象审计”将提供更准确的信息,例如写入LSASS; LogFile:保存结果的日志文件路径; MaxHoursOfLegitLogonPriorToNTLMEvent:自NTLM事件发生后,需要多少小时才能向后查看并搜索合法登录,默认值为向后2小时;

使用样例1(推荐)

代码语言:javascript
复制
Invoke-DetectPTH -TargetComputers "MARS-7" -LogFile "C:\tmp\log.txt"

(向右滑动,查看更多)

使用样例2

代码语言:javascript
复制
Invoke-DetectPTH -TargetComputers "ComputerName" -StartTime ([datetime]"2017-12-14 12:50:00 PM") -LogFile "C:\tmp\log.txt" -UseKerberosCheck -UseNewCredentialsCheck

(向右滑动,查看更多)

 工具调试 

由于该工具使用线程工作,因此不太可能对主功能脚本块进行调试。但是我们可以在Detect-PTHMultithreaded之前使用Invoke-Command调试:

代码语言:javascript
复制
Invoke-Command -ScriptBlock $detectPTHScriptBlock -ArgumentList $TargetComputers, $startTime, $LogFile, $UseKerberosCheck, $UseNewCredentialsCheck, $MaxHoursOfLegitLogonPriorToNTLMEvent`
代码语言:javascript
复制

(向右滑动,查看更多)

仅检测一个目标计算机:

代码语言:javascript
复制
Invoke-DetectPTH -TargetComputers "<computer_name>" ...(向右滑动,查看更多)

将$TargetComputer从[array]修改为[string],这样就可以在脚本块中使用断点来调试了。

 工具使用演示 

使用演示地址

https://fast.wistia.com/embed/iframe/e9px19i61p

 许可证协议 

本项目的开发与发布遵循GPL-3.0开源许可证协议。

 项目地址 

Ketshash

https://github.com/cyberark/ketshash

参考资料

https://www.cyberark.com/threat-research-blog/detecting-pass-the-hash-with-windows-event-viewer https://www.cyberark.com/resource/pass-hash-detection-using-windows-events/ http://lp.cyberark.com/rs/cyberarksoftware/images/wp-Labs-Pass-the-hash-research-01312018.pdf

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于Ketshash 
  •  工具要求 
  •  工具下载 
  •  工具使用 
    • 基础使用
      • Ketshash Runner
      •  Invoke-DetectPTH使用 
        • 参数解释
          • 使用样例1(推荐)
            • 使用样例2
            •  工具调试 
            •  工具使用演示 
            •  许可证协议 
            •  项目地址 
            • 参考资料
            相关产品与服务
            检测工具
            域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档