Nexus安卓木马分析报告
2023-4-11 13:36:19 Author: www.4hou.com(查看原文) 阅读量:28 收藏

导语:2023 年 3 月 21 日晚上,链安与中睿天下联合研发的监控系统检测到一种新型安卓木马。在经过睿士沙箱系统捕获样本之后,发现该安卓木马极有可能是原安卓网银盗号木马 SOVA 的变种。

概述

2023 年 3 月 21 日晚上,链安与中睿天下联合研发的监控系统检测到一种新型安卓木马。在经过睿士沙箱系统捕获样本之后,发现该安卓木马极有可能是原安卓网银盗号木马 SOVA 的变种。与此同时,意大利安全公司 Cleafy 发布了一篇题为《Nexus:一个新的安卓僵尸网络?》的报告,确认该病毒确实是 SOVA 的变种,并将其重新命名为 Nexus。

样本分析

  • 样本名称: Chrome.apk

  • 样本 SHA256 为:  376d13affcbfc5d5358d39aba16b814f711f2e81632059a4bce5af060e038ea4

  • 样本文件大小:  4792032KB

主要行为列表

  • 删除指定应用以其应用数据

  • 安装并启动任意应用

  • 隐藏自身应用图标

  • 卸载保护

  • 上传用户短信数据以及通讯录

  • 使用 SmsManager 发送短信、 删除短信、取消短信通知

  • 拨打电话

  • 获取用户 cookie 信息并上传,注入 cookie 等

  • 读取并上传数字钱包信息

  • 记录并上传键盘输入记录

  • 查询敏感信息手机数据(查询存储邮件、应用账号数据、IMSI 等手机信息)

  • 设置静音

  • 屏幕解锁

  • 访问指定 Url

  • 试图禁用管理员用户

  • 开启辅助功能

  • 监听手机重启事件

  • 使用 DownloadManager 下载文件

安装测试

当木马安装完成后,手机主界面会出现一个类似 Chrome 浏览器的图标(如图1所示),与真实的 Chrome 图标略有差异。木马使用的图标较小,但在没有相关对比的情况下,基本上很难识别出这种差异。

图 1

当木马启动后,界面会提示用户需要开启“无障碍功能”。在用户点击界面任意位置时,将自动跳转到系统内的“无障碍功能”设置并自动启用该功能(如下图所示)。

容器 1(1).png

在启动“无障碍功能”之后,程序会自动弹出并请求获取“设备管理员权限”(如图2所示)。

图 2

在恶意应用获得设备管理员权限后,它会在后台不断收集用户信息,用户很难察觉其存在。一旦设备管理员权限被授予,用户在尝试打开设备管理员权限设置界面时会发现界面迅速关闭,无法撤销权限。类似地,通过 adb 执行操作时也会遇到相同问题,界面会立刻关闭。这是因为恶意应用程序已经监控了设备管理员设置界面的开启动作,从而阻止用户撤销其权限。因此,用户需要启用 root 权限才能成功卸载此恶意应用。

adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"

样本深度分析

基础信息

5(1).png

图 3

图 4

在使用 Incinerator 进行手动分析之前,通过“基础分析”模块,我们发现该样本程序具有加密壳(如图3所示)。这意味着恶意应用程序的开发者使用了一种加密方法来保护其代码,以防止分析和逆向工程。同时,我们注意到签名信息中使用了“CN=Android Debug”(如图4所示),这与正常的 Chrome 证书不一致。这可能意味着此恶意应用程序的开发者试图伪装成正常的 Chrome 应用,以便更容易地欺骗用户并获得其信任。

得益于 incinerator 具备 Apk 权限分析功能,我们可以在 Apk 的详细信息中获取相应的权限列表(如图5,6所示)。

图 5

图 6

在应用权限列表中,样本获取的权限中有 13 项被评定为“危险”的权限。其中有几个权限尤为危险:

  • 发送短信(SEND_SMS)

  • 读取短信(READ_SMS)

  • 接收短信(RECEIVE_SMS)

  • 读取联系人(READ_CONTACTS)

  • 写入联系人(WRITE_CONTACTS)

  • 读取电话号码(READ_PHONE_NUMBER)

普通应用通常不会申请一些涉及敏感操作的权限,如改写通讯录、读取和发送短信等。这些权限通常仅限于专门的通讯软件。然而,当恶意应用获取辅助功能权限后,它可以利用这一功能来自动开启其他权限,包括一些对用户隐私和安全具有潜在威胁的权限。

