我的组织最近发现了一些通过电子邮件发送给某些用户的恶意软件,这些恶意软件通过一次复杂的、有针对性的攻击成功突破了我们的电子邮件安全措施。文件的名称因用户而异,但我们收集了恶意软件文件中常见的 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 日志默认会阻止和拒绝操作。