簡要分析Hacking Team 遠端控制系統

wyzsk發表於2020-08-19
作者: 綠盟科技 · 2015/07/09 22:37

0x00 前言


7月5日晚,一家義大利遠端控制軟體廠商HackingTeam的內部資料被洩露出來,其影響力不亞於斯洛登事件及維基解密事件,綠盟科技威脅響應中心隨即啟動應急響應工作。

6日,威脅響應中心啟動應急分析工作,綠盟TAC產品攔截到Flash 0Day漏洞攻擊;

6日夜,相關資訊及初步建議,第一時間告知客戶關注;

7日,在官網網站釋出緊急通告,建議廣大使用者關注事件進展。分析工作進展進展中;

9日,釋出Hacking Team遠端控制系統簡要分析報告;

這是一份快速報告,以便簡要分析其中的核心內容,Hacking Team RCS(遠端控制系統)。

0x01 洩露:Hacking Team


7月5日晚,一家義大利軟體廠商被攻擊,其掌握的400GB漏洞(包括0day)資料洩露出來,由此可能引發的動盪,引起了業界一片譁然。資料包中主要包含幾個大的部分:

  • 遠端控制軟體原始碼,也是其核心,暫且稱之為 Hacking Team RCS
  • 反查殺分析工具及相關討論文件
  • 0Day、漏洞及相關入侵工具
  • 入侵專案相關資訊,包括賬戶密碼、資料及音像資料
  • 辦公文件、郵件及圖片
  • 其他

0x02 Hacking Team


Hacking Team在義大利米蘭註冊了一家軟體公司,主要向各國政府及法律機構銷售入侵及監視功能的軟體。其遠端控制系統可以監測網際網路使用者的通訊、解密使用者的加密檔案及電子郵件,記錄Skype及其他VoIP通訊,也可以遠端啟用使用者的麥克風及攝像頭。其總部在義大利,僱員40多人,並在安納波利斯和新加坡擁有分支機構,其產品在幾十個國家使用。

0x03 分析:遠端控制系統


大家知道IT運維管理中常常用到遠端控制軟體,比如Dameware,但Hacking Team RCS相比市面上常見的遠端控制軟體而言,主要區別如下:

  • 系統化管理該軟體從入侵到目標資訊收集分析,有完整的體系架構,這個架構中有不同的功能模組,彼此之間相互配合,完成入侵、安裝、資訊蒐集、監控、集中管理等功能。
  • 收集資訊該軟體在後臺收集並上傳目標使用者的資訊,包括各類資料、圖片、影音等
  • 入侵工具配合該軟體有各種漏洞、利用手段及自動化工具,以便在目標上強制安裝Agent
  • 適應能力強桌面OS從Windows到MacOs X,手機OS基本覆蓋了市場上流行的系統
  • 反追蹤該軟體本地及傳播過程資料均加密,讓追蹤者難以找到攻擊者
  • 反解除安裝反查殺該軟體Agent不提供解除安裝方式,並採用各種手段躲避防毒軟體

0x04 Hacking Team RCS系統架構


RCS (Remote Control System)系統是一套用於政府攔截的駭客套件,實現了全平臺的監控系統。

RCS主要元件

enter image description here

每一塊元件具體的功能如下,

  • Front-End:接收執行在被擷取裝置上的代理,作為Back-End的隔離屏障,保證RCS安裝的安全性。系統要求是Windows 2003 or 2008。
  • Back-end: 是整個設施的核心,它儲存所有從代理收集到的資料同時處理從管理控制檯傳來的請求。所有的RCS資料儲存裡面一個標準的關係型資料庫,因此該服務還提供額外的功能,比如根據客戶的要求實現自動備份和定製資料探勘。系統要求是Windows 2003 or 2008。
  • Management console:RCS的控制檯是用於訪問和控制所有的遠端控制系統(RCS)功能的應用程式。Operators可以授予系統不同等級的訪問許可權:Admin可以建立使用者和組,授予許可權,管理調查,稽核系統;Technician是建立目標感染、配置/重新配置代理行為的載體;Viewer瀏覽來自target的資訊,對其進行分類或者輸出。系統要求是Windows, MacOS X or Linux。
  • Target:RCS Agent是監視目標計算機或智慧手機上的軟體元件。一旦安裝成功,Agent將會透過裝置的網路將收集到的資料傳送到Front-End,這些資料有很多種類,比如螢幕截圖、電話呼叫等。

