Windows 2012 R2 - 使用 MD5 哈希搜索文件?

Windows 2012 R2 - 使用 MD5 哈希搜索文件?

我的组织最近发现了一些通过电子邮件发送给某些用户的恶意软件,这些恶意软件通过一次复杂的、有针对性的攻击成功突破了我们的电子邮件安全措施。文件的名称因用户而异,但我们收集了恶意软件文件中常见的 MD5 哈希列表。

只是瞎猜——我想知道是否有办法通过 PowerShell 或任何方法根据 MD5 哈希值而不是文件名、扩展名等来查找文件。我们数据中心的大多数服务器都使用 Windows 2012 R2。

答案1

当然。不过你可能想做一些比下面的例子更有用的事情。

$evilHashes = @(
    '4C51A173404C35B2E95E47F94C638D2D001219A0CE3D1583893E3DE3AFFDAFE0',
    'CA1DEE12FB9E7D1B6F4CC6F09137CE788158BCFBB60DED956D9CC081BE3E18B1'
)

Get-ChildItem -Recurse -Path C:\somepath |
    Get-FileHash |
        Where-Object { $_.Hash -in $evilHashes }

答案2

[String]$BadHash = '5073D1CF59126966F4B0D2B1BEA3BEB5'

Foreach ($File In Get-ChildItem C:\ -file -recurse) 
{
    If ((Get-FileHash $File.Fullname -Algorithm MD5).Hash -EQ $BadHash)
    {
        Write-Warning "Oh no, bad file detected: $($File.Fullname)"
    }
}

答案3

如果您有该文件的副本,则应在整个域中激活 AppLocker,并为该文件添加哈希规则以停止其执行。这还有一个额外的好处,就是可以识别试图运行该程序的计算机,因为 AppLocker 日志默认会阻止和拒绝操作。

相关内容