漫游螳螂(Roaming Mantis) 到达欧洲
2022-2-8 17:17:0 Author: paper.seebug.org(查看原文) 阅读量:13 收藏

译者:知道创宇404实验室翻译组
原文链接:https://securelist.com/roaming-mantis-reaches-europe/105596/

img

漫游螳螂(Roaming Mantis)是一种恶意攻击,目标是 Android 设备,通过钓鱼短信散播移动恶意软件。自2018年以来,我们一直在追踪漫游螳螂,并发表了五篇关于这项活动的博客文章:

距离上一篇博客文章已经有一段时间了,但是我们发现了漫游螳螂在2021年的一些新活动,以及 Android 木马 Wroba.g (或Wroba.o,又名 Moqhao,XLoader)的一些变化,这些变化主要用于本次攻击活动。此外,我们发现除了日本、台湾和韩国外,法国和德国也是“漫游螳螂”的主要目标。

漫游螳螂受害者地理分布

我们对“漫游螳螂”的最新研究表明,攻击者正专注于通过向欧洲用户发送钓鱼短信来扩大感染范围。法国和德国的攻击非常活跃,引起了德国警方法国媒体的注意。他们提醒用户注意钓鱼信息和受到攻击的作为登陆页面的网站。

Smishing alerts on German and French websites

德国和法国网站上的钓鱼信息提醒

通常,钓鱼消息包含一个非常简短的描述和一个登陆页面的 URL。如果用户点击链接并打开登陆页面,有两种情况: iOS 用户被重定向到模仿苹果官方网站的钓鱼页面,而 Wroba 恶意软件则被下载到安卓设备上。

Link from smishing message redirects to Wroba or phishing page

钓鱼信息重定向到 Wroba 或网络钓鱼页的链接

根据我们在2021年7月至2022年1月期间收集到的遥测数据,在许多地区检测到了 Wroba.g 和 Wroba.o。受影响最严重的国家是法国、日本、印度、中国、德国和韩国。

受Trojan-Dropper.AndroidOS.Wroba.g and Trojan-Dropper.AndroidOS.Wroba.o影响的地区

我们还给出一些非常有趣的数据,这些数据来自 Roaming Mantis 在2021年互联网周刊上发布的登陆页面统计数据,以及来自日本的独立安全专家@ninoseki 的Github 数据。这些数据显示了2021年9月某一天下载的 APK 文件数量、登陆页面域名数量,以及 Roaming Mantis 最关注的7个地区的 IP 地址数量。

The number of downloaded APK files and IPs/domains of landing pages

下载 APK 文件的数量和登陆页面的ip/域名

下表是基于 APK 文件下载次数的排名。受影响最严重的国家是法国,其次是日本、德国和其他国家。一些目标区域似乎与我们上面提到的遥测重结果一样。

地区 数目 假冒品牌
IPs 域名 下载
1 法国 5 1,246 66,789 谷歌浏览器
2 日本 4 539 22,254 大和运输公司
3 德国 1 162 2,681 谷歌浏览器
4 韩国 2 8 2,564 ePOST
5 美国 5 123 549 谷歌浏览器
6 台湾 1 62 302 智能宅急便 (Yamato transport in Chinese)
7 土耳其 3 5 27 谷歌浏览器

登陆页面反研究的技巧

在整个2020年和2021年,“漫游螳螂”背后的犯罪集团在登录页脚本中使用了各种混淆技术,以逃避侦查。

Variety of obfuscation techniques in the landing page script

登录页脚本中的多种模糊处理技术

除了模糊处理之外,登陆页面还会在非目标区域中阻止来自源 IP 地址的连接,并为这些连接显示一个假的“404”页面。

自2019年以来,登陆页面中的用户代理检查功能一直没有改变; 它通过用户代理评估设备,如果设备是基于 ios 的,则重定向到钓鱼页面,如果设备是基于 android 的,则发送恶意的 APK 文件。

技术分析: Wroba.g/Wroba.o 的加载器模块

我们以 kuronekoyamato.apk 为例,对 Wroba.g/Wroba.o 样本进行了深入分析,并观察了加载程序模块和有效载荷中的一些修改。首先,攻击者将编程语言从 Java 改为 Kotlin,它是一种旨在与 Java 完全互操作的编程语言。然后,攻击者删除了多指模糊技巧。除此之外,嵌入式有效载荷(\assets\rmocpdx\15k7a5q)的数据结构也作了如下修改:

