译者:知道创宇404实验室翻译组
原文链接:https://securelist.com/roaming-mantis-reaches-europe/105596/
漫游螳螂(Roaming Mantis)是一种恶意攻击,目标是 Android 设备,通过钓鱼短信散播移动恶意软件。自2018年以来,我们一直在追踪漫游螳螂,并发表了五篇关于这项活动的博客文章:
距离上一篇博客文章已经有一段时间了,但是我们发现了漫游螳螂在2021年的一些新活动,以及 Android 木马 Wroba.g (或Wroba.o,又名 Moqhao,XLoader)的一些变化,这些变化主要用于本次攻击活动。此外,我们发现除了日本、台湾和韩国外,法国和德国也是“漫游螳螂”的主要目标。
漫游螳螂受害者地理分布
我们对“漫游螳螂”的最新研究表明,攻击者正专注于通过向欧洲用户发送钓鱼短信来扩大感染范围。法国和德国的攻击非常活跃,引起了德国警方和法国媒体的注意。他们提醒用户注意钓鱼信息和受到攻击的作为登陆页面的网站。
通常,钓鱼消息包含一个非常简短的描述和一个登陆页面的 URL。如果用户点击链接并打开登陆页面,有两种情况: iOS 用户被重定向到模仿苹果官方网站的钓鱼页面,而 Wroba 恶意软件则被下载到安卓设备上。
根据我们在2021年7月至2022年1月期间收集到的遥测数据,在许多地区检测到了 Wroba.g 和 Wroba.o。受影响最严重的国家是法国、日本、印度、中国、德国和韩国。
我们还给出一些非常有趣的数据,这些数据来自 Roaming Mantis 在2021年互联网周刊上发布的登陆页面统计数据,以及来自日本的独立安全专家@ninoseki 的Github 数据。这些数据显示了2021年9月某一天下载的 APK 文件数量、登陆页面域名数量,以及 Roaming Mantis 最关注的7个地区的 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年,“漫游螳螂”背后的犯罪集团在登录页脚本中使用了各种混淆技术,以逃避侦查。
除了模糊处理之外,登陆页面还会在非目标区域中阻止来自源 IP 地址的连接,并为这些连接显示一个假的“404”页面。
自2019年以来,登陆页面中的用户代理检查功能一直没有改变; 它通过用户代理评估设备,如果设备是基于 ios 的,则重定向到钓鱼页面,如果设备是基于 android 的,则发送恶意的 APK 文件。
技术分析: Wroba.g/Wroba.o 的加载器模块
我们以 kuronekoyamato.apk 为例,对 Wroba.g/Wroba.o 样本进行了深入分析,并观察了加载程序模块和有效载荷中的一些修改。首先,攻击者将编程语言从 Java 改为 Kotlin,它是一种旨在与 Java 完全互操作的编程语言。然后,攻击者删除了多指模糊技巧。除此之外,嵌入式有效载荷(\assets\rmocpdx\15k7a5q)的数据结构也作了如下修改:
]
前八个字节的数据是垃圾代码(灰色) ,其次是有效负载的大小(橙色)、单字节 XOR 键(红色)、加密有效负载(绿色)和更多垃圾代码(灰色)。此外,在 APK 文件中嵌入了一个 ELF 文件, \lib\armeaib-v7a\libdf.so
它使用Java本地方法接口(JNI)作为第二阶段的有效载荷,用于解密,也是加载特性的一部分。解密过程和算法只有如下三个步骤:
首先,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个嵌入式后门命令。
这些新的后门命令被添加到受感染的设备,窃取图库和照片。这表明攻击者心中有两个目的。一种可能的情况是,犯罪分子窃取驾驶执照、健康保险卡或银行卡等详细信息,与二维码支付服务或移动支付服务签订合同。犯罪分子还可以利用偷来的照片以其他方式获得金钱,比如勒索或性交易。有效负载的其他功能没有改变。
总结
从卡巴斯基第一次观察到漫游螳螂攻击到现在已经快四年了。从那时起,该犯罪组织继续使用各种恶意软件家族(如 HEUR: Trojan-Dropper)进行攻击活动,以及各种攻击方法,如网络钓鱼、挖掘、散播和 DNS 病毒。此外,该组织现已扩大了地理范围,在其主要目标地区增加了两个欧洲国家。我们预计,由于强大的利益动机,这些攻击将在2022年继续发生。
MD5 hashes of Wroba.o
527b5eebb6dbd3d0b777c714e707659c
19c4be7d5d8bf759771f35dec45f267a
2942ca2996a80ab807be08e7120c2556
4fbc28088b9bf82dcb3bf42fe1fc1f6d
0aaf6aa859fbdb84de20bf4bf28a02f1
5bafe0e5a96b1a0db291cf9d57aab0bc
ddd131d7f0918ece86cc7a68cbacb37d
本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1827/