概述
最近我们在国外一个名为ThiefBot黑客论坛上发现了一则宣传新型android银行木马的广告。该银行木马主要针对土耳其目标银行应用进行页面覆盖攻击以窃取用户的登录凭证信息。同时该木马还窃取了用户设备联系人列表、短信列表、应用列表等隐私信息,通过群发短信传播自身恶意代码。该恶意程序不仅具有银行木马性质,还对用户设备进行锁屏,删除用户联系人信息、加密用户文件,威胁用户发送唯一ID至攻击者邮箱。
图1-1 ThiefBot黑客论坛银行木马广告
一. 样本信息
应用名称 | Google Play |
包名 | khjjhkghkg.yulyuuyklyuky |
MD5 | E88867956017BBE5B633811885C87018 |
二. 程序应用流程图
图2-1 程序运行流程图
三. 技术分析
3.1 开启可访问性服务
该银行木马伪装成GooglePlay应用程序,安装启动后便请求用户开启可访问性服务,隐藏图标。开启可访问性服务可监控用户设备页面事件、模拟用户执行点击操作。
图3-1 请求可访问性服务
3.1.1 阻止用户卸载应用
当用户进入“设置”界面的“应用”详细列表界面进行卸载应用时,该应用如果监控到包名为com.android.settings(设置界面)的事件便执行performGlobalAction(2)函数,模拟用户点击返回按钮,使用户无法进入“应用”详细列表页面卸载应用。
图3-2 阻止用户卸载应用
3.1.2 监控目标银行应用
同样当该应用监控到包名为目标银行应用时的事件,则启动页面注入程序,实现页面覆盖攻击。
图3-3 监控目标银行应用
3.2 页面注入,覆盖攻击
在进行页面注入之前,该木马程序将连接服务器下载inj.zip页面注入配置文件。该银行木马首先排除了对俄罗斯国家进行攻击。
图3-4 下载目标银行应用页面注入文件
每隔一秒执行以下任务:
图3-5 每隔一秒执行页面注入任务
根据条件筛选出一些process.uid< 1000或process.uid> 9999的前台进程:
图3-6 筛选目标前台进程
如果这些前台进程中包含目标用户应用进程,则进行页面注入。
图3-7 启动页面注入程序
从服务器下载的inj.zip文件中加载伪造的目标银行登录页面,实现覆盖攻击。
图3-8 页面注入实现覆盖攻击
图3-9 目标银行注入页面
应用在完成页面注入后会通过弹出通知消息提醒用户确认账户,应用根据不同的国家配置了不同语言的消息内容,可见中国用户也是该银行木马的攻击目标之一。
图3-10 不同语言的消息内容
目标银行列表:
包名 | 目标银行 |
Com.mobilium.papara | Papara Payment Service |
Com.finansbank.mobile.cepsube | Finans Bank |
Com.garanti.cepsubesi | Garanti Bank |
Com.poztron.iscep | isCep Mobile Banking |
Com.vakifbank.mobile | Vakif Bank |
Com.zirat.ziaatmobile | Zirat Bank |
Com.akbank.android.apps.akbank_direkt | ABank |
3.3 远程控制,隐私窃取
之后恶意程序每隔15秒连接一次服务器,获取用户设备信息作为用户唯一标识上传到服务器,并从服务器获取指令远程控制客户端。窃取用户联系人信息、短信息、应用列表、群发短信传播自身恶意程序。
服务器地址:http://ravangame.beget.tech/。
3-10 连接服务器
上传的数据先进行AES加密,再进行base64编码:
图3-10 上传数据AES加密
解密数据:
图3-11 上传数据解密
指令列表:
命令 | 功能 |
Screen_Lock | 加载一个页面覆盖屏幕 |
Unlock_Screen | 关闭锁屏页面只是删除了一个保存在外部存储器的标志文件:dblockss.txt |
Send_SMS | 发送制定短信内容到指定手机号码 |
Download_Contacts | 上传用户联系人信息 |
Update_Inject | 从服务器获取更新页面注入的文件 |
Flood_SMS | 从受感染的设备中发送大量短信到联系人列表 |
Download_All_SMS | 上传用户短信息 |
Spam_on_contacts | 从受感染的设备中发送垃圾短信到联系人列表 |
Change_SMS_Manager | 修改系统默认短信程序为自身 |
Run_App | 启动指定应用 |
StartSocks | 启动socket连接 |
Run_Message_and_Injection | 显示却确认账户消息并打开web注入页面 |
Download_All_App | 上传用户设备已安装应用列表 |
3.4 锁定用户屏幕
该银行木马可通过远程控制命令加载web页面锁定用户屏幕,页面显示“因为你观看了儿童色情片和同性恋片,你的设备已经被锁定,你所有的联系人信息以及文件信息都已经被锁定,发送你的唯一id至邮件googleprotect@mail.ru可解锁”。
3-12 加载锁屏页面
攻击者并不是恐吓用户,用户的通讯录信息已被删除,且外部存储目录的文件被压缩加密。当然删除通讯录、加密文件之前,该银行木马已将通讯录列表及随机生成的加密密码上传至服务器。
图3-13 破坏银行通讯录及文件
可恨的是攻击者并未打算恢复用户联系人信息及文件,解锁命令只是删除了保存在外部存储目录的锁屏标志文件。
图3-14 解锁操作
3.5 C2服务器
服务器配置文件以及银行应用白名单。
图3-15 配置信息
服务器地址指向俄罗斯圣彼得堡,且应用的攻击目标首先排除了俄罗斯国家。
服务器地址 | IP | 所属地 |
http://rava***me.beget.tech/ | 俄罗斯圣彼得堡 |
通过C2服务器地址,我们进入了服务器的登录页面:
图3-16 C2服务器登录页面
攻击者可通过控制面板管理受感染设备:
图3-17 服务器控制面板
四. 安全建议
由于恶意软件对自身进行了保护,用户通过正常方式无法卸载。可采取以下方式卸载。
应用未开启设备管理器的情况下可将手机连接电脑,在控制端输入命令:adb shell pm uninstall 包名。
进入手机/data/data目录或/data/app目录,删除文件名带有该应用包名的文件夹,然后重启设备即可。
安装好杀毒软件,能有效识别已知病毒。
很多攻击者会通过短信传播恶意软件,所以用户不要轻易点击带有链接的短信。
坚持去正规应用商店或官网下载软件,谨慎从论坛或其它不正规的网站下载软件。