自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hacking Team Android Browser Exploit代碼分析

安全 漏洞
Hacking Team 415G泄露資料的vector-exploit-master\src\ht-webkit-Android4-src目錄中,包含一份Android Browser exploit代碼。用戶在瀏覽器中點(diǎn)擊攻擊者的鏈接,便會(huì)執(zhí)行惡意代碼。惡意代碼利用漏洞獲取root權(quán)限,并靜默安裝木馬apk。影響Android4.0-4.3版本。

0x0 前言

Hacking Team 415G泄露資料的vector-exploit-master\src\ht-webkit-Android4-src目錄中,包含一份Android Browser exploit代碼。用戶在瀏覽器中點(diǎn)擊攻擊者的鏈接,便會(huì)執(zhí)行惡意代碼。惡意代碼利用漏洞獲取root權(quán)限,并靜默安裝木馬apk。影響Android4.0-4.3版本。

0x1 漏洞利用的藝術(shù)

Exploit代碼利用了三個(gè)已知的libxslt漏洞,獲得對(duì)內(nèi)存地址的完整控制能力。

1. information leak (CVE-2011-1202)。

2. Arbitrary memory read (CVE-2012-2825)

3. Heap-buffer-overflow (CVE-2012-2871)

關(guān)鍵流程:

 

 

0x2 利用分析

1. 申請(qǐng)330塊1M大小的內(nèi)存,并給每一塊內(nèi)存區(qū)域打上標(biāo)記(0x70747468,‘HTTP’)。

 

 

2. 進(jìn)行內(nèi)存搜索,利用CVE-2012-2825可以檢查任意內(nèi)存地址是否為0x70747468(’HTTP’)的能力,找出第一步的標(biāo)記內(nèi)存,得到標(biāo)記內(nèi)存所在的地址。這里查找內(nèi)存的時(shí)候涉及一個(gè)技術(shù)細(xì)節(jié)。

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]這塊內(nèi)存空間遍歷addr,如果找到"http://www.w3.org/1999/XSL/Transform",會(huì)返回一個(gè)正確的documentElement。

 

 

由于這塊地址在第一步中已經(jīng)申請(qǐng)。這塊內(nèi)存我們知道地址并可以隨意使用,這一步很關(guān)鍵??煽刂频膬?nèi)存約4MB,稱為ZoneX。

3.精心修改ZoneX,利用CVE-2011-1202泄漏堆對(duì)象的地址和CVE-2012-2871寫特定內(nèi)存地址為特定值的能力,把ZoneX標(biāo)記為已釋放,但JS仍然有讀寫的能力。

 

 

 

 

 

 

這一過程相當(dāng)復(fù)雜,暫且跳過。

4. 立即申請(qǐng)大量新的ArrayBuffer覆蓋ZoneX,由于JS仍然有讀寫ZoneX的能力,可以馬上修改一塊符合條件的ArrayBuffer的起始地址為0x00000000,結(jié)束地址為0xFFFFFFFF,即整個(gè)內(nèi)存區(qū)域。

 

 

5. 利用BufferMemoryObject對(duì)象,封裝對(duì)內(nèi)存地址的操作,至此JS已經(jīng)得到整個(gè)RING3內(nèi)存的完整讀寫能力。

 

 

6. 下載小馬module.so

 

 

7. 結(jié)合CVE-2011-1202信息泄漏漏洞,獲得libwebcore.so的基址進(jìn)而獲得libc.so的基址。

 

 

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

 

 

8. 操作內(nèi)存,覆蓋JS對(duì)象的虛表,構(gòu)造假的vtable完成兩個(gè)gadget的拼接。并使用ROP攻擊手法,通過mprotect給堆上的shellcode代碼執(zhí)行的權(quán)限,并將執(zhí)行流程跳轉(zhuǎn)到真正的shellcode。

 

 

 

 

9. shellcode中激活已經(jīng)下載好的小馬module.so;

 

 

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

 

 

用IDA打開小馬,發(fā)現(xiàn)其使用了Obfuscator-clang對(duì)代碼進(jìn)行了混淆。

 

 

所涉及的兩種root方法,第一種是put_user,另一種是towel。

11. 隨后,小馬在ROOT權(quán)限下靜默安裝黑客指定的木馬程序。ALL DONE。

0x4 總結(jié)

從三個(gè)POC到一套完整的遠(yuǎn)程代碼執(zhí)行exploit,是一個(gè)復(fù)雜而艱難的過程。Hacking Team 的exploit演繹相當(dāng)之精彩,不得不說是漏洞利用的藝術(shù)。從遠(yuǎn)程代碼執(zhí)行,到下載rcs遠(yuǎn)程控制客戶端,Hacking Team構(gòu)建了一條完整的黑色鏈條??赐曛?,各位看官會(huì)不會(huì)和小編一樣,背后嚇出了一身冷汗。Android Browser Exploit僅僅是Hacking Team泄漏資料中的一個(gè)項(xiàng)目,其中的技術(shù)點(diǎn)便相當(dāng)復(fù)雜。其所泄漏的項(xiàng)目,不僅包括源代碼,還包括大量工程化的工具以及技術(shù)文檔。僅需簡(jiǎn)單地配置和修改即可自動(dòng)化生成黑客工具,很容易被不法分子利用。可想而知,這將大大降低黑產(chǎn)的技術(shù)門檻。黑產(chǎn)水平將在短時(shí)間內(nèi)顯著提升。守護(hù)用戶安全之路將任重而道遠(yuǎn)。

(行文如有疏漏,敬請(qǐng)斧正)

責(zé)任編輯:藍(lán)雨淚 來源: TSRC博客
相關(guān)推薦

2015-07-14 10:53:19

Hacking Tea0Day漏洞

2015-07-08 10:35:17

2015-07-08 13:36:24

2015-07-08 13:52:18

2015-07-07 17:21:46

2016-05-03 09:27:21

2015-07-16 16:35:26

2015-07-27 11:02:52

2015-07-07 17:09:18

2015-07-08 11:06:59

2015-07-30 13:56:33

Flash漏洞漏洞利用PoisonIvy

2015-07-16 10:56:01

2015-07-16 17:08:14

零日漏洞遠(yuǎn)程執(zhí)行漏洞Hacking Tea

2015-09-23 13:38:42

2015-10-19 13:07:19

2015-07-21 14:49:12

2015-07-13 08:49:54

2015-07-15 17:59:38

2015-07-09 09:39:48

2015-07-06 14:15:38

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)