You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell正则匹配多行,提取mimikatz输出的User与NTLM哈希

用PowerShell正则从Mimikatz输出中提取User与NTLM哈希信息

嘿,刚好做过类似的安全审计场景,我来给你捋清楚怎么用PowerShell正则从Mimikatz的输出里精准提取User和对应的NTLM哈希信息~

先明确需求背景

你提供的Mimikatz输出里,部分用户条目会跟着对应的NTLM哈希行,有些则没有。我们需要把每个用户和它的哈希(如果存在)配对提取出来,格式就像你要的User : admin Hash NTLM: f1320e0960da374b88e40cffbec44885这样。

解决方案代码

首先把Mimikatz的输出存为变量(或者直接从文件读取,代码里有标注),然后用正则匹配处理:

# 模拟Mimikatz的输出内容,也可以换成从文件读取:$mimikatzOutput = Get-Content "mimikatz_output.txt" -Raw
$mimikatzOutput = @"
RID : 000001f4 (500) User : Administrator
RID : 000001f5 (501) User : Guest
RID : 000001f7 (503) User : DefaultAccount
RID : 000001f8 (504) User : WDAGUtilityAccount
Hash NTLM: 6373ee9aae046ab1319d89b1cfd36306
RID : 000003e9 (1001) User : admin
Hash NTLM: f1320e0960da374b88e40cffbec44885
"@

# 定义正则模式,适配多行关联的用户与哈希
$regexPattern = '(?s)RID : .*? User : (\S+)\s*(?:Hash NTLM: ([0-9a-f]{32}))?'

# 执行全局匹配
$matchResults = [regex]::Matches($mimikatzOutput, $regexPattern)

# 遍历结果,输出整理后的信息
foreach ($result in $matchResults) {
    $username = $result.Groups[1].Value
    $ntlmHash = $result.Groups[2].Value

    # 按需输出:如果只想要有哈希的用户,就去掉else分支
    if ($ntlmHash) {
        Write-Host "User : $username Hash NTLM: $ntlmHash"
    } else {
        Write-Host "User : $username - 未找到对应NTLM哈希"
    }
}

正则模式解释

给你拆解下这个正则的关键部分,方便你根据实际输出调整:

  • (?s):启用单行模式,让.可以匹配换行符,这样就能跨行处理用户行和下一行的哈希行
  • RID : .*? User : (\S+):匹配RID开头的行,捕获用户名(\S+匹配非空白字符,覆盖大部分用户名格式)
  • \s*:匹配用户行和哈希行之间的所有空白(包括换行、空格)
  • (?:Hash NTLM: ([0-9a-f]{32}))?:可选的哈希匹配组,?:表示这是个非捕获组,?表示这个组可以不存在;[0-9a-f]{32}精准匹配32位十六进制的NTLM哈希格式

输出效果

运行上面的代码后,你会得到整理后的结果:

User : Administrator - 未找到对应NTLM哈希
User : Guest - 未找到对应NTLM哈希
User : DefaultAccount - 未找到对应NTLM哈希
User : WDAGUtilityAccount Hash NTLM: 6373ee9aae046ab1319d89b1cfd36306
User : admin Hash NTLM: f1320e0960da374b88e40cffbec44885

如果只需要提取有哈希的用户,直接删掉循环里的else分支就行~

内容的提问来源于stack exchange,提问作者Shuzheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:41:24