应用侧漏洞与CTF题解:https://wnagzihxa1n.gitbook.io

大土豆安全笔记 | 明儿个记得上班

众所周知的原因,上次的安全笔记提到了华为小范围推送鸿蒙系统,我想了想,那得赶紧把鸿蒙上的应用给研究一下,比如开发,逆向,漏洞类型,扫描引擎

如果有兴趣一起研究学习的同学,可以参考下面的开发文档

当前阶段的开发环节我觉得还是比较难受的,使用虚拟机是云端的,需要申请账号,每次限制一个小时的使用,界面不清晰,滑动会卡顿

如果要生成签名包需要申请签名文件,好在运行的时候会生成调试版本的HAP包,拿来逆向效果一样的

HAP包是一个ZIP压缩文件

➜  file entry-debug-rich-unsigned.hap
entry-debug-rich-unsigned.hap: Zip archive data, at least v1.0 to extract

解压缩后看到的文件略微有些尴尬,有一个classes.dex以及entry_debug_signed_entry.apk,这也就难怪了一大堆说鸿蒙套壳的,这里应该是为了兼容过渡,有待后面研究的深入了再看

➜  ls -al
total 72
drwxr-xr-x@ 6 wnagzihxa1n  staff    192  5  7 18:01 .
drwxr-xr-x  5 wnagzihxa1n  staff    160  5  7 18:02 ..
drwxr-xr-x@ 3 wnagzihxa1n  staff     96  5  7 18:01 assets
-rwxr-xr-x@ 1 wnagzihxa1n  staff   3304  1  1  2019 classes.dex
-rwxr-xr-x@ 1 wnagzihxa1n  staff    770  1  1  2019 config.json
-rwxr-xr-x@ 1 wnagzihxa1n  staff  25046  1  1  2019 entry_debug_signed_entry.apk

entry_debug_signed_entry.apk就是APK文件,拖出来就可以反编译分析

Path Finder单独切了个分支出来处理鸿蒙版本的应用包,先解压缩再提取APK进行反编译分析,不过当前这也是过渡版本,所以后续HAP包的结构肯定也会变,动态跟进呗

华为Mate 9 Pro之前在Pwn2Own被F-Secure实验室攻破的第一个逻辑漏洞,华为的应用商店AppGallery可以通过DeepLink启动任意私有组件

这几天一直在适配这个漏洞模型,子类父类抽象类接口来回跳,光梳理清楚就头秃

IMAGE

这个漏洞是我一直最喜欢的导出组件可以调用到startActivity()模型,入口是浏览器,当scheme为"hiapp"且host为"com.huawei.appmarket"的时候,就可以走到startActivity()分支,构造对象r7的时候挺复杂的,需要点耐心

} else if ("hiapp".equals(_scheme) && "com.huawei.appmarket".equals(_host)) {    // <-- 2
    String _uri_activityName = _uri.getQueryParameter("activityName");
    String _uri_params = _uri.getQueryParameter("params");
    String _uri_channelId = _uri.getQueryParameter("channelId");
    if (!TextUtils.isEmpty(_uri_activityName)) {
        JSONArray jSONArray = null;
        try {
            if (!TextUtils.isEmpty(_uri_params)) {
                jSONArray = new JSONObject(_uri_params).getJSONArray("params");
            }
            axj.m2725().f3677 = _uri_channelId;
            OpenGateway.b r7 = OpenGateway.m354(_uri_activityName, jSONArray);
            if (r7 != null) {
                if (r7.f564 != null) {
                    this.callback.startActivity(r7.f564, 0);
                } else if (r7.f563 != null) {
                    this.callback.startActivity(r7.f563);
                }
            }
        } catch (JSONException e) {
            ye.m7630(TAG, "can not get params:" + e.toString());
        }
    }
    this.callback.finish();

利用的话,需要结合一个已经完成初始化的Map表,启动的私有组件必须存在于这个Map表,我们选择WebViewActivity

tr.m7477("webview.activity", WebViewActivity.class);

看下效果

IMAGE

然后本来是应该使用这个WebViewActivity的导出对象实现代码执行的,但是并未找到一个触发路径,所以使用launchApp调用另一个存在WebView漏洞的应用,这就是后话了

有兴趣的可以分析一遍,这漏洞如果是我来挖,那肯定挖一半就放弃了

若干NFC漏洞

Issue 2144: Android: OOB Write in NFC stack when handling MIFARE Classic TLVs

Issue 2152: Android: Memory Disclosure, OOB Write, and Double Free in NFC’s Felica Tag Handling

Quarkslab对聊天应用Session的审计,包含了三个平台,其中一些审计点值得学习

ELECTRIC CHROME - CVE-2020-6418 on Tesla Model 3,特斯拉车机上的浏览器漏洞利用

说到车机,我一直想搞一下车机上的应用逻辑漏洞,因为车机上的应用都是单独提供的,之前我也审计过一些车机版本的应用,逻辑相对手机版本的会简单许多,而且稳定第一,所以一般分析起来比较轻松,接下来找找车机安全的议题和论文看看

Black Hat Asia 2021的议题出来了,依旧是线上举办,视频应该是还没放出来,不过大部分Slides都有了

来自360 Alpha Lab的大佬对高通QTEE的研究,小弟对这个只了解一丁点皮毛,抓紧时间多学学

Android 9,10,11预览版的广播保护机制存在问题

以下几个的Slides还没放出来

关于快应用的安全研究

对手机系统厂商提供的私密数据保护机制的安全研究,比如小米的Second Space之前就爆过一个密码绕过的漏洞

新的WebView漏洞模型又要来了,而且一次性来三种模型,可以刷SRC了,等Slides放出来第一时间抓紧学习