记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

使用Brida对数据包加密的APP进行漏洞挖掘

2021-05-24 05:03

Brida安装与配置

安装

打开BurpSuite,菜单“Extender”—> "BApp Store" —> "Brida,Burp to Frida bridge" —> "install"

当按钮"install" 变成"reinstall" 后表示安装完成。

配置

Frida环境配置

需搭建好frida的环境,可参考:https://mp.weixin.qq.com/s/i-RhfBkUXPwiVDTUS2D_7w

Pyro4安装

执行命令:

pip install Pyro4

frida-compile安装

如果当前系统未安装node.js,需要安装,以便使用npm,具体安装方法可百度。

npm install frida-compile@9

"Configurations"配置

可通过以下方式获取python和frida-compile的安装路径

配置结果验证

进入手机shell终端,启动fridaserver

❯ adb shell
root@shamu:/ # ./data/local/tmp/fs1280
WARNING: linker: ./data/local/tmp/fs1280: unused DT entry: type 0x6ffffef5 arg 0x1c24

填写目标APP包名,点击"Start server" 以及"Spawn application"或"Compile&Spawn"。当红字都变绿时说明环境配置成功。

使用Brida操作加密数据包

现在有一个目标APP,抓取数据包,发现数据包中的字段已进行加密。

接下来就来看看如何通过Brida来对数据包中的加密数据进行自动/手动解密。

反编译apk分析加解密算法

编写brida.js文件

选中菜单:"Brida"—"JS Editor"—"Load JS file",选中brida.js文件。

在jbrida.js文件的特定位置,编写我们代码对我们反编译分析得到的加解密算法进行调用,实现对加密数据的解密

  encrypt: function(dec){
    console.log("Brida  Java Starting script ---->ok");
    var enc;
    Java.perform(function(){
    var key = "9876543210123456";
    var AesEncryptionBase64 = Java.use('com.ese.http.encrypt.AesEncryptionBase64');
    console.log("Brida start : encrypt before--->"+dec);
    enc = AesEncryptionBase64.encrypt(key,dec);
    console.log("Brida start : encrypt after--->"+enc);

    return enc;
  },

   decryptfunction (enc{
        console.log("Brida start :0--->" + message);
        var text;
        Java.perform(function ({
            try {
                var key = "9876543210123456";
                //hook class
                var AesEncryptionBase64 = Java.use('com.ese.http.encrypt.AesEncryptionBase64');
                console.log("Brida start : AesEncryptionBase64 ---> success");
                console.log("Brida start : decrypt before--->"+enc);
                //hook method
                text = AesEncryptionBase64.decrypt(key,enc);
                console.log("Brida start : decrypt after--->"+text);
            } catch (error) {
                console.log("[!]Exception:" + error.enc);
            }
        });
        console.log("Brida start : decrypt after--->"+text);
        return text;
    }

编辑好代码后,分别点击"Save JS file"和"Compile&reload JS",没有报错就说明此处暂时没问题。

调试编写的加解密函数

当brida.js文件编写完成后,可通过"Debug export"模块来对刚才编写的代码进行测试,验证是否和期望的结果相同。

Custom plugins配置与使用

操作菜单:"Brida"—"Custom plugins"

插件开启过后,我们可以在插件处选择"open debug window"打开调试输出窗口,然后再抓取数据包,可以查看到插件的运行情况。

通过以上操作,我们可以发现我们的自动加密插件已经生效。接下来再来完成一下自动解密插件的设置。

再抓取加密数据包,查看抓包记录如下:

登录加密数据包爆破

爆破结果:


【安全之路】知识星球 一个网络安全学习的星球!星球主要分享、整理、原创编辑等网络安全相关学习资料,一个真实有料的网络安全学习平台,大家共同学习、共同进步!

如何加入:扫描下方二维码,扫码付费即可加入。


知识来源: https://mp.weixin.qq.com/s?__biz=MzUyMTA0MjQ4NA==&mid=2247508241&idx=3&sn=8f2aa2585f4407894b66530f95eede9d&chksm=f9e3ce4ace94475c31dc9b357b9ae7800f839109561ec041b7efe52b82f130b72a3a08fd9509&scene=27&k

阅读:270600 | 评论:0 | 标签:加密 漏洞 app

想收藏或者和大家分享这篇好文章→复制链接地址

“使用Brida对数据包加密的APP进行漏洞挖掘”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

标签云 ☁