本文介绍FindMyName攻击活动中出现的Azorult恶意软件变种和使用的混淆技术。

Azorult是通过垃圾邮件活动传播的恶意宏文档中使用的木马家族,同时也是RIG利用套件中的备用payload。2018年10月,研究人员发现一起使用Fallout利用套件将新Azorult变种作为主payload进行传播的正在进行的攻击活动。因为final利用页面的域名是findmyname[.]pw,因此研究人员将该攻击活动命名为FindMyName

FindMyName攻击活动第一阶段分析

10月20日,研究人员发现了FindMyName攻击活动。在随后的3天内,研究人员共发现Fallout 利用套件使用的5个不同的URL链。这5个URL链都将受害者重定向到同一个域名:findmyname[.]pw

FindMyName攻击活动的第一阶段如图1所示:

图1 攻击的第一阶段

虽然findmyname[.]pw的5个final页面都是不同的,但是内容是相似的。如图2所示:

图2 混淆后的landing page
Fallout利用套件使用了不同的html标签来隐藏真实的利用代码和高度混淆的标签内容,包括span, h3, p等。解密后,真实的VBScript代码利用了 IE VBScript漏洞CVE-2018-8174

图3利用CVE-2018-8174的代码段

漏洞利用成功后,Fallout利用套件会下载一个.tmp文件到%Temp%目录,并调用CreateProcess来执行tmp文件。进一步分析发现.tmp文件是最新的Azorult变种。这也是研究人员首次发现Azorult恶意软件变种被Fallout利用套件用作主要的payload。

FindMyName攻击活动第二阶段分析

Azorult恶意软件变种分析

Azorult恶意软件加载是暗网出售的商业化木马。研究人员在FindMyName攻击活动中共发现3个Azorult恶意软件的变种,其中有2个之前没有出现过。研究人员分析获取的样本发现恶意软件有以下特征:

  1. 通过API洪泛绕过反病毒模拟器;
  2. 阻碍通过控制流平坦化(control flow flattening)混淆技术来逆向恶意软件;
  3. 使用process hollowing进程创建技术构造新的恶意软件镜像;
  4. 窃取更多浏览器的凭证、cookie、历史记录和保存的自动填充;
  5. 窃取更多的加密货币钱包;
  6. 窃取skype, telegram, steam, FTP客户端, Email客户端的凭证和历史记录;
  7. 通过安装的程序、截屏、机器信息、用户名、操作系统版本和运行的进程来获取受害者信息;
  8. 从用户桌面收集文件;
  9. 反取证组件可以清除所有释放的文件;
  10. 根据C2通信执行特定的文件。

API洪泛和控制流平坦化混淆

最早的Azorult恶意软件是用Microsoft Visual C++ 7.0编写的。

图4 control flow flatten

图5 API flooding

Process Hollowing

Azorult会使用process hollowing技术来构造新的恶意软件镜像。

恶意软件执行如图6所示:

图6 样本process hollowing

C2通信

从进程中复制出的新木马文件是用Delphi编写的。当样本执行时,会连接到C2服务器接收指令。为了绕过IPS,C2流量也被混淆了。发回C2的数据包括用哈希算法编码的机器GUID、Windows产品名、用户名和计算机名形成的唯一受害者ID。然后恶意软件会解密C2地址,并将加密的受害者IDPOST51[.]15[.]196[.]30/1/index.php。C2流量如图7所示。

图7 C2请求

样本会解密并验证C2响应的有效性。解密的C2内容由三个部分组成。第一个部分在<n></n>标签中,含有48个合法的DLL,用于信息窃取。第二部分在<d></d>标签中,含有用于信息窃取的应用信息:包括应用路径、相关的注册表和凭证文件名。第三部分位于<c></c>标签中,含有样本的C2配置。C2配置文件如图8所示。根据pcap分析,研究人员发现该样本会检查以下字符:

  1. “+”: 启用特定的恶意函数
  2. “-”: 禁用特定恶意函数
  3. “I”: 收集主机IP信息
  4. “L”: 从远程服务器下载和执行文件

图8 C2配置

