导语:手机吸费软件主要以两种形式出现:一种是手机生产商在定制手机时已经将吸费的软件做进去了,并且设置好了吸费软件的代码,甚至把上行代码和SP公司的计费单都做好了;另外一种是智能手机的软件,以正常服务软件的形式安装在手机里,但里面其实包含了恶意扣费代码。
手机吸费软件主要以两种形式出现:一种是手机生产商在定制手机时已经将吸费的软件做进去了,并且设置好了吸费软件的代码,甚至把上行代码和SP公司的计费单都做好了;另外一种是智能手机的软件,以正常服务软件的形式安装在手机里,但里面其实包含了恶意扣费代码。
后一种形式的扣费也非常隐秘,一旦智能手机中安装了以正常服务软件出现的恶意扣费软件,这些软件就会屏蔽掉通信运营商(如中国移动10086)发送的收费提示短信,不知不觉中,用户的话费就被扣掉了。
Check Point研究人员最近发现了Android 平台新出现了一个吸费恶意软件 WAPDropper,这是一种新型恶意软件,可以下载并执行其他有效载荷。在已经发现的攻击活动中,它使用了WAP高级拨号器,该拨号器在受害者不知情或未同意的情况下向受害者提供高级服务。
该恶意软件属于一个新发现的恶意家族,它包含两个不同的模块:删除程序模块(用于下载第二阶段恶意软件)和高级拨号程序模块,用于使受害者订阅合法来源提供的高级服务,攻击中涉及到有泰国和马来西亚的电信提供商。
但感染链非常简单,在通过第三方市场在设备上安装了初始应用程序之后,WAPDropper与C&C(命令和控制)服务器联系并接收要执行的有效载荷。有效载荷是高级拨号器模块,它打开一个小的Web视图,并与合法电信公司提供的高级服务联系。 WAPDropper成功加载登录页面后,它将尝试为用户订阅这些服务。在某些情况下,需要CAPTCHA(验证码服务)步骤才能完成预订,WAPDropper通过使用提供图像识别机器学习解决方案的中国公司“ Super Eagle”的服务通过了此测试。
攻击链流程图
测试从这个URL开始:https://l[.]facebook1mob[.]com/index.php?r=api/back,我们注意到该URL有大量连接,并发现了一个恶意软件框架,如下图所示可追溯到其中两个IP地址:
这些IP地址解析为ip.cooktracking[.]com,域,该域本身就非常有趣。
卡巴斯基研究人员在今年4月发布了他们的发现,该发现涉及可下载第二阶段恶意软件的恶意软件,他们将其比喻为“Trojan Matryoshka”。
根据卡巴斯基的研究,该恶意软件通过向位于ip.cooktracking[.]com/v1/ls/get的C&C服务器启动渗透数据来开始感染链。
基于网络框架和恶意软件功能,我们认为这两个活动是相互关联的,甚至可能涉及相同的攻击者。
WAPDropper恶意软件的技术分析
如前所述,WAPDropper恶意软件家族包含2个不同的模块。第一个是Dropper模块,它可以下载其他恶意软件模块,并有可能传播和启动不同的攻击媒介。
第二个模块是高级拨号程序,这是一种恶意软件,其唯一目的是在受害者不知情或未经其同意的情况下为其订阅高级服务。
在执行时,恶意软件主要隐藏其图标,以防止任何用户识别和卸载恶意软件。此外,恶意软件还会执行检查以识别设备是否配置了代理或VPN。如果未配置,则恶意软件会启动Dropper模块以下载并执行其他有效载荷。
恶意软件在执行时隐藏其图标
恶意软件启动了Dropper模块
WAPDropper首先收集有关受害者设备和系统的数据,包括:
· 设备ID;
· Mac地址;
· 订阅者ID;
· 设备模型;
· 所有安装的应用程序的列表;
· 运行服务列表;
· 最高活动包名称;
· 屏幕是否打开;
· 是否为此应用启用了通知;
· 这个应用程序启用通知了吗?;
· 这个应用程序能绘制覆盖图吗;
· 可用的空闲存储空间量;
· RAM和可用RAM的总量;
· 非系统应用程序列表;
它将信息发送到硬编码的C&C服务器https://ks7br7.3q03on[.]com:12038,这是主要的C&C服务器。
反过来,主C&C服务器会向恶意软件发送其他C&C列表,并从中为每个将来的请求选择一个随机URL。
该恶意软件会随机选择一个C&C服务器
收到来自C&C服务器的响应后,WAPDropper会解析JSON配置,其中包括有关Dropper模块下载的其他有效载荷的说明和规范,包括:
· 有效载荷的下载URL;
· 下载文件的MD5验证;
· 反射调用的类名称和方法名称;
· 执行频率(分钟);
· 最大执行次数;
有效载荷的JSON配置
完成下载每个有效载荷后,WAPDropper会将下载的DEX文件解密为.jar文件,并将它们本地存储在受感染的设备上,同时继续下载等待的有效载荷。有效载荷解密后,立即执行。 WAPDropper加载解密的.jar文件,并立即将其从设备中删除,以避免留下痕迹。
每个有效载荷均具有在JSON配置中配置的执行频率,WAPDropper会针对每个不同的有效载荷监视此频率,并将有关有效载荷当前状态的报告连续发送到它的一个C&C服务器。
高级拨号器模块的主要目的是操纵发给亚洲电信公司的金融交易,并在受害者不知情或未同意的情况下向受害者提供高级服务
拨号程序模块要做的第一件事是解密存储在其代码中的DEX文件,并将其写入名为“data.jar”的文件中。
WAPDropper使用了许多反射技术,并严重混淆了字符串以隐藏其意图。保存DEX文件后,它将使用反射加载并调用实际的初始化方法。放置程序还从内存中加载本机库文件,并将其存储在设备上以供以后使用。
从内存加载本地lib文件
WAPDropper接下来将启动一个计时器,该计时器将有关受感染设备的基本信息定期发送到以下https://api[.]biwbrd[.]com/un。
发送到api[.]biwbrd[.]com的信息
然后,WAPDropper将请求线程发送到C&C服务器,让服务器发送一个广告报价。
收到广告报价后,该恶意软件会构建一个1×1像素的对话框,该对话框几乎看不见,但实际上包含一个很小的Web视图。
该恶意软件会构建一个1×1像素的对话框
这个很小的对话框使恶意软件可以加载以前解压缩的本机库,该库负责从所有HTTP请求中删除所有“X-Requested-With” HTTP标头。
“X-Requested-With”是一个HTTP标头,用于验证没有CSRF(跨站请求伪造)尝试,即未利用用户的浏览器将未经授权的命令从用户端的目标站点。
WAPDropper将所有出现的“X-Requested-With”字符串替换为“Accept-Encoding”字符串,这导致立即禁用对CSRF攻击的防护。
图9.恶意软件将所有出现的“ X-Requested-With”字符串替换为“ Accept-Encoding”字符串。
下一步是将恶意JavaScript注入新的易受攻击的Web视图。
该JavaScript是一个界面,提供了一个可以执行以下操作的远程网站:
· 获取受害者的电话号码;
· 获取受害者的电话信息;
· 获取短信列表;
· 发送短信至一个指定号码;
· 将POST请求发送到一个指定的URL;
另一个有趣的恶意软件功能是可识别CAPTCHA的能力以及它如何在Web视图中输入结果。
WAPDropper选择是下载图片并发送到服务器,解析图片的DOM树,提取它,用Base64进行编码,然后发送到https://upload[.]chaojiying[.]net/Upload/Processing.php服务器
该服务器是由一家名为“Super Eagle”的中国公司提供的服务,该服务为图像验证代码识别和图像分类提供了基于ML的解决方案。
当恶意软件将验证码图像提交给服务时,平台会在图片中返回识别结果的坐标位置,然后解析坐标模拟着陆。
恶意软件的CAPTCHA识别功能
下一步,WAPDropper获取URL列表,以将其加载到Web视图中。
通过查看软件包名称和相应的功能,可以很明显地看出该恶意软件是针对电信公司的,以操纵金融交易。
恶意软件的主要目标已经被修改
WAPDropper还有用于解析HTML和识别其中特定元素的代码,因此它可以模拟用户输入的行为。
IOCs
本文翻译自:https://research.checkpoint.com/2020/enter-wapdropper-subscribe-users-to-premium-services-by-telecom-companies/如若转载,请注明原文地址