2014SyScan360——追蹤OSX商業(yè)間諜軟件Crisis
原創(chuàng)2014年7月16日,由360承辦的2014亞洲知名安全技術(shù)峰會(huì)SyScan360強(qiáng)勢(shì)登陸北京。來自Coseinc的OSX領(lǐng)域的專業(yè)研究員Pedro Vilaca介紹了如何逆向HacKing Team的OS X商業(yè)間諜軟件Crisis。Pedro Vilaca喜歡rootkits,破解軟件保護(hù)及挑戰(zhàn)HacKing Team。最近轉(zhuǎn)向白帽并試圖為OS X打造最好的企業(yè)終端安全解決方案。
來自Coseinc的OSX領(lǐng)域的專業(yè)研究員Pedro Vilaca
針對(duì)目前的OS X攻擊樣本我們可以了解到攻擊的這樣一些特性與能力:其可以監(jiān)控麥克風(fēng)、監(jiān)控?cái)z像頭、實(shí)現(xiàn)屏幕截圖、記錄鍵盤和鼠標(biāo)的操作、保存Skype/MSN記錄以及監(jiān)控瀏覽器等等。它可以通過Exploit,以郵件形式將它發(fā)出來,然后進(jìn)入到dropper,最后把它放到后門模塊。
什么叫dropper?一般通過溢出Flash,Word等釋放代碼,有些發(fā)送郵件或者通過其他社會(huì)工程學(xué)方式,讓用戶安裝,但它本身并不大,小于1MB。dropper試圖隱藏真實(shí)的程序入口,使用虛假的main()函數(shù),如果是有經(jīng)驗(yàn)的人可以通過檢查Mach-0頭部數(shù)據(jù)輕易發(fā)現(xiàn)。
針對(duì)dropper,Pedro Vilaca給出了很專業(yè)的建議:不需要Mmap的庫,因?yàn)樗鼈兠總€(gè)流程的進(jìn)程都有一個(gè)mmap;利用dyld共享緩存特性;重要的庫是被緩存的,可以直接從內(nèi)存讀取它們,但是還是需要尋找部分dyld函數(shù)。
在本屆會(huì)議現(xiàn)場(chǎng),Pedro Vilaca詳細(xì)介紹了OS X商業(yè)間諜軟件Crisis的核心——后門模塊。后門模塊主要負(fù)責(zé)與C&C通信、注入到目標(biāo)程序中、記錄與Rootkit控制等工作。
此外,因發(fā)現(xiàn)最近市面上最近檢測(cè)到的樣本中將后門與MPRESS打包來繞過逆向工程,他還探討了打包,如何解包,如何構(gòu)建自動(dòng)解包器,以及調(diào)試技巧。
特別提醒,關(guān)于解壓?jiǎn)栴},大家需要注意以下幾個(gè)方面:
在轉(zhuǎn)儲(chǔ)之前頭部數(shù)據(jù)必須解析;
使用文件大小域和偏移域轉(zhuǎn)儲(chǔ)正確的數(shù)據(jù)大小到磁盤;沒有其它需要修復(fù)的內(nèi)容;
_DATA段是0x1000字節(jié),在轉(zhuǎn)儲(chǔ)映像里太大了;
二進(jìn)制轉(zhuǎn)儲(chǔ)會(huì)導(dǎo)致崩潰,因?yàn)開OBJC和_LINKEDIT指向了磁盤上的虛假數(shù)據(jù);
并不是所有的樣本都可以轉(zhuǎn)儲(chǔ);內(nèi)存中的大小和文件中的大小可能會(huì)不一致;
一個(gè)簡(jiǎn)單的轉(zhuǎn)儲(chǔ)可能導(dǎo)致文件偏移指向錯(cuò)誤的數(shù)據(jù)。
另外,針對(duì)調(diào)試技巧,Pedro Vilaca提供了兩種反調(diào)試方法,一是對(duì)于后門模塊來說,利用Sysctl反調(diào)試方法,可以檢測(cè)一個(gè)線程是否有調(diào)試器存在,若存在則退出,這個(gè)很容易繞過線程,而且會(huì)移除掉對(duì)新線程的函數(shù)調(diào)用。二是,如果你想調(diào)試一個(gè)被隔離的后門模塊,你需要在配置檢查出patch。
最后,Pedro Vilaca為大家介紹了加密用法,配置和可用的功能,以及大部分功能的實(shí)現(xiàn)方法,也就是捆綁注入,并回顧了C&C communications及內(nèi)核rootkit。