作者:钱盾反诈实验室
0x1.木马介绍
近期,Client-SideDetection披露“LokiBot”木马,钱盾反诈实验室快速响应分析,发现“LokiBot”木马前身是由“BankBot”演变而来。与其他银行劫持木马相比“LokiBot”具备其独特功能,可以根据不同目标环境发起相应攻击,比如主动向用户设备发起界面劫持、加密用户设备数据,勒索欺诈用户钱财、建立socks5代理和SSH隧道,进行企业内网数据渗透。
“LokiBot”传播途径通过恶意网站推送虚假的“Adobe Flash Playe”、“APK Installer”、“System Update”、“Adblock”、“Security Certificate”等应用更新,诱导用户安装。运行截图如下:
0x2.样本分析
2.1恶意代码解析
LokiBot关键组件和代码块如下:
MainActivity:恶意代码执行入口。模拟器检查[1]、图标隐藏、引导激活设备管理、启动CommandService和InjectProcess。
Boot:Receiver组件,恶意代码执行入口。核心服务CommandService保活。
CommandService:核心服务,根据远程控制指令执行恶意代码。
InjectProcess:界面劫持服务。
Crypt模块:加密文件、锁定设备实施勒索。
Socks模块:实现Socks5协议和SSH隧道,使受控设备所在内网服务器和攻击者主机之间能进行流量转发。
2.2 远程控制
首先上传设备deviceId、锁屏状态、网络类型至控制端(**92500503912**:Loki:1:wifi)。控制端以用户deviceId作为肉鸡ID,并下发指令数据,触发恶意行为。指令包括:
指令 |
功能 |
Send_SMS |
利用受害人身份给任意用户发送恶意短信 |
Send_USSD |
拨打任意号码 |
Go_Contacts |
上传设备联系人 |
Gethistori |
上传浏览器历史记录 |
Start_AllApp |
上传设备安装应用包名 |
Update Bots |
更新LokiBot |
Forward_call |
设置呼叫转移 |
Go_Leading_request |
WebView加载恶意网址 |
Go_Passwords |
设置锁屏密码 |
DeleteApp |
自身卸载,取消激活设备管理,触发勒索 |
Go_Smsmnd |
设置默认短信应用 |
GetAllSms |
获取用户短信记录 |
DellSms |
删除最新一条短信 |
Send_spam |
短信蠕虫,群发恶意内容给用户联系人 |
App_call |
启动任意app |
Shells |
执行shell |
Go_Crypt |
锁定用户设备,并加密设备文件 |
Go_Scrynlock |
锁定设备,使用户无法使用 |
startSocks |
安装Socks5代理 |
Start_Inject |
启动InjectProcess,执行银行应用劫持 |
LokiBot会根据采集到的用户数据,发起相应的攻击。攻击手段主要包括以下三种方式:
-
用户设备安装有银行或社交类app会发起应用劫持攻击;
-
用户网络环境属于某企业,会进行内网渗透;
-
直接发送DeleteApp或Go_Crypt指令,实施勒索敲诈。
2.3 应用劫持
劫持过程与“BankBot”木马[2]相似,都是上传用户安装列表,在云端配置劫持界面,后台监视应用,一旦用户开启劫持列表内的应用,就弹出钓鱼界面覆盖真实应用,诱导用户输入账户和密码。由于此类木马生命周期短,“LokiBot”则采取主动发起应用劫持。方式包括:
-
通过远程指令启动待劫持应用;
-
主动弹出伪造的app Notification,一旦用户点击就弹出钓鱼界面
2.4内网渗透
若受控设备处于内网环境,“LokiBot”下发startSocks命令,建立Socks5代理和SSH安全隧道[3]