RCS Agent有兩種安裝方式:本地以及遠端。本地安裝主要是透過桌面系統的CD和USB儲存裝置來引導,或者是智慧手機的usb。遠端安裝則透過Melting tool、Exploit portal、Network Injector以及Remote Mobile Installation。而且每個RCS Agent都可以透過遠端命令解除安裝。

RCS Agents的系統要求:

Windows XP, Vista, 7 (32/64 bit)

MacOs X 10.6 Snow Leopard, 10.7 Lion

Windows Mobile 6, 6.5

iOS 3, 4 (iPhone/iPad)

Symbian S60 3rd and 5th edition

BlackBerry 4.5 or newer Anonymizers目的是隱藏Front End真實IP地址,由於Anonymizers之間的連線資料被完全加密而且沒有解密資料,所以可以被放置在任何非信任的網路和國家。

Collection Node 資訊蒐集功能是透過Collection Node來完成的客戶端上傳資訊的蒐集,並且允許客戶端從伺服器上下載新的配置和外掛,這個節點是透過提供ASP服務完成互動的。這個節點是整個控制系統唯一能從外部進行訪問的節點,因此對它的保護也非常關鍵,比如使用防火牆等措施進行一定的隔離,也需要使用到Anonymizer 鏈來對ASP真實的IP地址進行隱藏。

RSSM(Mobile Collection Node)作為Collection Node的一個補充,透過藍芽等手段完成Collection Node的功能,並且該節點也會和Collection Node完成同步的過程。

Log Repository Log Repository(RCSDB)是RCS系統的儲存部件,儲存資訊包括:

訪問過的網站
檔案操作
鍵盤記錄
文件和圖片資訊
VoIP電話監控(例如skype)
程式執行資訊
音訊監視
Web攝像頭監視
截圖
即時通訊(Skype、WindowsLiveMessenge、Wechat等)
剪貼簿的資訊
密碼資訊(email賬戶、WindowsLive賬戶等)
傳送和接收郵件
電話錄音
GPS位置
聯絡人資訊

從上面的分析可以看出來,這一次洩露的Hacking Team的各種程式中,比較完整的涵蓋了實施攻擊各個階段需要用到的一些控制和利用工具,針對其中的一些較為經典的程式碼,我們經過研究,給出這些工具包的功能,對使用範圍做了大致的描述。在這一套RCS裡,針對電話、pc、網路均進行了控制和資訊蒐集。

0x05 Hacking Team RCS基本功能


電話監控

針對電話監控,開發了針對不同平臺的agent程式,下面是一份列表

  • core-winphone:針對 Windows Phone 移動平臺的遠端控制木馬客戶端,用於實時收集目標系統狀態資訊,GPS,通訊錄,通話簡訊記錄,日曆日程安排等隱私資訊,還可以執行錄音,擷取手機螢幕等定時任務,具有遠端開啟手機攝像頭,開啟話筒等功能。
  • core-winmobile:針對已經過時的 Windows Mobile 移動平臺的遠端控制木馬客戶端。也是用於收集目標隱私資訊,且具有遠端控制收集錄音,截圖等功能。
  • core-symbian:針對 Symbian 移動平臺的遠控木馬代理,用於收集GPS位置,通訊記錄,短訊息等敏感記錄,並可遠端實時監聽話筒等功能。
  • core-android-audiocapture:安卓平臺下的語音監聽工具,透過注入AudioFlinger相關程式達到記錄麥克和聽筒音訊的功能。整個工具包含注入工具hijack、被注入的庫libt.so,注入後會記錄音訊資訊到dump檔案,駭客透過decoder.py指令碼可以將dump檔案還原成wav檔案。可以在安卓3.x到4.x下執行。
  • core-android:一個安卓下的RCS應用,應該是功能比較完善的工具,可以收集社交軟體的資訊,應用中還打包了許多利用工具
  • core-blackberry:是黑莓下的RCS軟體。

