加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 安全 > 正文

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

发布时间:2023-06-01 10:58:27 所属栏目:安全 来源:
导读:关于Ketshash

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

该工具作为“Pass-The-Hash de
关于Ketshash
 
Ketshash是一款针对NTLM安全的分析与检测工具,该工具可以帮助广大研究人员基于事件查看器日志来分析和检测可疑的特权NTLM连接,尤其是Pass-The-Hash攻击。
 
该工具作为“Pass-The-Hash detection”研究的一部分,以完整开源的形式发布给广大研究人员使用。
 
该工具可以基于下列信息来实现其功能:
 
1、受监控计算机上的安全事件日志(登录事件);
 
2、活动目录中的身份验证事件;
 
工具要求
 
该工具的使用要求用户账号拥有下列权限:
 
1、访问远程计算机的安全事件日志;
 
2、活动目录的读取权限(标准域帐户);
 
3、计算机在同一时间同步,否则会影响结果;
 
4、至少安装并配置好PowerShell 2.0;
 
工具下载
 
该工具是一个PowerShell脚本,因此我们只能在支持PowerShell 2.0+的设备上使用该工具。
 
广大研究人员可以使用下列命令将该项目源码克隆至本地:
 
复制
 
git clone https://github.com/cyberark/ketshash.git
 
1.
 
工具使用
 
基础使用
 
打开PowerShell窗口,并运行下列命令:
 
复制
 
Import-Module .\Ketshash.ps1
 
1.
 
或者,将Ketshash.ps1的内容拷贝到PowerShell会话窗口中。
 
除此之外,也可以直接运行下列命令来使用Ketshash:
 
复制
 
Invoke-DetectPTH <arguments>
 
1.
 
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(推荐)
 
复制
 
Invoke-DetectPTH -TargetComputers "MARS-7" -LogFile "C:\tmp\log.txt"
 
1.
 
 
使用样例2
 
复制
 
Invoke-DetectPTH -TargetComputers "ComputerName" -StartTime ([datetime]"2017-12-14 12:50:00 PM") -LogFile "C:\tmp\log.txt" -UseKerberosCheck -UseNewCredentialsCheck
 
1.
 
 
工具调试
 
由于该工具使用线程工作,因此不太可能对主功能脚本块进行调试。但是我们可以在Detect-PTHMultithreaded之前使用Invoke-Command调试:
 
复制
 
Invoke-Command -ScriptBlock $detectPTHScriptBlock -ArgumentList $TargetComputers, $startTime, $LogFile, $UseKerberosCheck, $UseNewCredentialsCheck, $MaxHoursOfLegitLogonPriorToNTLMEvent`
 
1.
 
仅检测一个目标计算机:
 
复制
 
Invoke-DetectPTH -TargetComputers "<computer_name>" ...
 
1.
 
将$TargetComputer从[array]修改为[string],这样就可以在脚本块中使用断点来调试了。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!