概述:网络安全公司CheckPointResearch揭露了一场长达六年之久的针对伊朗侨民和持不同政见者的监视行动。据称,策划这场监视活动的攻击者来自伊朗,攻击者利用多种攻击手段监视受害者行为,其中包含针对个人计算机和移动设备的恶意软件。
攻击媒介:
- Windows信息窃取程序拥有四种变体,旨在窃取受害者的个人文档以及访问其Telegram和KeePass帐户信息。
- Android后门旨在从SMS消息中提取双因子验证码(sms验证码)并转发至攻击者手机以窃取用户设备Google账户信息以及对受害者设备环境进行录音。
- 使用伪造的Telegram服务帐户分发Telegram网络钓鱼页面。
攻击目标:
- 阿什拉夫营和自由居民家庭协会(AFALR)
- 阿塞拜疆民族抵抗组织等抵抗运动
- 俾路支省的公民。
暗影安全实验室通过对该监视活动中的移动恶意软件进行分析来对此次间谍活动做一次简要阐述。
1. 程序运行流程图
该应用程序安装启动后首先加载Google页面并通过JavascriptInterface接口获取用户输入的账户密码。接着请求敏感权限,将自身加入电池白名单对进程保活并请求超级用户权限以对Whatsapp的密钥文件进行复制转移。最后在主服务中每两秒启动一次线程,并在线程内开启多任务线程以获取用户设备敏感数据,获取的用户数据加密保存至本地文件之后上传至FTP服务器,该攻击者最主要目的就是获取Google及其他社交软件发送的短信验证码并将验证码转发至自己控制的手机。
图1-1 程序运行流程图
2. 行为分析
移动端恶意程序通过伪装成一种以帮助瑞典的波斯语使用者获得驾驶证的服务应用诱导用户安装使用。该应用程序有两种变体,一个似乎是为了测试目的而编译的,另一个是能目标设备上部署的发行版。
图2-1-恶意应用界面
2.1 恶意行为
- 窃取用户设备收件箱、发件箱、草稿箱短信息。
- 将双因子验证码以SMS消息形式转发到由攻击者控制电话号码。
- 窃取用户设备联系人、软件账户信息。
- 窃取用户设备已安装的应用程序和正在运行的进程信息。
- 通过网络钓鱼窃取用户Google账户信息。
- 对用户设备环境进行录音。
2.1.1 Google凭据盗窃
(1)恶意软件安装启动后主动加载Google账户登录页面。
图2-2 加载的Google登录界面
以下为恶意程序加载页面的配置列表,其中只加载了Google页面,其他页面URL可能会在更新版本的代码中使用:
图2-4目标应用列表
系统会在Android的WebView中向用户显示一个合法的登录页面。为了窃取输入的凭据,使用了Android的JavascriptInterface接口,以及一个计时器,该计时器每秒定期从用户输入的账号和密码文本框中中检索信息。
图2-5 加载JS代码检索用户输入信息
通过JS调用Android代码以获取用户输入的账户密码信息:
图2-6 调用android代码获取账户密码
2.1.2 服务器通信
该恶意软件使用常规HTTP与服务器通信,它将初始请求发送到alar**iye.net,通过FTP上传保存了用户已加密隐私数据的文件。并与服务器gradl***rvice.info通信以获取配置、状态的更新。
图2-7 服务器通信
代码中硬编码了FTP服务器的账户:APPUser202090P密码:2020FSOM$$0K9990@信息。
图2-8 连接FTP服务器
图2-9 FTP服务器登录页面
服务器地址列表:
服务器地址 | 功能 | ||
http://alar***ye.net/up/index.php?pname= | 发送初始请求 | ||
http://grad***rvice.info | 获取配置、状态的更新已经上传客户端状态信息 | ||
ftp://137.74.***.101/ | FTP服务器上传保存用户隐私数据的文件 |
2.1.3 隐私数据窃取
该恶意软件与其他恶意软件不同,它并不是通过远程控制指令来执行窃取用户隐私数据的行为。而是通过开启异步任务AsyncTask去执行不同的窃取用户隐私数据的行为。该应用启动后会启动应用主服务MainService。在主服务中每两秒启动一个主线程,在该主线程中执行异步任务。
图2-10 在线程内启动获取用户隐私数据的任务
应用最开始会启动一个获取用户联系人信息的异步任务,并在该异步任务的onPostExecute中启动获取用户短信息的异步任务SmsTask。
图2-11 启动获取短信息的异步任务
通过对tag标志(一个字符串标志短信箱的类型,如收件箱、发件箱、草稿箱)的hash值对比,执行获取用户不同短信箱内容的操作:
图2-12 获取用户收件箱、发件箱、草稿箱内容
之后在SmsTask异步任务中通过对比Type字符串的Hash值分别启动获取用户已安装应用信息,获取用户账户信息,发送隐私数据至服务器的任务。
图2-13 分别启动各项获取用户隐私数据的任务
恶意程序会根据服务器返回的配置信息判断是否对用户设备开启录音:
图2-14 开启录音功能
2.1.4 数据加密
应用窃取用户隐私数据后会将用户数据加密写入本地文件,之后便上传至FTP服务器。
图2-15 保存隐私数据的本地文件
数据采用了DES加密算法:
图2-16 DES加密算法
上传获取的所有用户信息,以文件名+文件内容的形式上传:
图2-17 上传用户隐私数据
2.1.5 超级用户权限
该应用安装启动后会请求加入电池白名单并申请超级用户权限,以使用shell命令对用户文件进行复制转移。
图2-18 请求超级用户权限
将应用进程加入白名单,以保护应用进程不被系统杀死:
图2-19 将应用加入电池白名单
执行shell指令获取root权限:
图2-20 执行shell命令获取root权限
通过root权限将/data/data/com.whatsapp/files/key文件复制到外部存储目录,/data/data/com.whatsapp/files/key文件目录下保存了Whatapp的加密密钥,该密钥可用于解密Whatsapp数据库。
图2-21 复制Whatapp加密密钥文件至外部存储目录
2.1.6 SMS双因子验证码
该恶意程序最主要的功能就是获取用户短信验证码,并将该验证码转发至攻击者指定的号码。通过注册短信接受广播,应用程序能监听用户设备所有接受的短信,过滤短信来自Telegram、Whatsapp、facebook和其他社交网络应用程序传入SMS消息并过滤短信内容为“G-”(Google的短信验证码)开头的短信内容。
图2-22 过滤用户接受的短信内容
将过滤出的短信内容进行转发,发送到攻击者控制的手机号码。在拥有了受害者Google账户及Google的短信验证码的情况下,攻击者就能登录受害者的Google账户。
图2-22 将用户短信进行转发
3. 总结
从恶意程序特殊的攻击目标以及恶意操作对用户Google账户信息、社交软件账户信息的重视程度表明,攻击者主要目的是收集有关这些受害者的情报,以更多的了解他们的活动。 由此猜测这可能是一场有组织的政治的活动。
4. 样本MD5
- 4ae3654b7ed172b0273e7c7448b0c23c
- ca154dfd01b578b84c0ec59af059fb62