私の組織は最近、電子メールを介して一部のユーザーに送信されたマルウェアを発見しました。このマルウェアは、巧妙な標的型攻撃で電子メールのセキュリティを突破しました。ファイルの名前はユーザーごとに異なりますが、マルウェアファイル間の一般的なMD5ハッシュのリストを収集しました。
ほんの一瞬-PowerShellでファイル名や拡張子などではなく、MD5ハッシュに基づいてファイルを検索する方法があるかどうか疑問に思っていました。データセンターのほとんどのサーバーにWindows 2012 R2を使用しています。
承知しました。しかし、おそらく次の例よりも役立つ何かをしたいと思うでしょう。
$evilHashes = @(
'4C51A173404C35B2E95E47F94C638D2D001219A0CE3D1583893E3DE3AFFDAFE0',
'CA1DEE12FB9E7D1B6F4CC6F09137CE788158BCFBB60DED956D9CC081BE3E18B1'
)
Get-ChildItem -Recurse -Path C:\somepath |
Get-FileHash |
Where-Object { $_.Hash -in $evilHashes }
[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)"
}
}
ファイルのコピーがある場合は、ドメイン全体でAppLockerをアクティブにし、そのファイルのハッシュルールを追加して実行を停止する必要があります。 AppLockerのログは既定でブロックし、アクションを拒否するため、プログラムを実行しようとしているコンピューターを特定できるというメリットがあります。