如何为被恶意软件利用或已撤销的证书创建 YARA 规则 – 作者:LinuxSelf

在事件响应或恶意软件分析中,可能会发现一些被盗用或被撤销的证书用于不同类型的恶意软件的签名。恶意软件开发通常会使用被盗证书对其恶意软件进行签名。

这里展示一种为此类证书(通知是被盗用或者已经被撤销的证书)创建YARA规则的快速简单的方法。首先我们可以查看Virustotal上许多防病毒引擎标记为恶意软件的示例,“Detail”选项卡显示已撤销的证书。这是威胁群体签署其二进制文件时曾经使用或仍使用的失信证书的分析指标。

样本: ee5340b2391fa7f8d6e22b32dcd48f8bfc1951c35491a1e2b4bb4ab2fcbd5cd4

image.png

建议使用YARA的“pe”模块创建一个YARA规则,并集成序列号和证书的颁发者以创建明确的规则。

rule MAL_Compromised_Cert_Nov18_1 {
  meta:
    description = "在2018年11月检测到CORP 8 LIMITED的受损证书"
    date = "2018-11-01"
    hash = "ee5340b2391fa7f8d6e22b32dcd48f8bfc1951c35491a1e2b4bb4ab2fcbd5cd4"
  condition:
    uint16(0) == 0x5a4d and
    for any i in (0 .. pe.number_of_signatures) : (
        pe.signatures[i].issuer contains "COMODO RSA Code Signing CA" and
        pe.signatures[i].serial == "4c:75:75:69:2c:2d:06:51:03:1a:77:ab:49:22:4c:cc"
    )
}

如图所示,需要从Virustotals网页复制两个字符串:

image.png

复制CA名并将其用于“.issue”条件以及用于“.serial”条件的序列号。注意YARA区分大小写,但是对大写识别存在非预期的错误,所以建议将序列号

4c:75:75:69:2c:2d:06:51:03:1a:77:ab:49:22:4c:cc

改成小写。

Virustotal Intelligence用户可以使用以下搜索规则来检测新上传中具有已撤销证书的恶意样本:

rule Compromised_Certificate { 
condition:
  //新文件,由超过30个引擎检测到“已撤销证书
  new_file and positives > 30 and tags contains "revoked-cert"
}

参考:

https://blog.csdn.net/m0_37552052/article/details/79012453

https://github.com/VirusTotal/yara

https://www.nextron-systems.com/2018/11/01/short-tutorial-how-to-create-a-yara-rule-for-a-compromised-certificate/

来源:freebuf.com 2018-11-02 14:22:05 by: LinuxSelf

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论