首页 > 科技 >

隐藏在证书文件中的PowerShell

2018-08-25 06:22:32 网络整理 阅读:88 评论:0

隐藏在证书文件中的PowerShell

最近,NVISO实验室分析人员开发了某种YARA规则,利用它发现了多种恶意证书文件(.crt),这些证书文件中包含的并不是真正的认证证书,而是一个恶意的PowerShell脚本。作为《隐藏在证书文件中的PowerShell》系列的第1部份,本文中我们一起来探讨如何制作这种YARA规则,去揭开攻击者的这种“潜伏“行为。

Windows系统中的证书文件有多种后缀格式,如.cer 和 .crt,通常,.cer 文件包含的是二进制数据,而 .crt 文件包含的则是一些ASCII数据。但随着多种微软应用程序的出现,这两种扩展名可以互换,应用程序仍然也能正确处理这两种互换过后缀扩展名的证书文件(他们会查看证书内容并进行相应的解析)。

本文中我们还是遵守惯例,即用.cer 文件来包含二进制数据,而 .crt 文件来包含ASCII数据。.cer 文件中包含的认证数据是按照DER可辨别编码规则(Distinguished Encoding Rules)来编码的,这是x.690标准指定的编码格式。以Microsoft office程序为例,以下是其安装目录中的 .cer 文件示例:

隐藏在证书文件中的PowerShell

.crt 文件中包含的是ASCII数据,说白了,它也就是对 .cer文件的base64编码。根据RFC 7468标准来看,,.crt 文件格式以“-BEGIN CERTIFICATE”为开头,以“-END CERTIFICATE”为结尾,中间则是一些经base64编码过的数据。使用Certutil工具,可将 .cer文件转换生成 .crt文件,以下就是 .crt的一个示例:

相关文章