辅助功能是 Android 系统中一项强大的功能,旨在帮助有特殊需求的用户更好地使用设备。然而,这一功能也可能被恶意应用滥用,从而执行不受用户控制的操作。一旦恶意应用获得了辅助功能权限,它可以在用户不知情的情况下执行各种操作,如启用其他敏感权限,进而窃取用户数据和破坏其隐私。因此,用户需要谨慎授权辅助功能权限,避免将其授予不可信的应用。

代码中用辅助功能开启的权限列表如下:

android.permission.READ_SMS:允许应用程序读取短信消息
android.permission.SEND_SMS:允许应用程序发送短信消息
android.permission.RECEIVE_SMS:允许应用程序接收短信消息
android.permission.READ_CONTACTS:允许应用程序读取联系人列表
android.permission.WRITE_CONTACTS:允许应用程序编辑联系人列表
android.permission.READ_PHONE_STATE:允许应用程序读取设备电话状态和身份信息
android.permission.WRITE_EXTERNAL_STORAGE:允许应用程序写入外部存储,例如SD卡
android.permission.MODIFY_AUDIO_SETTINGS:允许应用程序修改声音设置
android.permission.READ_EXTERNAL_STORAGE:允许应用程序读取外部存储,例如SD卡
android.permission.INSTALL_PACKAGES:允许应用程序安装其他应用程序
android.permission.CALL_PHONE:允许应用程序拨打电话
android.permission.GET_ACCOUNTS:允许应用程序访问设备帐户列表
android.permission.READ_PHONE_NUMBERS:允许应用程序读取设备电话号码
android.permission.CLEAR_APP_CACHE:允许应用程序清除所有缓存文件

图 7

图 8

如上图所示,该应用首先硬编码了需要通过辅助功能开启的权限列表,接着向系统发起对这些权限的申请。在 PermissionsTask 环节中,应用会监听权限申请的动作。一旦监听到权限申请,该应用便利用辅助功能在权限申请界面上自动点击“同意”按钮。

静态代码分析

在使用 Incinerator 工具对样本进行自动脱壳并分析恶意行为代码后,我们发现以下主要功能:

1. 删除指定应用以其应用数据

恶意应用具有删除其他应用及其数据的能力,可能影响用户正常使用手机及其应用。

图 9

clearApp 方法确实是通过执行 pm clear package 命令(如图9所示)来删除与特定应用程序包相关的缓存数据,包括图片缓存、临时文件、数据库缓存等。这样可以帮助清理设备上的垃圾文件,释放存储空间。

而 deleteThisApp 方法则通过触发 android.intent.action.DELETE intent 来实现应用的卸载(如图9所示)。当系统接收到这个 intent 时,会弹出一个卸载确认界面。通常情况下,用户需要在此界面上手动点击“同意”按钮才能完成卸载。然而,由于这个恶意应用具有辅助功能权限,它可以在卸载确认界面出现时自动点击“同意”按钮,从而在用户不知情的情况下完成卸载操作。这种做法进一步提高了恶意应用的隐蔽性和破坏性。

2. 安装并启动任意应用

恶意应用可以安装并启动其他应用,可能进一步传播恶意软件或将用户引导至恶意网站。

图 10

安装和卸载应用确实是通过辅助功能来实现的。这种方式可以方便地为用户自动化应用的安装和卸载过程。唯一的区别在于,为了实现这一功能,恶意应用需要适配不同厂商的安装应用包名和安装 Activity 的名称。

这样一来,恶意应用可以在各种不同的设备上成功执行安装和卸载操作,从而更加隐蔽地实现其恶意行为。这种策略使得恶意应用在各类设备上具有更广泛的攻击能力。

3. 隐藏自身应用图标

为了难以被发现和卸载,恶意应用会隐藏自己的应用图标(如图11所示)。

图 11

在这个恶意应用中,开发者使用了 setComponentEnabledSetting 方法来禁用 Launcher Activity。这样一来,用户就无法通过设备主屏幕上的应用图标(Launcher Icon)来操作或访问该恶意应用了。

setComponentEnabledSetting 方法可以用来启用或禁用应用程序组件,如 Activity、Service、BroadcastReceiver 等。在这种情况下,恶意应用通过禁用 Launcher Activity,达到了隐藏自身的目的,让用户更难以察觉其存在。这种做法进一步提高了恶意应用的隐蔽性,使其更难以被发现和移除。

4. 上传手机联系人等敏感信息

恶意应用可以窃取并上传用户的联系人、短信、Cookie 等信息,可能导致用户隐私泄露和财产损失。

图 12

图 13

如图12、13所示,恶意应用首先通过 content://sms 访问短信内容,然后经过一系列业务逻辑处理,将其整合到网络请求的数据中。除了短信数据,这个请求还包含了如 SIM 卡信息、受害者设备的 IP 地址、国家、城市和设备型号等信息。最后,这些数据会被发送到指定的服务器。

