关于KetshashKetshash是一款NTLM安全分析检测工具。传递哈希攻击。作为“Pass-The-Hash检测”研究的一部分,该工具以完整的开源形式发布给研究人员。该工具可以根据以下信息实现其功能:1.被监控计算机上的安全事件日志(登录事件);2.活动目录中的认证事件;该工具要求用户帐户具有以下权限:1.1.访问远程计算机的安全事件日志;2、活动目录的读权限(标准域账户);3、电脑同时同步,否则会影响结果;4、至少安装配置PowerShell2.0;该工具下载该工具是一个PowerShell脚本,所以我们只能在支持PowerShell2.0+的设备上使用它。研究人员可以使用以下命令将项目的源代码克隆到本地:gitclonehttps://github.com/cyberark/ketshash.git工具使用基本用法打开一个PowerShell窗口并运行以下命令:Import-模块.\Ketshash。ps1或者,将Ketshash.ps1的内容复制到PowerShell会话窗口中。另外,也可以直接运行如下命令使用Ketshash:Invoke-DetectPTHKetshashRunner1。确保Ketshash.ps1与KetshashRunner.exe位于同一目录;2、双击KetshashRunner.exe,根据需要修改设置,点击运行;invoke-DetectPTH使用参数说明Targetcomputers:目标计算机数组,用于检测NTLM连接;TargetComputersFile:包含目标计算机列表的文件路径,用于检测NTLM连接;StartTime:检测开始的时间,默认值为当前时间;组织DC上的TGT\TGS登录;UseNewCredentialsCheck:检查登录类型为9的登录事件(例如Mimikatz)。这是可选的,它已经被默认算法覆盖。它的存在只是为了显示另一个用于检测可疑NTLM连接的选项。在Windows版本10和Server2016上,应在事件查看器中启用“MicrosoftWindowsLSA/Operation”。在Windows10和Server2016上,启用“内核对象审计”将提供更准确的信息,例如对LSASS的写入;LogFile:保存结果的日志文件的路径;MaxHoursOfLegitLogonPriorToNTLMEvent:自NTLM事件后回溯多少小时并搜索合法登录,默认值是回溯2小时;使用示例1(推荐)Invoke-DetectPTH-TargetComputers"MARS-7"-LogFile"C:\tmp\log.txt"使用示例2Invoke-DetectPTH-TargetComputers"ComputerName"-StartTime([datetime]"2017-12-1412:50:00PM")-LogFile"C:\tmp\log.txt"-UseKerberosCheck-UseNewCredentialsCheck工具调试由于该工具与线程一起工作,因此不太可能调试主函数脚本块。但是我们可以在Detect-PTHMultithreaded之前使用Invoke-Command进行调试:Invoke-Command-ScriptBlock$detectPTHScriptBlock-ArgumentList$TargetComputers,$startTime,$LogFile,$UseKerberosCheck,$UseNewCredentialsCheck,$MaxHoursOfLegitLogonPriorToNTLMEvent`只检测到一台目标计算机:Invoke-DetectPTH-TargetComputers""...将$TargetComputer从[array]更改为[string],以便您可以在脚本块中使用断点进行调试。工具使用演示使用演示:【点我观看】许可协议本项目的开发和发布遵循GPL-3.0开源许可协议。项目地址Ketshash:【GitHub传送门】参考https://www.cyberark.com/threat-research-blog/detecting-pass-the-hash-with-windows-event-viewerhttps://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