Android平台间谍软件BusyGasper分析

2018年初,一个可疑的Android样本触发了我们的移动入侵检测,事实证明该样本属于一个未知的间谍软件家族。进一步的调查表明,该恶意软件(我们命名为BusyGasper)并不复杂,但它展示了该类威胁的一些不同寻常的功能。从技术角度来看,该样本是一个独特的间谍软件,其很有创意地加入了一些特殊功能,包括设备传感器监听(例如动作传感器)。其协议中命令的数量达到了惊人的近100个,并且可以绕过Android的节电功能Doze。作为一款现代Android间谍软件,它还能够从消息应用程序(WhatsAppViberFacebook)中提取数据。此外,BusyGasper还拥有一些键盘记录功能 – 该恶意软件收集用户的每一个点击的坐标,并将值与硬编码的值进行匹配以计算输入的字符。

该样本具有多个组件结构,可以从CC服务器下载payload或更新。其服务器是一个属于免费的俄罗斯网络托管服务UcozFTP服务器。值得注意的是BusyGasper支持IRC协议,这在Android恶意软件中很少见到。此外,该恶意软件还可以登录攻击者的电子邮箱,从一个特殊的文件夹中解析邮件中的命令并从邮件附件中下载payload。

该攻击活动从20165月左右开始一直活跃,直到现在。

感染向量和目标

在寻找感染向量时,我们没有发现任何的网络钓鱼或其他常见攻击向量的证据。但是一些线索指向了手动安装的攻击方法,例如存在用于人工控制的隐藏菜单攻击者可能是通过对设备的物理访问来安装恶意软件。这可以解释受害者的数量只有不到10个人,而且根据我们的检测统计数据,这些受害者都位于俄罗斯。

我们继续搜寻,发现了更多有趣的线索,这些线索揭示了有关受感染设备所有者的一些详细信息。攻击者的FTP服务器上包含几个带有命令的TXT文件,这些文件的名称中包含极有可能是攻击者添加的受害者标识符:

image

部分标识符应该是俄罗斯人名:JanaSlavaAlNikusha

我们分析该FTP的转储后发现,有一个来自华硕的固件组件,这意味着攻击者对华硕的设备很感兴趣,这也解释了为什么有的标识符是ASUS

从该电子邮件帐户收集的信息包含许多受害者的个人数据,如IM应用的消息等。

image

收集到的其它数据还包含银行短信,其中一个账户的余额超过了1万美元,但据我们所知,该攻击者对金钱不感兴趣。

我们发现BusyGasper与商业间谍软件或其它已知的间谍软件没有任何相似之处,这意味着BusyGasper是自主开发的,并且被单个攻击者所使用。与此同时,缺乏加密、使用公开的FTP服务器以及低opsec级别表明该恶意软件背后的攻击者缺乏精湛的技术。

技术细节

以下是样本、证书以及硬编码的版本标记的元信息:

image

令人感兴趣的是,发行者SunFTP服务器上的受感染设备标识符Sun1Sun2相匹配,意味着它们可能是测试设备。

该样本具有复杂的结构,目前我们已经观察到两个模块。

初始模块

安装在目标设备上的第一个模块可通过IRC协议进行控制,并通过从FTP服务器下载payload来部署其他组件:

image

@安装命令

从上面的截图可以看出,一个新的组件被复制到系统路径中。这种操作在没有root权限的情况下是不可能的。在撰写本文时,我们还没有发现任何利用漏洞来获取root权限的证据,我们认为攻击者可能是使用了一些其它的尚未发现的组件来实现这一功能。

下面是第一个模块可以执行的全部可能命令的完整列表:

image

该样本的组件之间使用复杂的基于意图的通信机制来广播命令:

image

BusyGasper组件之间关系的近似图

主要模块

该模块将执行命令的历史记录写入名为“lock”的日志文件中,该日志文件随后被上传。下面是这样一个日志文件的片段:

image

指定命令的日志

日志文件可以被上传到FTP服务器并发送到攻击者的电子邮箱。日志消息甚至还可以通过短信发送至攻击者的号码。

如上面的截图所示,该恶意软件有自己的命令语法(字符的组合),“#”号是分隔符。所有可能命令及其描述的完整列表可以参考附录II

