android CVE

  本文收集網上android cve的一些分析供後續學習:php

 

  Android uncovers master-key:android1.6—4.0html

因爲ZIP格式容許存在兩個或以上徹底相同的路徑,而安卓系統沒有考慮這種場景。在該狀況下,android包管理器校驗簽名取的是最後一個文件的hash,而運行APK加載的dex文件倒是zip的第一個dex文件。
參考資料:看雪zmworm http://www.kanxue.com/bbs/showthread.php?t=175129
View Code

  launchAnyWhere: Activity組件權限繞過漏洞解析:—android4.4java

// 此漏洞利用AccountManagerService去啓動任意未導出的Activity,突破進程間組件訪問隔離的限制
// 背景:appA擁有帳號類型,可被添加到android中
// 一、在setting中添加appA帳號,會在setting進程中打開appA傳遞進來的intent(正常是appA的註冊activi)
// 二、惡意appA會傳遞任意的activity,因爲是在setting(system權限)中執行,因此activity會被建立
// 修補:
// 一、androiod4.4中/frameworks/base/services/core/java/com/android/server/accounts/AccountManagerService.java
//         Session.onResult函數中判斷intent中的active的SIGNATURE是否和appA相同
//      若不一樣則不容許建立intent包含的activity
// 二、在activity中檢測下,本身是被誰建立的,若不是所屬的app建立則退出;
//       如何檢測:在app裏建立activity前設置flag,activity的oncreate函數中查詢flag便可判別
// 涉及到的資料和poc已收集到爲知筆記;BTW,android帳號類型的建立看參考資料
// 參考資料:
launchAnyWhere: Activity組件權限繞過漏洞解析:
    http://retme.net/index.php/2014/08/20/launchAnyWhere.html
Android LaunchAnyWhere (Google Bug 7699048)漏洞詳解及防護措施:
    http://blog.csdn.net/l173864930/article/details/38755621
一步一步教你在 Android 裏建立本身的帳號系統
深刻理解android卷2:第8章AccountManagerService
View Code

   FakeID簽名漏洞:Android2.1—4.4.1linux

// 此漏洞的成因是校驗證書沒對證書內容進行校驗,而只是比對證書的字符串
// 參考研究:
// Android FakeID(Google Bug 13678484) 漏洞詳解 http://blog.csdn.net/l173864930/article/details/38409521
// FakeID簽名漏洞分析及利用(Google Bug 13678484) http://retme.net/index.php/2014/08/04/fakeid-bug.html
// 分析文檔和資料已記錄在爲知筆記 /hacker/漏洞分析/android/FakeID目錄下
View Code

  BroadcastAnyWhere:Android 2.0—4.4.xandroid

// 此漏洞的也是在添加帳戶時被會被利用:
// 添加帳戶會新建PendIntent,致使惡意軟件能夠用這個intent去構造來開啓任意的廣播
// 修復方案是新建PendIntent時先初始化intent,這樣根據填充intent規則後續就不能夠再修改intent了
// 參考資料:
// Android BroadcastAnyWhere(Google Bug 17356824)漏洞詳細分析 http://blog.csdn.net/l173864930/article/details/41246255
// broadAnywhere:Broadcast組件權限繞過漏洞(Bug: 17356824)http://retme.net/index.php/2014/11/14/broadAnywhere-bug-17356824.html
// 安卓Bug 17356824 BroadcastAnywhere漏洞分析 http://xteam.baidu.com/?p=77
// 改漏洞資料也收集到爲知了
View Code

   CVE-2014-3153:—android4.4.2,linux3.4內核漏洞git

// 如下轉自CVE-2014-3153筆記 http://thecjw.0ginr.com/blog/archives/564
CVE-2014-3153能夠說是至關經典的漏洞,影響範圍至關普遍。這其實是一個Linux內核的Use-After-Free漏洞,
利用得當能夠轉化爲任意內核地址寫入。Geohot的TowelRoot也利用了這個漏洞,在當時(以及如今)可以Root(或Crash)絕大多數Android設備。
因爲工做的須要,收集了該漏洞的一些資料,而且對漏洞原理和利用方法進行了一些學習和分析。
如下是收集的資料:
http://blog.nativeflow.com/the-futex-vulnerability
http://blog.nativeflow.com/escalating-futex
http://blog.nativeflow.com/pwning-the-kernel-root
http://blog.topsec.com.cn/ad_lab/cve2014-3153/
https://github.com/timwr/CVE-2014-3153
https://github.com/android-rooting-tools/libfutex_exploit
https://github.com/nativeflow/pwntex
http://tinyhack.com/2014/07/07/exploiting-the-futex-bug-and-uncovering-towelroot
https://github.com/torvalds/linux/commit/e9c243a5a6de0be8e584c604d353412584b592f8
我的以爲NativeFlow的三篇文章詳細的解釋了各類細節以及利用方法,包括使用模擬器進行內核調試、問題代碼補丁地址、Crash PoC以及圖示。
天融信的文章結合了NativeFlow的三篇文章,並加入了本身的看法和分析,也挺不錯,就是排版稍差。pwntex是NativeFlow給出的Relock和Requeue的PoC,
而CVE-2014-3153和libfutex_exploit則是兩個能夠在Android上獲取Root權限的PoC
View Code

 

 

 

 

待續github

相關文章
相關標籤/搜索