Hacking Team Android Browser Exploit代碼分析
0x0 前言
Hacking Team 415G泄露資料的vector-exploit-master\src\ht-webkit-Android4-src目錄中,包含一份Android Browser exploit代碼。用戶在瀏覽器中點擊攻擊者的鏈接,便會執行惡意代碼。惡意代碼利用漏洞獲取root權限,并靜默安裝木馬apk。影響Android4.0-4.3版本。
0x1 漏洞利用的藝術
Exploit代碼利用了三個已知的libxslt漏洞,獲得對內存地址的完整控制能力。
1. information leak (CVE-2011-1202)。
2. Arbitrary memory read (CVE-2012-2825)
3. Heap-buffer-overflow (CVE-2012-2871)
關鍵流程:

0x2 利用分析
1. 申請330塊1M大小的內存,并給每一塊內存區域打上標記(0x70747468,‘HTTP’)。

2. 進行內存搜索,利用CVE-2012-2825可以檢查任意內存地址是否為0x70747468(’HTTP’)的能力,找出第一步的標記內存,得到標記內存所在的地址。這里查找內存的時候涉及一個技術細節。
When parsing a XSLT stylesheet containing a DTD, a structure of type xmlEntity is accessed as another type. The value of cur->ns->href is then compared with a string (“http://www.w3.org/1999/XSL/Transform"). If not equal, return null.

將ns->href和ns->prefix的值改為addr,然后利用二分法在[0x7a703030, 0x79303030]這塊內存空間遍歷addr,如果找到"http://www.w3.org/1999/XSL/Transform",會返回一個正確的documentElement。

由于這塊地址在第一步中已經申請。這塊內存我們知道地址并可以隨意使用,這一步很關鍵。可控制的內存約4MB,稱為ZoneX。
3.精心修改ZoneX,利用CVE-2011-1202泄漏堆對象的地址和CVE-2012-2871寫特定內存地址為特定值的能力,把ZoneX標記為已釋放,但JS仍然有讀寫的能力。



這一過程相當復雜,暫且跳過。
4. 立即申請大量新的ArrayBuffer覆蓋ZoneX,由于JS仍然有讀寫ZoneX的能力,可以馬上修改一塊符合條件的ArrayBuffer的起始地址為0x00000000,結束地址為0xFFFFFFFF,即整個內存區域。

5. 利用BufferMemoryObject對象,封裝對內存地址的操作,至此JS已經得到整個RING3內存的完整讀寫能力。

6. 下載小馬module.so

7. 結合CVE-2011-1202信息泄漏漏洞,獲得libwebcore.so的基址進而獲得libc.so的基址。

然后在libc和libwebcore中搜索可用的gadget。

8. 操作內存,覆蓋JS對象的虛表,構造假的vtable完成兩個gadget的拼接。并使用ROP攻擊手法,通過mprotect給堆上的shellcode代碼執行的權限,并將執行流程跳轉到真正的shellcode。


9. shellcode中激活已經下載好的小馬module.so;

10. 接下來小馬下載ROOT提權程序(exploit,ELF)獲取ROOT權限;并留下一個shell /system/bin/rilcap,過程和rcs完全一致。

用IDA打開小馬,發現其使用了Obfuscator-clang對代碼進行了混淆。

所涉及的兩種root方法,第一種是put_user,另一種是towel。
11. 隨后,小馬在ROOT權限下靜默安裝黑客指定的木馬程序。ALL DONE。
0x4 總結
從三個POC到一套完整的遠程代碼執行exploit,是一個復雜而艱難的過程。Hacking Team 的exploit演繹相當之精彩,不得不說是漏洞利用的藝術。從遠程代碼執行,到下載rcs遠程控制客戶端,Hacking Team構建了一條完整的黑色鏈條。看完之后,各位看官會不會和小編一樣,背后嚇出了一身冷汗。Android Browser Exploit僅僅是Hacking Team泄漏資料中的一個項目,其中的技術點便相當復雜。其所泄漏的項目,不僅包括源代碼,還包括大量工程化的工具以及技術文檔。僅需簡單地配置和修改即可自動化生成黑客工具,很容易被不法分子利用。可想而知,這將大大降低黑產的技術門檻。黑產水平將在短時間內顯著提升。守護用戶安全之路將任重而道遠。
(行文如有疏漏,敬請斧正)