沙盒规避...只需文件名
英文原文:https://isc.sans.edu/diary/28708如今,大多数组织都可以使用和部署许多沙盒解决方案来运行恶意文件并分析其行为,一些沙箱的主要问题是用于提交样本的文件名,文件可以命名为 "sample.exe"、"suspicious.exe"、"<SHA256>.tmp" 或 "malware.tmp"。
昨天,我发现了一个样本使用了一种很好的沙盒规避技术,仅基于...文件名!一些恶意软件家族确实在其可执行路径中搜索特定字符串。我在 VT 上发现了这个有趣的文件,它以以下名称上传:
f0a002c7d2174f2a022d0dfdb0d83973c1dd96c4db86a2b687d14561ab564daa.sample
VT 上只有 两家 检测出,该文件是一个 Windows .lnk 文件 (Microsoft Windows 快捷方式),但检查其大小 (375792 字节) 后存在更多数据:
必须将某些内容附加到文件中,在 .lnk 文件中,这里是执行的命令。使用 "one-liner" 脚本调用命令解释器:
这是个技巧:"dir / b "Comp*.*k"。
该脚本将查找与正则表达式匹配的文件。在 VT 上找到的文件没有原始文件名,最初命名为 "Compliance_2022.lnk"。如果你的沙箱使用其他名称,则脚本将无法运行,并且可能会在不产生任何活动的情况下直到沙箱超时。
然后,根据此命令的结果执行另一个循环:
C:\Windows\system32\cmd.exe /c findstr "strtxt" "Compliance.lnk"
此命令有助于提取另一个命令行:
产生下一个命令:
可以看到 "iex $c" 的存在,它是 Powershell 中的调用表达式。让我们解码 Base64,我们有这个 PowerShell 代码:
我试图访问 C2 服务器,但我得到一个空回复 (脚本如上所示退出):
但是如果你静态分析代码,你就会明白 C2 服务器应该返回一个 "Set-Cookie" 头。提供的 cookie 包含一个编码的 JSON 字符串,该字符串提供了更多要通过 Invoke-Expression 执行的 PowerShell 代码。
因为我们没有任何持久化机制,可以假设第一个 HTTP 请求返回的代码将下载下一个 stage 并感染计算机。
同样有趣的是,.lnk 包含一个嵌入的 PNG 图像,其中包含上述命令:
总之,避免更改名称、路径 …… 这可能会破坏它们的正常执行!
没看明白
页:
[1]