桌面系統監控

  • core-macos:其中包含一個用於Max OS X 平臺可執行檔案 macho 檔案的加殼加密混淆程式。同時還包含針對 Mac OS X 平臺的遠端控制木馬客戶端程式,用於收集目標系統網路連線,檔案系統等資訊,還可以竊取iMessage,Skype,剪貼簿等應用的敏感資訊,同時還可以鍵盤記錄,截圖,開啟攝像頭等。
  • core-win32:windows平臺木馬,主要功能包括:1.竊取主流瀏覽器如Chrome、FireFox和IE 的Cookies等資訊2.對使用者GMail、Outlook、Facebook、Twitter、MSN、Skype、ICQ、Yahoo、Google Talk、Mozilla Thunderbird等使用進行監控,收集相關資訊收集如:帳號資訊、相關聯絡人資訊等。監控的MSN版本從6.0到2011,Yahoo Messager版本從7.x到10.x,ICQ Messenger v7.x 3.對麥克風和攝像頭進行監控
  • core-win64:和core-win32對應,同樣是windows平臺木馬,但專案只是包含了64位系統特有的api hook框架.
  • soldier-win:windows平臺木馬,功能包括:獲取目標計算機基本資訊竊取瀏覽器chrome、firefox、IE密碼和cookies竊取facebook、gmail、twitter、Yahoo相關資訊螢幕監控、攝像頭監控等
  • scout-win:windows平臺木馬,功能相對簡單:screenshot、獲取目標計算機的基本資訊如:CPU,記憶體,使用者名稱等資訊。具有少量簡單的反檢測機制,如AntiVM、動態獲取API地址、黑名單等。子專案VMProtectDumper是針對某一版本VMProtect的脫殼機

輔助入侵功能

為了在target上安裝受控端軟體並獲取主機控制權,還有提供了一些必要的功能

  • driver-macos:包含一個 Mac OS X 平臺的核心級 Rootkit ,具有使用者程式隱藏,檔案系統隱藏等功能,還可以 hook 系統呼叫, mach_trap_table ,並實時追蹤使用者空間後門的執行狀態。
  • core-packer:用於Windows 平臺 PE 可執行檔案的加殼,加密混淆程式。
  • core-android-market:應該是安卓下的類似推送新聞的應用,包括一個名為org.benews.BeNews的安卓端的apk應用和本地執行的server,通訊資料為bson格式。apk應用具有自啟動功能,會啟動推送服務
  • core-android-native:卓相關利用工具的集合,包含了所有安卓4.1版本以前的利用工具,包括了put_user_exploit、towelroot中的利用工具、selinux的利用工具等
  • vector-ipa:ipa是 Injection Proxy Appliance 的縮寫, Injection Proxy Appliance是RCS系統一部分。

RCS Injection Proxy Appliance (RCS IPA)是用於攻擊的安全裝置,使用中間人攻擊技術和streamline injection機制,它可以在不同的網路情況下透明地進行操作,無論是在區域網還是內部交換機上。

