詳解:一家中國廣告公司,如何利用惡意軟件感染全球8500萬台手機?

來源:雷鋒網 2016-07-06 21:02:00

最近CheckPoint發布了一份非常詳細的報告,談到一款名為HummingBad的Android惡意程序。此惡意程序在行為方式上和先前一些相當霸道的Android惡意程序類似。

不過它有幾大亮點:

其一背後操縱者來自中國重慶(注意下麵還有地址哦…...);

其二其感染範圍極為廣泛,CheckPoint研究人員表示,HummingBad估計已經感染了8500萬台設備。

HummingBad的實例增長

HummingBad幕後團隊大曝光

CheckPoint在報告中將這款Android惡意程序稱作HummingBad。這款惡意程序的作者是國內的一家廣告公司,名叫微贏互動(Yingmob!這下火了)。CheckPoint在報告中毫不留情地揭露了這家公司的一些細節信息。

連工位都有啊!

據說微贏互動內部還是有好幾個團隊在開發合法追蹤和廣告平台的。而負責開發像HummingBad這樣惡意產品的團隊名為“海外平台開發團隊”,這個團隊內部有4個小組,共25名成員。

該團隊有三個開發項目,分別是Eomobi(就是HummingBad惡意組件產品)、HummerOffers(廣告服務器分析平台)、Hummer啟動器(這實際上是個廣告服務Android應用開發包),共開發6條產品線:

1.Ebomi

2.Hummer啟動器

3.Root軟件開發套裝(SDK)

4.HummerOffers

5.MAT

6.Unitemobi

這家公司其實算不上惡意程序的新人。早在2015年的時候,PaloAlto曾經發布過一款iOS惡意程序YiSpecter的報告。當時PaloAlto就認為YiSpecter應該與微贏互動有關,因為這款惡意程序簽名就是微贏企業證書。

CheckPoint這次的報告則提到HummingBad和YiSpecter相比,有著相同的C&C服務器地址,行為方式也很相似。另外HummingBad內部還包含QVOD快播文檔(CheckPoint直接將之稱作iOS色情播放器,淚奔…...),這其實跟Yispecter也有關聯。

HummingBad的目標當然是賺錢!

CheckPoint預計,HummingBad每天都會推2000萬廣告內容,其點擊率大約為12.5%,也就是說每天的廣告點擊量約為250萬次。此外,HummingBad每天還安裝超過50000個欺詐應用。

預計微贏互動每天光從廣告點擊,就能獲取超過3000美元的收益,而詐騙應用的安裝則能獲取7500美元/天。換算下來一個月就是30萬美元,一年則為360萬美元。

當前HummingBad已經感染了8500萬台Android設備。不止於此,由於這款惡意程序會非法對Android設備進行Root操作,實現各類惡意程序的推送,這些設備幾乎就是被徹底掌控的。這些設備上的數據風險自不必多說,將它們組成僵屍網絡,發起攻擊,或者將這些訪問權限賣到黑市,都全然不在話下。

微贏互動用他們自家的Umeng服務來追蹤HummingBad的感染情況(專業!)。從Umeng的控製麵板來看,這家公司“注冊”了近200款應用,預計其中25%都是惡意程序,用於分發HummingBad惡意程序。上麵這張圖也來自Umeng的統計,從去年8月份開始,其活躍性成長表現還是相當不錯的。

從HummingBad當前影響的國家地區來看,這款惡意程序當前應該算是個跨國惡意程序,雖然主要感染地區還是在中國和印度,其他各國的感染數量也是相當可觀的。

惡意行為分析

這次的報告中提到,HummingBad首次感染方法應該是隱藏下載攻擊(drive-bydownload),部分成人內容站點也提供了相應的惡意payload。

而HummingBad本身包含了兩個主要組成部分,其中一個組件負責對Android設備進行Root操作,Rootkit會考慮利用多種不同的漏洞。Root成功後,攻擊者就能完全獲取設備的訪問權限。如果Root失敗,第二套組件就會生成一個欺騙性的係統升級通知,欺騙用戶讓HummingBad獲取係統級權限(Root還是關鍵呀!)。無論Root是否成功,HummingBad都會盡可能下載大量欺詐應用。

模擬點擊的代碼

整套HummingBad包含好幾個惡意組件。首要的組件名為SSP,其作用是顯示非法廣告、安裝欺詐應用。該組件通過4個事件觸發:設備啟動、屏幕開啟/關閉、設備連接任意變化、用戶檢測(聽說過Android係統中的Receiver嗎?這類行為其實是完全合法的)。

觸發過後,SSP開啟名為Se的服務,初始化惡意邏輯,並且開啟廣告網絡。SSP還會開啟計時器,每10秒鍾計劃一次LockTask,如果滿足相應條件(比如互聯網連接、從服務器獲取到設置,時間延遲等),LockTask就會重啟Se服務,並且啟動MainActivity進程,激活惡意payload。

MainActivity進程開始之後,惡意程序會顯示廣告banner,廣告上麵會有個關閉按鈕。實際上惡意程序會阻止用戶回到Home頁,或者是進行返回操作,這樣用戶就隻能點擊該廣告了。用戶點擊所謂的“關閉”按鈕,實際上也是點擊一次廣告操作。在點擊廣告之後,SSP組件就會向服務器發出請求,給APK返回一個鏈接,SSP隨後再從服務器下載該APK文件(就是Android安裝文件嘛)。

那個“關閉”按鈕相關代碼

APK文件下載完成後,惡意應用會檢查設備是否已經Root。如果已經Root,則默默地安裝下載的APK文件;如果沒有Root的話,SSP會彈出用戶對話框,仍舊企圖進行安裝操作。

下載的APK文件安裝完成後,SSP再啟動該程序,並且廣播INSTALL_BEFERRER,通過從服務器獲取到的信息來偽造GooglePlay的安裝,並從廣告網絡中獲取廣告收益(難道這不是僅針對國際用戶的麽?)。

作為一個合格的惡意程序,肯定還要獲取更新、發回報告。SSP會從某JSON文件檢索C&C域名。這裏的JSON文件是從d1qxrv0ap6yf2e.cloudfront[.]net/domain/xxx.json下載的,值大概是這樣的:

除此之外,SSP還有一些行為,比如具體的GooglePlay進程注入(SSP能夠向GooglePlay進程注入一個庫,惡意程序也就能夠偽裝GooglePlay商店中安裝、購買、接受點擊操作;這裏用到的是比較知名的ptrace,SSP能夠用ptrace來調用控製其他應用,讀取、寫入內存等操作);還有RightCore惡意組件,其實應該算是SSP的一個早期版本;CAP組件采用比較複雜的技術負責安裝欺詐應用,實現欺騙IMEI碼注入,執行GooglePlay的點擊模擬操作等等。

對這些感興趣的同學可以點擊這裏,查看CheckPoint提供的詳情。

在CheckPoint看來,微贏互動可能是首個曝光到大眾麵前、如此高度組織化推惡意程序的團隊。或許這種趨勢未來還會持續,引來其他團隊的學習,實現複雜攻擊的獨立化運營。甚至將這樣掌控僵屍網絡的權限,提供給某些組織或政府機關,情況就更加複雜了。

雷鋒網(搜索“雷鋒網”公眾號關注)注:本文原創作者歐陽洋蔥,由FreeBuf投稿發布雷鋒網,轉載請注明來自FreeBuf黑客與極客(FreeBuf.COM)

點擊查看原文

相關鏈接