Windows 2012 R2 - Procura de arquivos usando Hash MD5?

11

Minha organização descobriu recentemente malwares que foram enviados a alguns usuários por e-mail que conseguiram superar a segurança de e-mail em um ataque sofisticado e direcionado. Os nomes dos arquivos variam de usuário para usuário, mas coletamos uma lista dos hashes MD5 comuns entre os arquivos de malware.

Apenas um tiro no escuro - Eu estava me perguntando se há uma maneira de encontrar arquivos com base em seus hashes MD5, em vez de seus nomes de arquivos, extensões, etc via PowerShell .... ou qualquer método. Estamos usando o Windows 2012 R2 para a maioria dos servidores em nosso data center.

    
por Brandon Wetter 27.01.2017 / 18:55

3 respostas

12

Claro. Você provavelmente vai querer fazer algo mais útil que o seguinte exemplo.

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

Get-ChildItem -Recurse -Path C:\somepath |
    Get-FileHash |
        Where-Object { $_.Hash -in $evilHashes }
    
por 27.01.2017 / 19:06
9
[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)"
    }
}
    
por 27.01.2017 / 19:05
9

Se você tiver uma cópia do arquivo, deverá ativar o AppLocker em todo o domínio e adicionar uma regra de hash para esse arquivo para interromper sua execução. Isso tem a vantagem adicional de identificar computadores que estão tentando executar o programa porque o AppLocker registra blocos e nega ações por padrão.

    
por 28.01.2017 / 01:22