Android恶意软件分析:伪装成Discord Nitro的键盘记录器
[CyberDefenders Write-up] AndroidBreach (伪装成虚假Discord Nitro的键盘记录器)场景在BrightWave公司由于一名员工缺乏安全意识导致其凭证泄露发生了数据泄露事件。攻击者利用这些凭证未经授权访问系统并窃取了敏感数据。调查期间该员工透露了两个关键点第一他将所有凭证都存储在手机上的笔记应用中第二他经常从不受信任的来源下载APK文件。你的任务是分析提供的Android转储文件识别下载的恶意软件并确定其确切功能。分类: 端点取证工具: ALEAPP, JADX, SQLite DB Browser, CyberChef实验: 蓝队CTF挑战 | AndroidBreach — CyberDefenders问题与解答Q1: 根据初步调查用于下载恶意APK的可疑链接是什么我们拥有从Android手机导出的完整文件或者可以称之为磁盘镜像作为证据。我对Android工件进行整体解析的首选工具是带有GUI的ALEAPP它位于“Mobile Forensics”文件夹中。启动应用程序后我需要指定“data”文件夹的目录以及输出文件夹来存储HTML报告。创建好存储报告的文件夹后我可以使用“Process”按钮和所有可用模块进行解析。解析过程完成后我们可以点击“Open Report Close”来打开HTML报告并关闭ALEAPP应用程序。打开报告后我们可以看到正在调查的是Galaxy S4的磁盘镜像。然后我们可以转到“Chrome — Downloads”部分可以看到有一个危险文件是从ufile.io下载的但目标路径并未指定下载的文件名。网站历史记录显示用户是从以下URL下载Discord nitro的https://ufile.io/57rdyncxQ2: 下载的APK名称是什么我们知道用户从ufile.io下载了一个文件因此它应该位于data\media\0\Download目录下我们可以看到这个下载的APK文件名称是Discord_nitro_Mod.apkQ3: 在APK中找到的恶意软件包名是什么现在我们必须使用Jadx工具反编译该APK这是一个可以反编译Java编译文件包括APK文件的工具。反编译APK后我们可以查看“Resources”下的AndroidManifest.xml文件。这个XML文件包含有关Android应用程序的重要元数据包括包名、活动名称、主活动应用程序入口点、Android版本支持、硬件功能支持、权限和其他配置。我们可以看到这个APK的包名表明这是一个键盘记录器com.example.keyloggerQ4: 用于外泄数据的端口是什么利用我们从Android Manifest文件中获得的包名我们可以进入“Source Code” - “com” - “example.keylogger”获取该键盘记录器的所有反编译脚本。我们可以看到此应用程序会检查无障碍功能这是移动设备上最常被滥用的权限。无障碍功能允许应用程序以“帮助残障人士”的名义执行许多操作因此可以利用此权限实现读取屏幕及其他危险操作。为了找出用于外泄数据的端口我们需要查看SendEmail类其中包含与邮件外泄处理相关的函数。我们可以看到有一个名为openEmailClient的函数它将打开一个邮件客户端连接到sandbox.smtp.mailtrap.io一个合法的邮件发送平台域名使用端口456将收集到的数据通过电子邮件发送给攻击者。实际端口是465Q5: 攻击者用来接收外泄数据的服务平台名称是什么mailtrap.ioQ6: 攻击者外泄数据时使用的电子邮件是什么要找出攻击者的电子邮件我们必须找到哪个函数调用了SendEmail类它就是这里的BroadcastForAlarm类。另外需要注意的一点是在将数据发送给攻击者之前应用程序创建了config.txt文件用于本地存储键盘记录器的数据。攻击者邮箱APThreatgmail.comQ7: 攻击者在尝试外泄之前保存了一个包含泄露的公司凭证的文件。根据数据你能找到泄露的凭证吗知道了文件名查找起来就容易多了。我们可以打开其中一个文件来找到这个问题的答案。我们可以检索到泄露在此文件中的公司凭证hany.tarekbrightwave.com:HTarek9711$QTPO309Q8: 恶意软件通过加密修改了Android手机上存储的图片。用于加密这些图片的密钥是什么硬编码的AES密钥可以在MainTask类下的ENC函数中找到该密钥是base64编码的。如你所见此应用程序会使用此AES密钥加密image.jpg文件并删除原始文件。我们可以使用CyberChef解码base64字符串以获得明文密钥作为此问题的答案。解码后的密钥是9bY$wQ7!cTz465TXQ9: 员工在手机相册中存储了敏感数据包括信用卡信息。存储的信用卡CVC是什么在浏览ALEAPP时我注意到一件事即本机下载文件。我们可以看到有2张信用卡图片是用户不使用Chrome浏览器下载的。不幸的是我找不到这两张图片但有一张图片位于data\media\0\Pictures\.aux目录下其中恰好包含了信用卡的CVC码而这正是这个问题的答案128CSD0tFqvECLokhw9aBeRqpNzLTXFlojmzFn6OlyTg9XWnhAP6q5FfiGb63VkvyGK0wlz4HQHGGFVm96LXmhm678S8ZftaFkzfvKBgQ9z7ZxC38Yz0Pg51QpqGTLjpBdw/c6GbTjJuqxnrNjQ1Gosj6zmi8gKsLcZ2MLMdy4TQ更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享