Modified data structure of embedded payload]

嵌入式负载数据结构的修改

前八个字节的数据是垃圾代码(灰色) ,其次是有效负载的大小(橙色)、单字节 XOR 键(红色)、加密有效负载(绿色)和更多垃圾代码(灰色)。此外,在 APK 文件中嵌入了一个 ELF 文件, \lib\armeaib-v7a\libdf.so 它使用Java本地方法接口(JNI)作为第二阶段的有效载荷,用于解密,也是加载特性的一部分。解密过程和算法只有如下三个步骤:

Various obfuscation techniques in the landing page script

登录页脚本中的各种混淆技术

首先,loader 函数从嵌入的数据中获取每一部分数据,但垃圾数据除外。然后,使用嵌入的 XOR 密钥对加密的有效负载进行 XOR运算。在 XOR 操作之后,与以前的示例一样,使用 zlib 解压缩数据以提取有效负载(Dalvik Executable (DEX)文件)。

以下简单的 Python 脚本有助于提取有效负载:

#!/usr/bin/env python3

import sys
import zlib
import base64

data = open(sys.argv[1], "rb").read()
key = data[11]
size = data[10] | data[9] << 8 | data[8] << 16
enc = data[12:12+size]
dec_x = bytes(enc[i] ^ key for i in range(len(enc)))
dec_z = zlib.decompress(dec_x)

with open(sys.argv[1]+".dec","wb") as fp:
   fp.write(dec_z)

在这个示例中,解密的有效负载被保存为\data\data\ggk.onulfc.jb.utxdtt.bk\files\d并执行,以感染受害者设备上的恶意主模块。

技术分析: Wroba.g/Wroba.o 的有效载荷

关于 Wroba.g/Wroba.o 有效载荷的更新,卡巴斯基专家只观察到有效载荷部分有两个小的更新。其中一个功能是检查被感染设备的地区,以便用相应的语言显示钓鱼页面。在旧的样本中,它检测了三个地区: 香港、台湾和日本。现在,德国和法国被增加为新的地区。从本次更新以及上面的地图可以清楚地看出,德国和法国已经成为了 roba.g/wroba.o 版本的“漫游螳螂”的主要目标。

另一个修改是后门命令。开发人员添加了两个后门命令“get_photo”和“get_gallery”,并删除了命令“show_fs_float_window”。总的来说,有21个嵌入式后门命令。

List of embedded backdoor commands with the two new commands 'get_gallery' and 'get_photo'

嵌入式后门命令列表,包含两个新命令‘ get gallery’和‘ get photo’

这些新的后门命令被添加到受感染的设备,窃取图库和照片。这表明攻击者心中有两个目的。一种可能的情况是,犯罪分子窃取驾驶执照、健康保险卡或银行卡等详细信息,与二维码支付服务或移动支付服务签订合同。犯罪分子还可以利用偷来的照片以其他方式获得金钱,比如勒索或性交易。有效负载的其他功能没有改变。

总结

从卡巴斯基第一次观察到漫游螳螂攻击到现在已经快四年了。从那时起,该犯罪组织继续使用各种恶意软件家族(如 HEUR: Trojan-Dropper)进行攻击活动,以及各种攻击方法,如网络钓鱼、挖掘、散播和 DNS 病毒。此外,该组织现已扩大了地理范围,在其主要目标地区增加了两个欧洲国家。我们预计,由于强大的利益动机,这些攻击将在2022年继续发生。

MD5 hashes of Wroba.o

527b5eebb6dbd3d0b777c714e707659c
19c4be7d5d8bf759771f35dec45f267a
2942ca2996a80ab807be08e7120c2556
4fbc28088b9bf82dcb3bf42fe1fc1f6d
0aaf6aa859fbdb84de20bf4bf28a02f1
5bafe0e5a96b1a0db291cf9d57aab0bc
ddd131d7f0918ece86cc7a68cbacb37d


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1827/



文章来源: http://paper.seebug.org/1827/
如有侵权请联系:admin#unsafe.sh