java jfilechooser 剖析Android端SpyNote恶意软件技术

java jfilechooser 剖析Android端SpyNote恶意软件技术

介绍

威胁环境充满了各种类型的恶意软件,每种恶意软件都为该领域带来了自己的独创性。尽管每种 恶意软件都有其自己的恶意议程,但大多数情况下的典型目标是窃取用户数据,尤其是可用于恶意目的甚至稍后出售的个人数据。仅根据议程,某些恶意软件可以归类为间谍软件,因为它们的唯一目标是通过窃取尽可能多的用户数据来监视用户,并在保持隐藏的情况下尽可能长时间地窃取。这与信息窃取者的目标略有不同——信息窃取者通常是窃取用户凭据和信用卡信息以进行转售。

在值得注意的间谍软件中,最近备受关注的一款是 。该间谍软件应用程序通过短信(即恶意短信)进行传播,敦促受害者从提供的链接安装该应用程序。当然,托管和下载发生在官方 Play 商店应用程序之外,以防止 Play 商店进行的安全评估阻止该间谍软件的传播。

在本文中,我们根据最近的分析描述了该恶意软件应用程序的一些突出功能。这些功能是间谍软件的典型特征(包括跟踪软件,其具有不同的传播机制 – 这是另一篇文章的主题)。

功能

我们使用 分析了 样本 –

f216(包名称:.pl.)

清单文件

与典型的 恶意软件分析一样,我们通过查看 .xml 文件开始分析。图 1 显示了 文件的快照。尽管 请求的权限列表不是很详尽,但我们确实看到了一些可疑的权限请求。其中包括 、LS、、、GE 和

。尽管对这些权限的请求并不总是表明存在恶意行为,但这些是间谍软件请求的典型权限。

图 1. 请求的可疑权限

入口点

根据(一篇)

文献java jfilechooser 剖析Android端SpyNote恶意软件技术,有多种方法可以为您的应用程序创建入口点:

对于我们的分析,下一个逻辑步骤是识别这个可疑间谍软件应用程序的入口点,并找到 使用的方法。第一次检查时,我们发现 .xml 中使用的几个方法可以作为“入口点”。为了获得更多理解java jfilechooser,我们在 设备上安装 并观察其行为。这有助于将手机上观察到的行为与代码关联起来。

隐藏的应用程序

安装后,我们注意到应用程序启动器中看不到该应用程序。然而,在“电话设置”->“应用程序”菜单中进行简单检查即可显示该应用程序已成功安装。我们可以推断该应用程序正在隐藏以避免被发现。

对于间谍软件来说,隐藏的原因是为了避免被发现,并尽可能长时间地继续其窃取用户数据的目标。间谍软件可以使用多种方法来实现此隐藏功能:

• 使用

在运行时隐藏应用程序

• 在 .xml 中不提供启动器活动类别 ()(对应于包含 的意图)

如图 2 所示, 中的启动器活动缺少 类别。这使得该应用程序隐藏在手机上。图 2 还显示了主要活动的类名。

图 2. 缺少“启动器”类别导致应用程序隐藏

从“最近”中排除

除了隐藏自身之外, 还采取了额外的步骤来隐藏其活动,使其不显示在“最近使用的应用程序”屏幕(显示最近使用的应用程序的屏幕)中。它通过在 .xml 中定义属性

:并将其设置为“true”来实现此目的。

根据 文档,“最近屏幕”是一个系统级 UI,列出了最近访问的活动和任务。用户可以浏览列表,选择要恢复的任务,或者通过滑动来从列表中删除任务”。通常通过点击屏幕底部的汉堡菜单或从底部滑动屏幕来访问此功能。

启动隐藏的应用程序

图 3.“最近”屏幕

间谍软件应用程序可通过多种方式启动隐藏的应用程序:

• 攻击者通过短信发送命令。间谍软件应用程序接收“收到短信”的广播,然后取消隐藏应用程序图标。

• 收到外部触发后启动应用程序:

– 接收拨出电话的广播并触发应用程序

– 在清单文件中添加针对特定 URL 的意图过滤器。每当受害者浏览到该 URL 时,恶意软件就会启动。例如,可以通过发送短信等方式说服受害者访问该 URL。

• 使用单独的启动器应用程序,仅将所需的意图发送到恶意软件应用程序,恶意软件应用程序在收到此意图后启动。

对于间谍软件来说,保持隐藏至关重要。然而,这提出了一个问题:“受害者将如何启动间谍软件应用程序以窃取数据”?

恶意软件应用程序可以通过外部触发器启动。我们创建了一个简约的“Hello World”风格的 应用程序(如图 4 所示),它仅发送必要的意图(执行操作的“意图”)。收到意图后,恶意软件应用程序将启动主要活动。

图 4. 启动隐藏恶意软件的外部触发器应用程序

权限

启动后, 主要请求

权限,一旦受害者授予该权限,恶意软件就会向自己授予多个其他所需权限(

..LS、

..、

.. 等,如图 1 所示)。 1)

图 5. 使用辅助服务自行授予权限

数字。图5显示了受害者授予

权限后的步骤:

间谍软件应用程序一一请求清单文件中提到的所有权限,并且它不是等待受害者授予这些权限,而是生成一个“点击”笔画来复制用户的点击,从而自行授予所有请求的权限。顽固服务

