Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ketshash — 一款用于检测可疑特权NTLM连接(尤其是Pass-The-Hash攻击)的小工具,基于事件查看器日志。 | Kitploit
工具/GitHubGitHub/cyberark/ketshash
防御工具网络安全渗透测试身份验证事件响应日志分析
GitHubcyberark/ketshash

ketshash

一款用于检测可疑特权NTLM连接(尤其是Pass-The-Hash攻击)的小工具,基于事件查看器日志。

查看仓库
169421年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GitHub release License

Ketshash

一个基于事件查看器日志检测可疑特权NTLM连接(尤其是Pass-The-Hash攻击)的小工具。

该工具是"Pass-The-Hash检测"研究的一部分——更多关于"Pass-The-Hash检测"的详细信息请查看博客文章:
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)

Demo

IMAGE ALT TEXT HERE

要求

拥有以下权限的账户:

  • 访问远程机器的安全事件日志
  • ActiveDirectory 读取权限(标准域账户)
  • 计算机时间同步,否则可能影响结果
  • 最低 PowerShell 2.0

概述

Ketshash 是一个基于以下信息检测可疑特权 NTLM 连接的工具:

  • 受监控机器上的安全事件日志(登录事件)
  • Active Directory 的身份验证事件

用法

有两种选项:

基本用法

  • 打开 PowerShell 并运行:
    • Import-Module .\Ketshash.ps1 或者复制粘贴 Ketshash.ps1 的内容到 PowerShell 会话
    • Invoke-DetectPTH <参数>

Ketshash Runner

  • 确保 Ketshash.ps1 与 KetshashRunner.exe 在同一目录下
  • 双击 KetshashRunner.exe,根据需要更改设置并点击运行

alt text

Invoke-DetectPTH

参数:
  • TargetComputers - 要检测 NTLM 连接的目标计算机数组。
  • TargetComputersFile - 包含目标计算机列表的文件路径。
  • StartTime - 检测开始时间。默认为当前时间。
  • UseKerberosCheck - 检查组织内域控上的 TGT\TGS 登录。 默认情况下搜索源机器上的合法登录。 无论如何,启用或禁用此开关都会查询源机器上的事件 ID 4648。
  • UseNewCredentialsCheck - 检查登录类型 9 的登录事件(如 Mimikatz)。 此选项为可选,默认算法已涵盖。 仅用于展示检测可疑 NTLM 连接的另一种选项。 在 Windows 10 和 Server 2016 上,应在事件查看器中启用 "Microsoft-Windows-LSA/Operational"。 在 Windows 10 和 Server 2016 上,启用 "内核对象审计" 将提供更准确的信息,例如写入 LSASS。
  • LogFile - 用于保存结果的日志文件路径。
  • MaxHoursOfLegitLogonPriorToNTLMEvent - 从 NTLM 事件时间向前回溯查找合法登录的小时数。默认为向后回溯 2 小时。
示例(推荐):
root@kitploit:~
Invoke-DetectPTH -TargetComputers "MARS-7" -LogFile "C:\tmp\log.txt"

alt text

示例:
root@kitploit:~
Invoke-DetectPTH -TargetComputers "ComputerName" -StartTime ([datetime]"2017-12-14 12:50:00 PM") -LogFile "C:\tmp\log.txt" -UseKerberosCheck -UseNewCredentialsCheck

alt text

调试

由于使用了线程,无法直接调试主函数的脚本块。 一种变通方法是使用 Invoke-Command,然后再调用 Detect-PTHMultithreaded:

root@kitploit:~
Invoke-Command -ScriptBlock $detectPTHScriptBlock -ArgumentList $TargetComputers, $startTime, $LogFile, $UseKerberosCheck, $UseNewCredentialsCheck, $MaxHoursOfLegitLogonPriorToNTLMEvent`

仅检测一台目标计算机:

root@kitploit:~
Invoke-DetectPTH -TargetComputers "<computer_name>" ...

将 $TargetComputer 改为 [string] 类型而不是 [array]。 这样可以在主函数的脚本块内设置断点。

参考

如有更多评论和问题,可联系 Eviatar Gerzi (@g3rzi) 和 CyberArk Labs。

下载工具