研究聚焦QBOT再度抬头.PDF

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 0 1 6 年 4 月 2 8 日,星期四 研究聚焦:QBOT 再度抬头 作者:Ben Baker。 Qbot (也称为Qakbot)估计早在2008 年时就已出现,但是最近它的开发和部署却大有抬头 之势。Qbot 正在转变为主要以银行凭证等敏感信息为目标的Qbot。我们通过本文揭露该恶 意软件尚未为大家所知的最新变化。 Qbot 主要以浏览器漏洞攻击包负载的方式造成感染。网站管理员通常会使用FTP 来访问服 务器,因此Qbot 会尝试窃取FTP 凭证,以便将这些服务器添加到其托管恶意软件的基础设 施中。Qbot 也可以通过服务器消息块(SMB) 在网络之间传播,因此,要从未受保护的网络 中清除它是非常困难的。 加壳程序 Qbot 使用了一种可变的加壳程序,在不同的样本之间变化十分显著。该加壳程序的字符串和 代码块随机变化,所以很难对其创建检测签名。随机化是Qbot 的常用手段,其使用的文件 名、域名和加密密钥都是随机生成的。 幸运的是,代码混淆并没有使加壳程序代码的行为变得复杂。解壳代码总是在内存中建立整 个PE 文件(可能是最初未解壳可执行文件的MD5 匹配文件),然后使用自定义加载程序执 行已解壳的文件。当加载程序调用Windows API VirtualProtect 时,可以将解壳的可执行文 件从内存中可靠地提取出来。因为解壳代码使用VirtualProtect 来保证已解壳的内存部分得到 执行,所以我们有可能在已解壳的代码得到执行并感染VM 之前,对其进行转储。 为了利用解壳程序的可预测性,我们使用Pykd 脚本对每个加壳文件进行调试。我们在 VirtualProtect 中设置了一个断点,然后扫描该进程的内存,以便转储已解壳的可执行文件。 我们在已解壳代码执行之前就终止其进程,因此,在样本之间无须恢复VM 。此脚本每秒可 以解壳多个样本,所以我们能够解壳大量样本。 我们分析了618 个加壳的样本,所有这些样本解壳为73 个不同的样本。每个样本都以多种 不同方式加壳,以使散列签名的有效性降低。 安装 当加壳程序在内存中加载已解壳的可执行文件后,Qbot 便会检查它是否已完成安装。如果 Qbot 未从“%appdata%\Microsoft\[RandomName]\ [RandomName].exe”运行,则会从该 位置执行自我复制,并执行副本。 Qbot 通过向梅森旋转算法随机数生成器植入字符串或SHA1 散列的CRC32 校验和,生成随 机字符串,然后重复产生随机整数,作为字母阵列的索引,以挑选字母。它会使用从 ProductId (位置为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId)生成的种子、计算机的名称(通过Windows API GetComputerNameA 获得)和硬盘驱动器序列号(通过Windows API GetVolumeInformationA 获得)生成安装文件夹的名称。 Qbot 使用确定性的字符串生成器,因此如果样本在同一台计算机上运行,就始终会产生相同 的文件名和互斥体。例如,如果沙盒使用静态产品ID、计算机名称和卷序列号,则文件名看 似是静态的,但是在任何其他计算机上都不尽相同。这导致很难为客户创建通用的IOC,不 过,创建沙盒IOC 来识别Qbot 还是很容易实现的。 当Qbot 在其安装目录中得到执行后,它将执行Windows 可执行文件“Explorer.exe”的一 个新实例。注入进程加载含有恶意DLL 的资源“IDB_BITMAP1”。该资源使用前20 个字节 作为RC4 密钥来解密。解密后的数据含有压缩形式的DLL,位于压缩数据的SHA1 散列之 后。 压缩看起来是自定义的,但是与 LZSS (带有指向作为词典的现有解压缩数据的偏移长度对) 相似。文件被分解为压缩块,每一个开头都是如下格式的24 字节报头: Magic Bytes[8]: \x61\x6C\xD3\x1A\x00\x00\x00\x01 Compressed Data Size[4] Compressed Data CRC32[4] Decompressed Data Size[4] Decompressed Data CRC32[4] DLL 被分解为3 个压缩块,这意味着从第一次解密开始,Qbot 就会使用SHA1 散列来检查6 个CRC32 校验和。要加载一个DLL,就要进行大量错误检查。 日志记录 Qbot 将日志记录在安装路径的一个加密文件中。日志文件具有DLL 扩展名,而文件

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档