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

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

  • https://developer.harmonyos.com/cn/docs/documentation/doc-guides/installation_process-0000001071425528

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

如果要生成签名包需要申请签名文件,好在运行的时候会生成调试版本的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启动任意私有组件

  • https://labs.f-secure.com/assets/BlogFiles/the-mate-escape-huawei-pwn2own-2018-10-13.pdf
  • https://labs.f-secure.com/assets/BlogFiles/huawei-mate9pro-pwn2own-write-up-final-2018-04-26.pdf

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

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

  • https://bugs.chromium.org/p/project-zero/issues/detail?id=2144

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

  • https://bugs.chromium.org/p/project-zero/issues/detail?id=2152

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

  • https://blog.quarkslab.com/audit-of-session-secure-messaging-application.html#full-report
  • https://blog.quarkslab.com/resources/2021-05-04_audit-of-session-secure-messaging-application/20-08-Oxen-REP-v1.4.pdf

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

  • https://leethax0.rs/2021/04/ElectricChrome/

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

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

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

  • http://i.blackhat.com/asia-21/Thursday-Handouts/as-21-Zhao-Wideshears-Investigating-And-Breaking-Widevine-On-QTEE.pdf
  • http://i.blackhat.com/asia-21/Thursday-Handouts/as-21-Zhao-Wideshears-Investigating-And-Breaking-Widevine-On-QTEE-wp.pdf

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

  • http://i.blackhat.com/asia-21/Thursday-Handouts/as-21-Johnson-Unprotected-Broadcasts-In-Android-9-and-10.pdf
  • http://i.blackhat.com/asia-21/Thursday-Handouts/as-21-Johnson-Unprotected-Broadcasts-In-Android-9-and-10-wp.pdf

以下几个的Slides还没放出来

关于快应用的安全研究

  • https://www.blackhat.com/asia-21/briefings/schedule/#a-new-era-of-one-click-attacks-how-to-break-install-less-apps-22259

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

  • https://www.blackhat.com/asia-21/briefings/schedule/#a-mirage-of-safety-bug-finding-and-exploit-techniques-of-top-android-vendors-privacy-protection-apps-22336

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

  • https://www.blackhat.com/asia-21/briefings/schedule/#the-tangled-webview——-javascriptinterface-once-more-21831