阿里云安全 · 2015/11/06 14:38

作者:喔欧(阿里巴巴安全部安全威胁情报中心)

0x00 背景介绍


在当下全球网络威胁活动中,国外攻击者主要使用Zeus、CryptoWall、Bedep、各类常见RAT工具等作为恶意负载,但在最近我们监控恶意威胁的过程中,发现个别高级样本攻击中使用了较为少见的BetaBot木马,关于此木马很少有相关的分析资料。在进一步了解、分析后发现,该木马还是具有很强的危害和对抗手段。为了方便监控BetaBot木马恶意攻击活动,所以记录相关分析结果,以供参考。

0x01 功能介绍


BetaBot,又被称为Neurevt,大概从2013年3月出现在地下市场被出售,售价大约在$120到$500。使用HTTP协议进行通信,使用RC4算法进行加密,代码使用C++语言编写,功能强大。据作者声称,该木马具备破坏杀软、自保护、BotKiller、Userkit(Ring3 Rootkit)、自定义注入技术、防其他木马感染、、DDoS、网络监视/阻塞、USB设备感染、SOCKS4代理、自校验保护、过UAC、反Sandbox等功能。

下图为示例的BetaBot服务端界面

0x02 木马功能


系统驻留

添加注册表自启动

添加Windows Tasks

收集信息

运行环境、系统信息、硬件信息、软件信息等

例如软件信息搜集

启动参数

部分命令以程序启动参数传入解析并执行

DDoS

支持4种类型的DDoS攻击方式

System Wide Userkit(Ring3 Rootkit)

功能名称引用作者描述,用于隐藏保护木马。

HOOK API列表

UAC欺骗绕过

根据用户语言习惯构造错误信息,欺骗用户

调用cmd.exe或者rundll32.exe触发UAC,实际调用木马自身

根据用户语言习惯构造错误信息

在BetaBot木马对抗杀软介绍时作者也提到了使用”社会工程学”的手段

配置解密


BetaBot的配置数据包含运行时所需要的释放目录位置、C&C、通信密钥等重要信息,并加密存放在木马文件内。

配置数据解密流程可以分为:

  1. 解密整体Config
  2. 依次解密C&C Entry

配置文件结构大小是0x0D56字节(随木马版本更新),下图为解密整体config初始化代码,构造参数,动态解密执行代码,替换启动线程。

解密线程从imagebase搜索加密config特征,通过RC4和4字节异或进行解密,RC4解密key在自身代码中保存,解析出所需数据后,使用自更新的加密key重新加密。

解密结果如下

上图中前半部分已经解密,偏移0x156起始的C&C Entry还需要使用图中偏移0x6选中内容作为key解密,解密流程见下图

可以看出该木马最多可以支持16个C&C配置。

例如解密出的一条C&C配置,其中包含了域名(偏移0x26)、端口(偏移0x14)、path(偏移0x66)、C&C通信key1(偏移0xAA)、key2(偏移0XB7)。

C&C通信解密


请求过程

构造请求数据

RC4加密请求数据并进行bin2hex转换,加密key是由C&C Entry配置的key1和随机字节序列拼接处理得到。

第一次请求会附上额外信息。

额外信息异或特定值并进行bin2hex转换。

最后将参与加密请求数据的随机字节序列进行bin2hex转换和上述bin2hex转换信息一起发送到服务端。

发送数据如下

响应过程

服务器响应包含两部分,header和body。

首先需要解密header,其中最重要的是8个DWORD组成的数组streams_array,位于偏移0x3C,表示body各个结构的长度。

解密过程如下,RC4加密key是由C&C Entry的key1和response数据的前四个字节组合异或得到。

最后根据streams_array计算body长度然后解密。

加密的body位于偏移0x5C,解密过程如下,RC4加密key是由C&C Entry的key2和response数据偏移0x4四个字节组合异或得到。

最终解密结果如下图,此图所示是服务端下发的监视域名列表配置。

其他

DNS阻断、表格抓取等功能可见参考链接。

0x03 对抗手法


反调试

1.ZwQueryInformationProcess检测DebugPort

2.DbgBreakPoint对抗

3.ZwSetInformationThread

4.多处代码执行过程反调试对抗

例如解密config代码中

反虚拟机

反JoeBox,GFI,Kasperksy,CWSandbox,Anubis等沙箱

反Sandboxie沙箱

反wine

导入API加密

通过遍历系统dll导出表,拼接成moduleName+’.’+APIName计算hash进行搜索

Hash计算方式

对抗杀软

检测杀软类型

禁用杀软

代码加密、动态替换

解密执行代码过程,例如解密Config线程函数体内容

在一些函数调用时通过替换stub参数实现。例如stub原始代码

替换参数

Snort检测规则

alert http any any -> any any (msg: "Betabot Windows RAT Trojan Online Request"; flow: established, to_server; content: "POST"; http_method; content:"="; http_client_body; pcre: "/=\d{8}&/P"; content: "1="; distance:1; http_client_body; content: "2="; distance:1; content: "3="; distance:1; content: "4="; distance:1; content: "5="; distance:1; flowbits: set, betabot_online; classtype: trojan-detect; sid:010200291; rev:1; )
复制代码