IPA 可從監控的網路流量中檢測HTTP連線,進行中間人攻擊,主要有三種攻擊方式:注入EXE, 注入html和替換攻擊。當監控的HTTP連線命中預先設定的規則時,IPA 將執行注入攻擊。IPA 可以設定需要注入的使用者(如IP地址),資源(如可執行檔案)等規則。

  • driver-win32:core-win32對應的核心驅動模組,提供功能諸如:許可權提升、操作敏感登錄檔、恢復SSDT等。

  • driver-win64:相對32位版本的驅動,只是註釋掉了很多功能程式碼。

  • vector-silent:木馬輔助程式:Dropper和depacker

  • vector-applet:應該是用於掛馬的Java Applet。使用的有可能是未知漏洞,漏洞在twostage和weaponized資料夾下的readme中油描述,”透過XMLDecoder獲取一個Bridge例項的引用,從而導致一個類混淆”。

  • vector-edk:Intel UEFI(統一可擴充套件韌體介面)BIOS後門植入工具

  • vector-offline2:離線安裝RCS工具包,可在物理接觸時植入RCS後門。 可將離線安裝工具燒錄在CD-DVD/USB等可引導介質上,當可物理訪問到計算機系統時,可利用該介質啟動系統,將後門直接植入計算機中的作業系統中。目前支援對Linux/OS X/Windows系統的離線安裝。提供了友好的圖形介面,可自動識別計算機上存在的不同作業系統,並可識別每個作業系統上存在的使用者,然後可針對不同使用者分別植入不同型別的後門。

  • vector-offline:Windows版的離線安裝工具原始碼。

  • vector-recover:一個Windows版的下載器。下載器本身會修改圖示和版本資訊,將自己偽裝成東芝的藍芽助手工具:btassist.exe。下載器本身會迴圈訪問兩個地址的固定URL:GET /gh/3735928545/deadbee2判斷下載資料的前32位元組是否是”3j9WmmDgBqyU270FTid3719g64bP4s52″,如果是的話會從第33位元組開始儲存後續資料到臨時目錄下的msupd64.exe檔案中,然後執行該檔案。
  • vector-rmi:一個傳送WAP PUSH資訊的命令列工具,可以將連結以簡訊形式傳送到支援WAP PUSH功能的手機上。可自定義各種引數。

0x06 Hacking Team RCS入侵手段


Hacking Team RCS軟體入侵目標,主要透過如下三種方式:

感染移動介質

與很多木馬、病毒及流氓軟體的傳播方式一樣,該軟體首先還是採取這種低成本的方式進行,感染一些能夠接觸目標的移動媒體,比如CD-ROM、USB等,即便是OS 或者BIOS設定了密碼也一樣可以感染,從而獲取一些環境資料,比如電腦是否可以上網等,為後續的動作提供參考依據。

代理攻擊

採用軟體或硬體的系統,能夠在網路會話過程中修改和注入資料,在某些情況下,可以注入到系統並難以被檢測到。同時,也能夠感染Windows平臺上的可執行檔案,如果目標電腦從網站上下載並執行這些可執行檔案時,Agent將在後臺自動安裝,使用者不會知曉。

APT

如上兩種方式都無法奏效的時候,就會採用多種形式組合入侵,採用相關的漏洞、入侵工具及更多利用手段,詳細的分析及防護方案,在後續的報告中呈現。

0x07 Hacking Team RCS資訊上傳


用於蒐集客戶端蒐集資訊的上傳通道,是一個強加密和需要認證的通訊過程,同時整個上傳通道的設計是基於複雜網路環境的,考慮到防火牆、帶有域認證功能的代理等等,會透過模仿一個正常使用者瀏覽web的過程來進行這一些操作。

資訊蒐集功能是透過Collection Node來完成的客戶端上傳資訊的蒐集,並且允許客戶端從伺服器上下載新的配置和外掛,這個節點是透過提供ASP服務完成互動的。這個節點是整個控制系統唯一能從外部進行訪問的節點,因此對它的保護也非常關鍵,比如使用防火牆等措施進行一定的隔離,也需要使用到Anonymizer 鏈來對ASP真實的IP地址進行隱藏。

RSSM(Mobile Collection Node)作為Collection Node的一個補充,透過藍芽等手段完成Collection Node的功能,並且該節點也會和Collection Node完成同步的過程。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章