C2中说明的恶意软件:

  1. 窃取浏览器密码凭证;
  2. 窃取浏览器cookie、自动填充凭证,从FTP客户端、Email客户端窃取凭证;
  3. 窃取浏览器历史;
  4. 窃取比特币钱包;
  5. 窃取Skype聊天信息main.db
  6. 窃取telegram凭证;
  7. 窃取steam凭证(ssfn)和游戏metadata(.vdf);
  8. 截图并发送给攻击者;
  9. 清除临时恶意软件;
  10. 从桌面收集文件;
  11. 发送GET请求到ip-api[.]com/json来获取主机IP信息;
  12. 下载和执行C2指定的文件。

图9是从Firefox和Thunderbird中窃取敏感信息的C2配置示例:

图9 窃取信息的C2配置

C2流量如图10所示:

图10 C2流量概览

信息窃取器

样本会从32中浏览器中窃取凭证和用户数据,包括Chrome, Firefox和Qihoo 360等主流浏览器。为了从浏览器窃取凭证,样本会从C2响应中下载48个合法的dll文件到%AppData%\Local\Temp\2fd文件夹,如图11所示:

图11合法dll文件

这一动作的目的是加载nss3.dll和下面的函数:

这些函数都用于复制敏感的浏览器信息。比如恶意软件会用sqlite3_*函数来获取Firefox浏览器历史信息,如图12所示:

图12使用nss3.dll中的APIs窃取Firefox敏感信息

下面是从保存的Chrome数据中窃取用户名和密码。恶意软件样本会在路径%LOCALAPPDATA%\Google\Chrome\User Data\下搜索Login Data。绕过搜索到,就复制Login Data文件到%AppData%\Local\Temp,并调用nss3.dll中的sqlite3_prepare_v2函数来窃取凭证,如图13所示:

SELECT origin_url, username_value, password_value FROM logins

图13 从窃取的浏览器凭证中选择字符串

恶意软件样本也会从前面提到的浏览器中提取cookie、书签和自动填充信息。凭证信息保存在PasswordsList.txt,cookies保存到CookieList.txt

样本还会从窃取以下加密货币钱包:

恶意软件会找到含有加密货币钱包敏感信息的特定文件。比如,图14就是样本尝试在Coins\MultiBitHD中找到并发送mbhd.wallet.aes文件。

图14 窃取加密货币钱包

恶意软件样本会从主流应用中窃取凭证和用户数据,包括Thunderbird, FileZilla, Outlook, WinSCP, Skype, Telegram, Steam。样本也会窃取桌面的文件。图15是样本从%appdata%\Telegram Desktop\tdata目录中找到D877F783D5*.map*文件来从Telegram中窃取敏感信息。

图15 窃取应用凭证

恶意软件样本会收集用户信息,包括当前进程,安装的软件,系统语言和时区。窃取的凭证和用户信息都会发送给C2。下面是收集的一些系统信息:

图16截屏

恶意软件收集的信息如图17所示:

图17 恶意软件收集的信息

执行指定文件

攻击者可以通过Create ProcessShellExecute远程控制受感染的系统执行任意文件,如图18所示。研究人员还发现恶意软件可以访问恶意URLplugin-update[.]space/download/10.17.18.exe来获取文件。

图18 调用Create ProcessShellExecute来执行文件

Azorult新变种还可以以本地系统权限执行恶意软件。通过以下逻辑来检查当前SIDtoken,如图19所示:

图19 检查SID和token

图20 以本地系统权限创建进程

擦除痕迹和删除文件

恶意软件会擦除%temp%\2fda中的所有文件,并根据C2命令删除文件,如图21和图22所示:

图21 擦除感染痕迹

图22 根据C2命令删除文件

总结

研究人员发现一起新的攻击活动findmyname,攻击者使用Fallout利用套件传播Azorult恶意软件的新变种。该新变种增强了许多能力,可以从更多的软件和加密货币钱包中窃取信息。相比而言,最新的Windows系统主机感染率更低。

https://researchcenter.paloaltonetworks.com/2018/11/unit42-new-wine-old-bottle-new-azorult-variant-found-findmyname-campaign-using-fallout-exploit-kit/

源链接

Hacking more

...