启动 后,我们可以从手机设置中验证它是否使用模糊的服务名称运行两个服务。然而,根据 .xml,我们可以确认这些是在名为 C71 和 C38 的两个类中实现的。

对代码的进一步调查表明java jfilechooser,这些服务就是我们所说的“顽固服务”。顽固服务的主要目标是让受害者或 系统本身很难关闭恶意软件应用程序。

通过注册一个名为“”的广播接收器(一个允许您注册系统或应用程序事件的 组件)来实现此功能。该广播接收器是独一无二的,因为系统上没有其他接收器能够处理 在即将关闭时生成的特定广播。

每当 服务即将关闭时,该服务的 方法就会被调用。 方法本身会生成一个“”广播。这是特定于该应用程序的广播,不能由系统上的任何其他应用程序生成。收到此广播后,广播处理程序(即先前注册的唯一接收器)将重新启动服务。图6展示了这个过程。

图 6. 服务 – 自行重启

图 7. 通过代码屏幕截图显示了此过程。间谍软件应用首先在 .xml 文件中声明一个广播接收器。每当尝试关闭以销毁恶意服务时, 方法都会生成“”广播。然后广播接收器重新启动服务。

图 7. 为防止终止其服务而采取的步骤

C2通讯

正如典型的间谍软件一样,被盗数据只有在发送回威胁行为者时才有用。这种渗透是通过与攻击者的命令和控制 (C2) 服务器建立连接来发生的。识别此类 C2 服务器并阻止与其通信可以帮助防止任何个人数据泄露。

在我们正在分析的 示例中,C2 通信是作为间谍软件服务初始化的一部分立即建立的。简单地搜索“”调用,就会发现 C2 通信的存在。C2 IP 和端口采用 编码,如图 8 所示。

图 8. C2 通信

电话录音

将间谍活动更进一步,甚至将受害者的来电记录为 .wav 文件,并将这些文件发送到 C2 服务器。它通过首先授予自己“ ”权限(这要归功于之前授予的 E 权限)来实现此目的,并另外为系统广播意图“ ”定义广播接收器。

当受害者接到来电时,电话状态会发生变化,并触发广播接收器。广播接收器中的代码检查受害者是否已接听电话,一旦确认,就开始录制音频。图 9 显示了执行此恶意活动的代码片段。

图 9. 电话录音

图像捕捉/屏幕截图

该间谍软件使用 API 来捕获受害者手机的图像。

API 允许应用程序捕获可以录制或投射到其他设备(例如电视)的设备内容。内容始终是从真实的显示设备捕获的。然后将捕获的内容渲染到中间“虚拟显示器”java jfilechooser,这是媒体投影的核心。最后, 是所捕获图像的消费者。它从“虚拟显示器”获取这些图像并渲染它们。

为了实现这一点, 注册了一个 ener,只要有新图像可用,就会调用此侦听器。然后,恶意软件应用程序直接将捕获的图像数据作为 JPG 文件发送到 C2 服务器。所有这些如图 10 所示。

图 10. 间谍软件使用 截取屏幕截图

记录和窃取数据

间谍、记录和泄露用户数据是任何间谍软件的一些核心“功能”。 也不例外。成功启动后,它会创建一个新的日志文件,并开始记录受害者执行的各种操作。

按键记录是 的另一个核心功能,恶意软件应用程序会将受害者输入的所有按键记录为 字符串在其自己的日志文件中。由于其自己的日志文件,间谍软件应用程序可以直接保存侦听的用户数据(例如凭据)。例如,我们在解锁需要输入密码的设备屏幕后检查了 的日志文件。图 11 显示了 创建的日志文件以及其中捕获的屏幕解锁密码。

图 11. 间谍软件信息记录器

捕获的动作的其他一些示例包括屏幕开/关、屏幕解锁密码、主屏幕上显示的应用程序列表、移动手势等。

卸载困难

所有间谍软件的目标都是最大限度地在受害者设备上停留,并提取尽可能多的信息。 作为隐藏应用程序启动其活动java jfilechooser 剖析Android端SpyNote恶意软件技术,还通过使卸载过程变得困难来确保更长的持久性。

由于该应用程序是隐藏的,受害者无法“长按”应用程序图标并将其卸载。受害者卸载应用程序的下一个选项是转到“设置”→“应用程序”并卸载。

然而,只要受害者通过“设置”导航到应用程序, 就会通过关闭菜单屏幕来防止这种情况发生。这是可能的,因为间谍软件获取了

权限。

受害者也无法通过开发人员选项停止该间谍软件的服务,因为如前所述,该恶意软件在设备上运行着“顽固服务”。受害者最终只能选择恢复出厂设置,从而在此过程中丢失所有数据。

概括

样本是一种间谍软件,它会记录和窃取各种信息,包括击键、通话记录、已安装应用程序的信息等。它隐藏在受害者的设备上,因此很难被注意到。这也使得卸载变得极其棘手。受害者剩下的唯一选择是执行恢复出厂设置以删除恶意软件。

F- 将此样本检测为“

./.FLJI.Gen”。

翻译自:

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » java jfilechooser 剖析Android端SpyNote恶意软件技术

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们