0x04 参考链接


  • securityintelligence.com/beta-bot-ph…
  • www.slideshare.net/securityxpl…

BetaBot 木马分析相关推荐

  1. 攻打医院服务器的SamSam勒索木马分析

    攻打医院服务器的SamSam勒索木马分析 近日一款名为SamSam的勒索木马在国外爆发.该木马利用医院系统的服务器漏洞实施入侵,再进行加密勒索钱财.由于医院网络信息安全水平普遍薄弱,SamSam成功感 ...

  2. CS -exe木马分析

    CS -exe木马分析 Cobalt Strike是渗透测试工具,可以通过exe木马实现远程控制. 一:生成exe Windows Executable 生成可执行exe木马:payload分段 Wi ...

  3. 一个简单木马分析及接管利用

    最近一段时间,感觉工作很是杂乱无章,博客也基本没时间来写,基本每月一篇,其实每写一篇也代表目前我自己的工作状态及内容.最近搞逆向这一块,找了些样本分析例子,自己也研究了一下,感觉有不少好东西,当然这些 ...

  4. 实验一木马分析(隐藏分析)实验

    实验一木马分析(隐藏分析)实验 1.木马隐藏技术 1)程序隐藏 木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑.当双击运行捆绑后的程序时,正常的exe 文件运行了.程序隐藏只能达到 ...

  5. 【木马分析】远控盗号木马伪装成850Game作恶

    很喜欢配图 前言 近期,360QVM团队捕获到一类在网上广泛传播的远控盗号木马,该木马伪装为正规棋牌游戏850Game的安装程序,在伪造的钓鱼网站(如:www.gam850.com)上挂马并诱骗用户下 ...

  6. 移花接木大法:新型“白利用”华晨远控木马分析

    360安全卫士 · 2015/05/28 5:11 0x00 前言 "白利用"是木马对抗主动防御类软件的一种常用手法.国内较早一批"白利用"木马是通过系统文件r ...

  7. 新型联网安卓多层锁机木马分析

    新型联网安卓多层锁机木马分析 作者:云在天(Harry_孙) 吾爱破解论坛首发 所用工具 安卓模拟器 Eclipse JEB2 Android killer 样本信息 文件名称:刺激战场盒子.apk ...

  8. 病毒分析之“驱动人生”挖矿木马分析及其清除方案

    "驱动人生"挖矿木马分析及其清除方案 0x00 概述 自2018年12月份"驱动人生"挖矿木马爆发以来,此木马一直处于活跃状态,更新版本更是达到了20+次.此木 ...

  9. linux病毒木马分析,Linux平台“盖茨木马”分析

    最近对Linux.BackDoor.Gates.6的一个病毒样本进行了分析,通过调查发现Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马.这篇文章主要介绍了Linux ...

最新文章

  1. SliverLight注册字典转换器方法
  2. 004_ZooKeeper客户端基础命令
  3. 至毕业设计组同学的一封公开信
  4. simulink仿真及代码生成技术入门到精通_Simulink仿真零基础入门到精通实用教学教程 自学全套...
  5. python回溯方法的模板_实例讲解Python基于回溯法子集树模板实现图的遍历功能
  6. java断点上传分片保存方案_分片上传与断点续传解决方案
  7. OpenCV计算机视觉编程攻略(第2版)代码
  8. 【fiddler抓包修改订单金额】
  9. 手机个人热点连接台式计算机,电脑怎么连接手机个人热点
  10. iis下ISAPI_Rewrite配置及 iis rewrite 规则书写
  11. day46 html
  12. 计算机无线键盘没反应,电脑怎么连接无线键盘 电脑连接无线键盘没反应怎么办...
  13. body 没有被撑开_为什么父div没有被撑开
  14. JS实现图片大小自适应且位置居中,防止图片变形
  15. 【算法导论-主定理】用主方法求解递归式 学练结合版
  16. 博客内容导航——你想要的我都有!
  17. ubuntu18.04怎么解压rar压缩文件
  18. 京东移动端首页-流式布局
  19. Fedora 26 安装搜狗拼音输入法 sogoupinyin
  20. 13. Roman to Integer

热门文章

  1. 像素颜色JavaFX示例--简易图片处理工具
  2. C/C++左值性精髓(二)哪些表达式是左值,哪些是右值?----右值表达式
  3. [推荐推荐][提供下载]ORACLE SQL:经典查询练手系列文章收尾(目录篇)
  4. Prism V2之旅(1)
  5. linux下的PHP+Mysql+PHPWind实现
  6. 【UR #4】元旦三侠的游戏(博弈论+记忆化)
  7. oracle惯用缩写的含义
  8. 给CentOS添加第三方源
  9. 项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(下)
  10. ASP.NET AJAX入门系列(1):概述