通过这种方式,恶意应用能够窃取用户的短信和设备信息,然后将这些数据发送给攻击者。攻击者可以利用这些信息进行各种违法活动,例如诈骗、窃取用户隐私、甚至是身份盗窃。

5. 使用 SmsManager 发送短信、 删除短信、取消短信通知、读取短信

5.1 上传短信

图 14

图 15

根据上述描述,该恶意应用通过监听收到短信的系统广播,从广播中提取收到的短信内容,然后将每一条短信发送给远程服务器。在完成这个过程之后,应用还会终止收到短信的广播,以免被用户或其他应用程序发现。如图15所示,super.execute 指的是将收集到的短信数据发送给远程服务器。

这种行为表明,该恶意应用在窃取用户短信方面采取了较为积极的手段。用户需要加强对此类应用的防范意识,以避免对其隐私和安全造成不良影响。

5.2 发送短信

图 16

调用系统 SmsManager 发送短信(如图16所示)。

6. 获取用户 cookie 信息并上传,注入 cookie 等

图 17

如图17所示,读取所有 cookie,上传到远程服务器,并且通过 CookieManager 把本地 cookie 删除。

7. 读取和上传数字钱包信息

7.1 读取余额

图 18

通过辅助功能,读取代表余额的 View 显示的字符内容,就是用户钱包的余额(如图18所示)。

7.2 读取 seed phrase

图 19

图 20

利用辅助功能,从表示 seed phrase 的 View 中读取内容(如图19、20所示)。

7.3 上传到服务器

图 21

把加密钱包信息发生到远程服务器。

8. 记录并上传键盘输入记录

图 22

图 23

上面两张图,图22所示监听键盘输入,通过辅助功能抽取数据,图23所示把这些数据上传到远程服务器。

9. 查询敏感信息手机数据(查询存储邮件 和应用账号数据,IMSI 等手机信息)

图 24

通过 AccountManager 获取账号信息,上传到远程服务器。

10. 把手机设置静音

图 25

通过 audio 系统服务器,把手机设置为静音(如图25所示)。

11. 监听手机重启事件

图 26

图 27

监听手机重启事件,手机重启后恶意就开始工作。

12. 使用 DownloadManager 下载 APK 并且安装

图 28

下载 apk 并且使用安装。

13. 拍照、录视频

图 29

图 30

14. 读取其他文档

图 31

图 32

15. 网络请求

代码中所有的 Log 都会上传,上传的服务器地址来自一段“加密”字符串(如图33、34所示)。

图 33

图 34

基于"aHR0cDovLzE5My40Mi4zMi44Ny8=" 是一段 Base64 编码。解码后,我们得到了 "http://193.42.32.87/" 这个网址,这是一个用于接收被收集数据的服务器地址。然而,在中国大陆地区,这个网址是无法访问的。因此,即使国内用户安装了这个恶意应用,他们的数据也不会被采集,因为数据无法成功发送至服务器。

另外,被 URL 字符串扫描器识别出的网址 "http://ip-api.com/json" 和 "https://icanhazip.com" 也因为 GFW 而无法访问。

总结

总的来说,这个恶意应用主要目的是窃取用户隐私,并对相关隐私数据进行了精细化处理。在分析过程中,发现了大量针对中国手机厂商华为、小米、OPPO 的特殊处理,暗示这款恶意应用可能主要针对中国区用户。

为了隐藏其恶意行为,应用使用了简单的加密壳来掩盖关键代码。这种手法在海外的恶意应用中并不常见。从窃取的数据类型来看,这款恶意应用的危害性较高,因为它窃取了短信、加密钱包、Cookie 等非常敏感的信息,可能对用户的财产安全造成影响。

技术手段方面,该恶意应用主要利用了 Android 的辅助功能和设备管理员权限。这种手法在恶意应用中较为常见。用户需要提高警惕,防范此类应用对其隐私和安全造成的威胁。

IOC 指标

SHA256:

376d13affcbfc5d5358d39aba16b814f711f2e81632059a4bce5af060e038ea4

724a56172f40177da76242ee169ac336b63d5df85889368d1531f593b658606b

f3fc80a8793e60a901da44b9ab315931699e64a4f3eddb8aba839fe860de46dc

ec5b083c017570f846f6925b7c79d9e5886525a9b7ba7e514dabad0325c0af5e

C2Server:

193.42.32.87

85.31.45.101

源地址:https://liansecurity.com/#/main/news/RGt-ZocBrFZDfCElrqy8/detail

如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/m0Zp
如有侵权请联系:admin#unsafe.sh