最近Hacking Team被黑客入侵,近400GB的資料泄漏,在安全界炒的沸沸揚(yáng)揚(yáng).其中泄漏的資料包括:源代碼,0day,資料入侵項(xiàng)目相關(guān)信息,相關(guān)的賬戶密碼,數(shù)據(jù)及音像資料,辦公文檔,郵件及圖片。
Hacking Team在意大利米蘭注冊(cè)了一家軟件公司,主要銷售入侵及監(jiān)視功能的軟件。其遠(yuǎn)程控制系統(tǒng)可以監(jiān)測互聯(lián)網(wǎng)用戶的通訊,解密用戶的加密,文件及電子郵件,記錄各種通信信息,也可以遠(yuǎn)程激活用戶的麥克風(fēng)及攝像頭。其產(chǎn)品在幾十個(gè)國家使用
在源代碼中有各個(gè)操作系統(tǒng)平臺(tái)的遠(yuǎn)程控制軟件源碼,RCS(Remote Control System)。經(jīng)過我們的分析,發(fā)現(xiàn)其監(jiān)控內(nèi)容不可謂不詳盡。Android,blackberry,ios,windows,window phone,symbian均有與之對(duì)應(yīng)的監(jiān)控代碼。
在源碼中,rcs為前綴的源碼文件是其遠(yuǎn)控功能,包括代理 控制 監(jiān)控?cái)?shù)據(jù)庫 隱藏ip 等,而針對(duì)特定平臺(tái)架構(gòu)的是以core前綴命名。其中和相關(guān)window phone監(jiān)控代碼在core-winphone-master.zip文件中。其主要用于實(shí)時(shí)手機(jī)系統(tǒng)的系統(tǒng)狀態(tài)信息如(電池狀態(tài),設(shè)備信息,GPS地址位置),聯(lián)系人,短信記錄,日歷日程安排,照片;同時(shí)還能錄音,截取手機(jī)屏幕,開啟攝像頭,話筒等功能,由此可見監(jiān)控信息的詳細(xì)程度令人害怕。
01 WP8監(jiān)控源碼分析
core-winphone-master\MornellaWp8\MornellaWp8下是其主要核心代碼,主要文件如下:
通過觀察源碼流程圖可以看出,整個(gè)監(jiān)控項(xiàng)目源碼的邏輯還是比較復(fù)雜的,但是深入之后,發(fā)現(xiàn)其還是設(shè)計(jì)的比較巧妙
01-1 程序框架分析
1.項(xiàng)目主要分為3大塊Modules,Events,Actions,主要的功能Modules核心監(jiān)控代碼在此處,Event等待監(jiān)控事件的到來并調(diào)用對(duì)應(yīng)的監(jiān)控模塊,Action主要負(fù)責(zé)一些行為的啟動(dòng)和停止
程序啟動(dòng)流程如下:
main->mornellaStart->BTC_Init->CoreProc->Core->Task
setLoadLibraryExW分支主要負(fù)責(zé)加載一些API函數(shù)的地址,做一些初始化工作
最后Task創(chuàng)建了3大模塊的管理對(duì)象ModulesManager,EventsManager,ActionsManager
并在Task::TaskInit()
中啟動(dòng)了events
01-2 Event模塊分析
Event主要負(fù)責(zé)以下事件的監(jiān)控,例如短信,日歷日程安排,聯(lián)系人,地址位置,電池狀態(tài),進(jìn)程信息,計(jì)時(shí)器狀態(tài)等信息
所有的event均以json格式發(fā)送,并調(diào)用conf.cpp下的ParseEvent進(jìn)行解析,源碼部分邏輯被注釋上了,經(jīng)過搜索發(fā)現(xiàn)被注釋上的功能最后沒有相關(guān)的實(shí)現(xiàn)代碼.
01-3 Action模塊分析
Action模塊主要是3個(gè)類 ActionManage,Action,SubAction其中ActionManage主要維護(hù)一個(gè)Action隊(duì)列,Action是抽象的接口,而執(zhí)行的實(shí)體主要是SubAction。
SubAction主要處理synchronize,execute,uninstall,module,event,sms,log,destroy等行為的執(zhí)行
而在處理module時(shí)用了start類進(jìn)行啟動(dòng),Start首先初始化了一個(gè)ModulesManager對(duì)象,然后在調(diào)用conf對(duì)獲取對(duì)應(yīng)的module信息,并調(diào)用ModulesManager->start()啟動(dòng)對(duì)應(yīng)的模塊。
01-4 Module模塊分析
Module模塊同上面的模塊結(jié)構(gòu)保持一致,也是一個(gè)ModuleManage負(fù)責(zé)維護(hù)一個(gè)Modules隊(duì)列。
進(jìn)行外層調(diào)度,Module類是一個(gè)抽象的接口,負(fù)責(zé)統(tǒng)一調(diào)用接口,主要的模塊接口如下.
這些模塊,完成了獲取設(shè)備信息(如:操作系統(tǒng)版本,設(shè)備ID,電量,應(yīng)用程序列表,進(jìn)程列表,可用磁盤空間,內(nèi)存信息,處理器架構(gòu)),聯(lián)系人,一些社交帳號(hào)信息,同時(shí)還能開啟攝像頭,話筒,截取手機(jī)屏幕等功能
1.獲取的設(shè)備信息,代碼主要在DeviceInfo.cpp中
2.獲取聯(lián)系人的以及社交網(wǎng)站的帳號(hào)密碼,代碼主要在PoomAddressBook.cpp中
3.日歷日程安排,代碼主要在PoomCalendar.cpp中
4.截圖功能(代碼在SnapshotGrabber.cpp中,但是該部分代碼已經(jīng)被注釋)
5.開啟攝像頭(代碼在NativePhotoCaptureInterface.cpp中)
其主要通過WP的PhotoCaptureDevice API接口來實(shí)現(xiàn),當(dāng)你在啪啪啪的時(shí)候,你的攝像頭被開啟,那是種什么樣的感覺呢?
02 感染途徑
Window在新推出的WP8上做了很多對(duì)非越獄用戶的保護(hù),只能安裝應(yīng)用商店中的軟件,但是WP8可以通過一個(gè)鏈接訪問應(yīng)用商店中的某個(gè)APP, 當(dāng)被攻擊者被欺騙的安裝了該APP應(yīng)用,該APP遍可以通過WP提權(quán)的漏洞來提升運(yùn)行權(quán)限,即可執(zhí)行高權(quán)限代碼,帶來的后果非常嚴(yán)重,所以我們要警惕一些 釣魚欺詐的應(yīng)用。
而對(duì)于越獄用戶,別人可以直接把應(yīng)用捆綁在越獄工具,在越獄的過程中,即可捆綁安裝他們的APP應(yīng)用,如果這個(gè)應(yīng)用是惡意的,那么后果可想而知,然而在越獄后的WP系統(tǒng)安全性也將大打折扣.所以我們最好不要輕易的越獄。
Hacking Team是擁有微軟的企業(yè)證書的,而具有企業(yè)證書的公司可以將自己的應(yīng)用提交到商店供人下載,不用授權(quán)即可安裝,不論是否越獄都可以安裝上去,然而從應(yīng)用商店下載的程序,用戶一般都會(huì)認(rèn)為是安全的。
由于Window Phone用戶較少,反饋的問題可能也比較少,相關(guān)的開發(fā)維護(hù)人員也相應(yīng)的比較少,可能會(huì)存在一些不為人知的安全漏洞,可以突破Window Phone8的安全限制,將惡意程序安裝上去,還可能存在某些已經(jīng)安裝的應(yīng)用存在漏洞,利用這些具有漏洞應(yīng)用結(jié)合提權(quán)漏洞,將惡意的應(yīng)用安裝到設(shè)備上。
03 小結(jié)
通過Hacking Team泄漏的這些資料來看,Hacking Team團(tuán)隊(duì)還是具備非常專業(yè)的水平,但是強(qiáng)如Hacking Team的公司都被入侵了,你手機(jī)里面的那些私密照片還保險(xiǎn)么?
建議:
1.不要隨意安裝不知名的應(yīng)用
2.及時(shí)更新系統(tǒng)的安全補(bǔ)丁
3.社交帳號(hào)設(shè)置復(fù)雜的密碼
4.給私密的照片加密