freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Nexus安卓木马分析报告
LianSecurity 2023-05-16 10:53:28 263720
所属地 广东省

概述

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

样本分析

  • 样本名称: Chrome.apk

  • 样本 SHA256 为:  376d13affcbfc5d5358d39aba16b814f711f2e81632059a4bce5af060e038ea4

  • 样本文件大小:  4792032KB

主要行为列表

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

  • 安装并启动任意应用

  • 隐藏自身应用图标

  • 卸载保护

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

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

  • 拨打电话

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

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

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

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

  • 设置静音

  • 屏幕解锁

  • 访问指定 Url

  • 试图禁用管理员用户

  • 开启辅助功能

  • 监听手机重启事件

  • 使用 DownloadManager 下载文件

安装测试

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

1683624574_645a127eb0e7d28673fe8.png!small?1683624575941

图 1

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

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

1683624593_645a129131f6f866d3425.png!small

图 2

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

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

样本深度分析

基础信息

1681188352_6434e6003b2b0fd87717f.png!small?1681188356421

图 3

1683624712_645a13089447409ddb0f0.png!small?1683624714017

图 4

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

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

1683624719_645a130ff0255403a6d67.png!small?1683624722492

图 5

1683624724_645a1314a5e8f0d39d386.png!small?1683624726164

图 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:允许应用程序清除所有缓存文件

1683624734_645a131e712dc72581033.png!small?1683624735565

图 7

1683627609_645a1e59d4ced6be38db4.png!small?1683627610476

图 8

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

静态代码分析

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

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

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

1683627620_645a1e64f01a00dadcf2c.png!small?1683627621599

图 9

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

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

2. 安装并启动任意应用

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

1683627628_645a1e6cb89a34ff7f0bd.png!small?1683627629902

图 10

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

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

3. 隐藏自身应用图标

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

1683627645_645a1e7d7d88003cb616f.png!small?1683627646074

图 11

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

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

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

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

1683627655_645a1e870e906dd89bfa5.png!small?1683627655867

图 12

1683627662_645a1e8edf4a2398477ae.png!small?1683627664301

图 13

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

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

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

5.1 上传短信

1683627672_645a1e985e6565da942de.png!small?1683627673304

图 14

1683627682_645a1ea2bca692ff24318.png!small

图 15

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

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

5.2 发送短信

1683627697_645a1eb1ad07d54bacf01.png!small?1683627698236

图 16

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

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

1683627704_645a1eb8920c25b40f1b6.png!small?1683627705624

图 17

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

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

7.1 读取余额

1683627714_645a1ec2b2a979aafbbbe.png!small?1683627715475

图 18

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

7.2 读取 seed phrase

1683627724_645a1eccec64db990ca89.png!small?1683627725659

图 19

1683627738_645a1edadfab697feb97a.png!small?1683627739534

图 20

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

7.3 上传到服务器

1683627747_645a1ee38ceb93628bb88.png!small?1683627748288

图 21

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

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

1683627756_645a1eec48ae7dc3acd43.png!small?1683627757603

图 22

1683627766_645a1ef6846b1a927c865.png!small?1683627767230

图 23

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

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

1683627776_645a1f00b9b304b434a69.png!small?1683627777377

图 24

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

10. 把手机设置静音

1683627786_645a1f0a5d6d9e6fd7d6f.png!small?1683627787153

​图 25

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

11. 监听手机重启事件

1683627793_645a1f11407f403dcef47.png!small?1683627793902

图 26

1683627800_645a1f18a0c2ff6e428f3.png!small?1683627801310

图 27

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

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

1683627808_645a1f20edd7cd8880e61.png!small?1683627809615

图 28

下载 apk 并且使用安装。

13. 拍照、录视频

1683627819_645a1f2b61d255c260ab7.png!small?1683627819937

图 29

1683627826_645a1f321a96cb54b9d47.png!small?1683627826965图 30

14. 读取其他文档

1683627833_645a1f3952fe3c598b194.png!small?1683627833976

图 31

1683627839_645a1f3f73403c8e58143.png!small?1683627840100

图 32

15. 网络请求

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

1683627845_645a1f451f541afe640c6.png!small?1683627845793

图 33

1683627851_645a1f4be3a7b1828d461.png!small?1683627852588

图 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

# 恶意代码 # 安卓安全
本文为 LianSecurity 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
LianSecurity LV.3
Lian Security —— 以技术链接安全、国内底层安全技术引导者
  • 12 文章数
  • 8 关注者
Incinerator——Android 恶意软件逆向分析终极利器
2024-04-09
TP-Link TDDP 缓冲区溢出安全漏洞解析
2024-03-22
BOOMSLANG(树蚺)移动欺诈家族分析
2023-12-05
文章目录