该恶意软件具有现代间谍软件的所有主流功能。以下是最值得注意的功能的描述:

·  该样本能够监视所有可用的设备传感器并记录已注册的事件日志。此外,加速度计有一个特殊的处理程序,可以计算和记录设备的速度:

image

这一功能通过命令tk0启用,该命令可以使设备静音、禁用键盘、关闭亮度、启用唤醒锁并监听设备的传感器。这使得它可以在用户不知情的情况下静默执行后门活动。一旦用户拿起设备,该样本就会检测到一个运动事件,从而执行命令tk1inputkeyevent 3

命令tk1将停止命令tk0的所有工作,而命令input keyevent3则模拟home键点击操作,使得当前的所有活动最小化,以至于用户不会发现任何可疑的事情。

·  启用(GPS/网络)跟踪的定位服务:

image

·  电子邮件命令和控制协议。该样本可以登录攻击者的电子邮件信箱,从cmd文件夹中解析邮件中的命令,并从邮件附件中下载payload。

image

访问攻击者电子邮箱中的“cmd”文件夹

此外,它还可以通过电子邮件从受害者的设备发送指定文件或收集的所有数据。

·  紧急短信命令。如果收到的短信中包含以下神奇的字符串之一:“2736428734”或“7238742800”,该恶意软件将执行多个初始化命令:

image

键盘记录

该恶意软件的键盘记录功能十分原始。

激活后,该恶意软件将立刻在新窗口中创建一个textView元素,其layout参数为:

image

这些参数确保了该元素对用户是隐藏的。

随后它向这个textView添加onTouchListener,这使得它可以处理用户的每一个点击事件。

有趣的是,它有一个用户点击活动的白名单:

ui.ConversationActivity
ui.ConversationListActivity
SemcInCallScreen
Quadrapop
SocialPhonebookActivity

该侦听器只能获得坐标,因此它通过与硬编码的值列表进行对比来计算当前点击的字符:

image

此外,如果有预定义的命令,该键盘记录器还可以对用户点击的区域进行截屏:

image

人工控制的隐藏菜单

该恶意软件存在一个隐藏的菜单(Activity),用于控制其功能。该菜单似乎是为手动操作而创建的。为了激活这个菜单,操作者需要从受感染的设备拨打硬编码的号码9909

image

然后屏幕上就会立刻出现一个隐藏的菜单:

image

操作者可以在这个界面输入要执行的任何命令。该界面还显示了恶意软件当前的日志。

基础设施

FTP服务器

攻击者使用ftp://213.174.157[.]151/作为命令和控制服务器,该IP地址属于免费的俄罗斯网络托管服务Ucoz

image

image

配置文件supersu.cfg中的用于配置组件和busybox工具的选项:

image

该配置允许恶意软件静默执行root权限。

bdata.xml文件的内容:

image

可以将该恶意软件的组件添加到路径/system/etc/sysconfig/以列入节电系统的白名单。

电子邮件帐户

该样本的代码中提及了一个带密码的Gmail帐户:

image

该电子邮件信箱包含从受害者那里窃取的数据和用于发布命令的cmd文件夹。

附录I:入侵指标(IOC

MD5

9E005144EA1A583531F86663A5F14607
18ABE28730C53DE6D9E4786C7765C3D8
2560942BB50EE6E6F55AFC495D238A12
6C246BBB40B7C6E75C60A55C0DA9E2F2
7C8A12E56E3E03938788B26B84B80BD6
9FFC350EF94EF840728564846F2802B0
BDE7847487125084F9E03F2B6B05ADC3

C2

ftp://213.174.157[.]151/

声明:本资讯由启明星辰维他命安全小组翻译和整理

维他命安全简讯

微信:VitaminSecurity

image

信息安全那些事儿~

长按二维码关注


为您推荐了相关的技术文章:

  1. 漏洞检测的那些事儿 - 从理论到实战
  2. Struts2 历史 RCE 漏洞回顾不完全系列
  3. 从反序列化到命令执行 - Java 中的 POP 执行链
  4. ”安全线“大型目标渗透-01信息搜集|漏洞研究 - 安全技术社区
  5. 记一次ThinkPHP源码审计

原文链接: mp.weixin.qq.com