Cmstar 下载: 耸人听闻的和 Enfal 的新表弟
Resolution
转载从单位42。
最近几周, 42 单元一直在分析矛网络钓鱼攻击中使用的交付文档, 这些文件丢弃了用于网络间谍攻击的自定义下载器。这个特定的下载者, Cmstar, 是与耸人听闻的下载也称为 ' Enfal '。Cmstar 是由下载者使用的日志消息 "CM" 命名的。
42单元了解使用两个工具包-MNKit 和 Duy 灵工具包的威胁参与者, 以生成利用 CVE-2012-0158 以植入 Cmstar 的恶意文档。Cmstar 下载软件本身有几个独特和有趣的功能, 以及大量的基础设施与其他值得讨论的工具重叠。
手动建立进口地址表
Cmstar 下载者从手动构建其导入地址表 (IAT) 开始, 就像 shellcode 一样;然而, 它使用了一种非常独特的技术。此恶意软件不根据其哈希值查找 api 函数名称, 而是枚举库的导出地址表 (吃), 并搜索使用字符偏移数组时负载需要加载的 api 函数的名称。有效负载对几个逗号分隔的字符列表, 其中有逗号分隔的数字列表。每个字符列表都包含在 API 函数名称中找到的集合, 该集在负载试图添加到它的 IAT 中, 而相应的数字列表指定了函数名称中应放置这些字符的偏移量。例如, 如果负载具有 "D、e、" 与 "05、19" 配对, 则会导致以下映射:
- "D" 在 API 函数名的偏移量0中
- "e" 在 API 函数名称的偏移量5中
- "A" 在 API 函数名称的偏移量19中
负载通过使用 IMAGE_DIRECTORY_ENTRY_EXPORT 标志调用 ImageDirectoryEntryToData API 函数来加载特定的 Windows 库的 "吃"。然后通过检查字符和特定偏移量的每个函数名来枚举库的 "吃" 来查找导出的函数名。一旦发现, 有效载荷将特定 API 函数的地址添加到其 IAT 中。例如, 负载通过上面提到的比较来检查 "wininet.dll" 的吃, 以找到 "DeleteUrlCacheEntryA" API 函数的地址。我们分析的一个特定的 Cmstar 负载使用了图1中所示的字符/偏移量, 以便在三个不同的 Windows 库中找到 API 函数来构建它的 IAT。
| 存储库 | 字符 | 偏移量 | 函数名 |
| wininet.dll | D、e、A | 05, 19 | DeleteUrlCacheEntryA |
| e、O、A | 38, 12 | InternetOpenA | |
| e、C、A | 38, 15 | InternetConnectA | |
| p, O, A | 34, 15 | HttpOpenRequestA | |
| p, S, A | 34, 15 | HttpSendRequestA | |
| p, E, 一个 | 34, 14 | HttpEndRequestA | |
| p, Q, 一个 | 34, 13 | HttpQueryInfoA | |
| e、R、e | 38, 15 | InternetReadFile | |
| e、C、e | 38, 18 | InternetCloseHandle | |
| advapi32.dll | S, V, 一个 | 36, 13 | RegSetValueExA |
| C、s、y | 36, 10 | RegCloseKey | |
| O, K, 一个 | 37, 12 | RegOpenKeyExA | |
| D、K、A | 39, 12 | RegDeleteKeyA | |
| D, V, A | 39, 14 | RegDeleteValueA | |
| U, r, A | 36, 11 | GetUserNameA | |
| v, t, S | 36, 12 | ConvertSidToStringSidA | |
| k, a, a | 36, 17 | LookupAccountNameA | |
| kernel32.dll | W, E, c | 03, 6 | WinExec |
| C、M、A | 01017 | CreateFileMappingA | |
| U, V, e | 05, 14 | UnmapViewOfFile | |
| M, O, e | 07, 12 | MapViewOfFile |
图 1. 在 Cmstar 有效负载和生成的 API 函数名称中找到的字符和偏移对
Cmstar 行为
在手动创建 IAT 之后, Cmstar 解密其配置、几个加密字符串和一个 shellcode。嵌入配置仅包含 Cmstar 用作其命令和控件 (C2) 位置的 URL。特洛伊木马内的加密字符串包括 Cmstar 将创建的 HTTP 请求中使用的字段, 用于与其 C2 服务器通信, 以及用于与注册表进行交互的其他字符串。与 MNKIT 传递文档关联的 Cmstar 示例创建以下注册表项, 以便在系统启动时自动执行:
- HKCU \ 软件 \ 微软 \ Windows \ CurrentVersion \ 运行 \ xpsfiltsvcs: "rundll32.exe
- C: \ DOCUME ~ 1 \ ADMINI ~ 1 \ 当地人 ~ 1 \ Temp \ xpsfiltsvcs dll, XpsRegisterServer "
42单元找到了一个附加的加密注册表项, 允许 Cmstar 在重新启动后自动启动。但是, 代码不会以任何方式解密、引用或使用以下注册表项, 这表明恶意软件作者在交换到上面列出的运行密钥后将此工件留在代码中:
- HKCU \ 软件 \ 微软 \ LangBarAddIn
Cmstar 还解密了与 C2 服务器进行通信的一个752字节的 shellcode, 特别是通过将 HTTP POST 请求发送到以下 URL:
应该注意的是, C2 URL 包含字符串 "cgl bin", 它在视觉上类似于许多 webservers 使用的通用 cgi bin 文件夹来运行服务器端脚本。42单元使用帕洛阿尔托网络自动对焦威胁情报服务, 在 HTTP 请求的 url 中使用 "cgl" 字符串查找其他示例, 并找到与耸人听闻/Enfal 下载器1相关的 Cmwhite 工具的几个示例, 如见图 2. 图 2. Cmwhite 在 http 请求中使用 "cgl bin"的工具 Cmstar 的 http POST 请求发送到 "快乐. launchtrue [.]com "包含特洛伊木马程序从受感染的计算机中收集的数据, 其结构如下<Windows version="" number="">: @@?<CPU architecture="" (2="" for="" x64,="" 1="" for="" x86)="">?<boolean for="" elevated="" privileges="">]]**<boolean if="" antivirus="" processes="" are="" found="">!!<static version="" string="">==<ex 3=""><bx 4="">在一个示例中, 42 单元在分析环境中观察到以下数据, 然后使用单字节 XOR 算法和0x45 的密钥在发送到 C2 服务器之前对其进行加密:<ex 4=""><bx 5="">510@@1??1]] ** 0!!150316 o = =<ex 5="">有用的是, 恶意软件作者将日志消息写入 "DF64159"。TMP 文件, 用于在 Cmstar 下载者的整个执行过程中用于调试目的. </ex> </ex> </static> </boolean> </boolean> </CPU> </Windows></bx></ex> </bx> 日志消息是用于描述代码执行期间特定活动的缩写字符串。例如, 下载程序使用 CreateMutex 创建名为 "{53A4988C-F91F-4054-9076-220AC5EC03F3}" 的互斥体, 以确定是否正在运行该代码的另一个实例。如果下载者确定另一个自己的实例正在运行, 则代码会将字符串 "CM" (恰好是特洛伊木马程序名称的基础) 写入日志文件。单元42创建了一个 Yara 签名, 以根据这些调试字符串来检测 Cmstar 示例, 这在附录中可用。
哈希处理名称
如行为分析部分所述, Cmstar 下载器收集系统特定的信息发送到 C2 服务器。其中一条信息是特定运行过程的存在。许多恶意软件家庭和工具检查是否存在防病毒软件, 但 Cmstar 工具以巧妙的方式进行。Cmstar 枚举正在运行的进程, 并将这些进程名称主题为哈希算法, 而不是包含相关进程的字符串列表。然后将该算法的结果与三静态值进行比较: 0x1E00AFA、0xBEE091E8 和0xD46FCDFA。42单元逆向设计了算法, 并创建了下面所示的函数生成哈希, 以确定 Cmstar 正在尝试查找的进程:
12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
42单元发现, 在上述算法下的字符串 "avp" 结果在值 0x1E00AFA, 这表明 Cmstar 样本专门寻找卡巴斯基的反病毒产品 (avp.exe) 运行在受损的系统。如果特洛伊木马程序发现其哈希与前面提到的三值匹配的进程, 它将在发送到 C2 服务器的数据中设置一个布尔值 (字符 "1"), 并继续执行其功能。Cmstar 只有在系统运行其中一个过程时才通知 C2 服务器, 而不是改变其活动, 这表明威胁行为者可能会使用此技术作为过滤机制, 忽略分析系统和研究人员。
威胁基础结构
为了确定与 Cmstar 有关的入侵集, 为其 C2 服务器使用的下载器的42单元枚举基础结构。图3中的相关基础结构图显示了一个相当大的相关实体群, 其中一小部分实体不与较大的集群共享任何相关实体。图 3. 基础结构和 Entites 相关的 Cmstar如图所示, C2 域 ' 快乐. launchtrue [.]com ' 最初是使用电子邮件地址 "WANGMINGHUA6@GMAIL" 注册的。COM ". 当42单元使用帕洛阿尔托网络自动对焦威胁情报服务来查找额外的 Cmstar 样本时, 我们发现有几个 C2 域也有相同的原始注册人:
- 链接. dogsforhelp [.]Com
- 三. earewq [.]Com
- 问题. eboregi [.]Com
- pechooin [.]Com
- sarey. phdreport [.]Com
- bakler. featurvoice [.]Com
唯一已知的 Cmstar C2 域最初未由电子邮件地址注册是帮助. ubxpi0s [.]Com。进一步的分析显示, 与 Cmstar C2 域相关的其他域也最初是使用电子邮件地址 "WANGMINGHUA6@GMAIL [.] 注册的。COM ', 并在几天内更新到当前信息。此外, 这是在我们的 Google 代码博客2中使用的 C2 域的原始注册人, 表明此注册者电子邮件很可能是一个重新卖家, 和/或某人谁最初建立基础设施, 特别是易威胁行为者.
- 永远. cowforhelp [.]Com
- 问题. shiesiido [.]Com
- endline. biortherm [.]Com
- 对. marubir [.]Com
- 宝贝. brabbq [.]Com
- 林德. kruptcy [.]Com
与 Cmstar 基础结构相关的其他域没有使用上面提到的原始注册者, 而是保留了最初用于注册它们的相同信息。域注册模式的差异可能表明威胁参与者首选项, 或者表明至少有两个组使用此恶意软件, 其基础结构有时会重叠。
- 在. suttgte [.]Com
- 帮助. ubxpi0s [.]Com
- 最后. basiccompare [.]Com
- 水晶 diskfunc [.]Com
- queenfansclub [.]Com
- novnitie [.]Com
- 闪光-vip [.]Com
- replyfunt [.]Com
- natcongress [.]Com
- 保持. regebky [.]Com
- 爱. regebky [.]Com
有趣的是, 更新的注册信息 (或原始的情况下, 它没有改变) 的所有 C2 域在这个博客也被用来注册诈骗网站, 最声称出售的产品, 如鞋, 软件, 或细胞手机。 联系人电子邮件和联系人姓名可能会有所不同, 但地址被重新使用。蓝大衣在去年晚些时候发表的博客中也提到了这种模式, 同时也注意到了 "WANGMINGHUA6@GMAIL"。COM 的注册人电子邮件。3不知道进行恶意活动的威胁行为者是否也在诈骗网站后面.
结论
Cmstar 工具有几个有趣的功能, 包括一个以前看不见的方法, 它使用 API 函数名字符以偏移映射技术手动创建其导入地址表, 以及一个哈希算法, 用于查找感染的系统。这两种功能都值得注意, 并可能提供将将来的工具与同一组和/或恶意软件作者关联的能力。Cmstar 使用的 URL 与其 C2 服务器通信, 以及重要的基础结构重叠, 显示了 Cmstar 下载器、耸人听闻/Enfal 和 Cmwhite 工具之间的直接关系. 在大多数情况下, 使用 Cmstar 下载器的威胁参与者最初使用电子邮件地址 "WANGMINGHUA6@GMAIL" 注册 C2 域。COM ' 和以后更改注册信息, 以包括不同的电子邮件地址。42单元无法正面确认威胁行为者控制 "WANGMINGHUA6@GMAIL [.]COM 的电子邮件地址, 或如果电子邮件地址属于一个转销商, 威胁参与者购买域从创建他们的基础结构;然而, 我们相信这是一个有趣的, 值得跟踪在未来的基础结构枚举。
- "耸人听闻的" 下载-Nart 维伦纽夫和大卫桑丘- http://la.trendmicro.com/media/misc/lurid-downloader-enfal-report-en.pdf
- 使用谷歌命令和控制代码攻击东亚-- http://researchcenter.paloaltonetworks.com/2014/08/attacks-east-asia-using-google-code-command-control/ -奥斯本和罗布
- 连接 APTs 从2011年和2014到一个活跃骗局网络-基尔 Wadner – https://www.bluecoat.com/security-blog/2014-10-08/linking-apts-2011-and-2014-active-scam-network