在应对EDR(终端检测与响应)时,关键在于让你的软件看起来像正规软件,尤其是像微软等可信来源编写和签名的软件。EDR通常会自动信任已签名的软件,而那些未签名的二进制文件往往被视为不可信。因此,获得一个受信任的签名证书是规避检测的有效途径之一。然而,个人去购买代码签名证书的成本较高,不少人觉得这是一笔“肉痛”的开销。
实际上,我们可以通过一些特殊手段,免费(白嫖)获得这些签名证书
首推的方法是使用VirusTotal。这个工具的数据库中存储了大量高质量的签名证书,可以通过特定的搜索条件找到所需的信息。比如,可以使用如下的搜索内容:content:{02 01 03 30}@4 NOT tag:msi AND NOT tag:peexe
content:{02 01 03 30}@4 NOT tag:msi AND NOT tag:peexe
除了VirusTotal,公共云存储也是寻找签名证书的另一个途径。有些签名证书可能会被无意中存储在这些平台上。
找到后,下一步就是破解这些证书的密码。为此,我们可以使用工具 crackpkcs12,这个工具可以用来暴力破解存储在 .pfx 文件中的签名证书密码。你可以从GitHub下载该工具(https://github.com/crackpkcs12/crackpkcs12),并且可以在Weakpass上(https://weakpass.com/wordlist)下载到常用的密码字典,例如 rockyou.txt。
crackpkcs12 -b -d rockyou.txt certificate.pfx
一旦成功破解了密码,便可以获得一个有效且受信任的签名证书。接下来,就可以使用微软提供的签名工具(https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe)来签名你的软件
signtool sign /f abc.pfx /p mypassword abc.exe
也可以使用笔者用的签名工具,里面自带几个EV证书