COM Object hijacking後門的實現思路——劫持explorer.exe
0x00 前言
在之前的文章介紹了兩種利用COM對象劫持實現的後門,利用思路有一些區別:
第一種,通過CLR劫持.Net程序
正常CLR的用法:
設置註冊表鍵值HKEY_CURRENT_USERSoftwareClassesCLSID
cmd下輸入:
SET COR_ENABLE_PROFILING=1SET COR_PROFILER={11111111-1111-1111-1111-111111111111}
CLR能夠劫持當前cmd下所有.Net程序的啟動
後門利用思路:
我嘗試通過WMI修改環境變數,使CLR作用於全局,就能夠劫持所有.Net程序的啟動
經實際測試,該方法有效,系統啟動後默認會調用.Net程序,載入CLR,後門觸發
第二種,劫持CAccPropServicesClass和MMDeviceEnumerator
該方法曾被木馬COMpfun使用,所以思路也是從COMpfun學到的
設置註冊表鍵值HKEY_CURRENT_USERSoftwareClassesCLSID能夠指定實例CAccPropServicesClass和MMDeviceEnumerator對應載入的dll
而IE瀏覽器進程iexplore.exe啟動時會調用以上兩個實例
所以通過註冊表設置CAccPropServicesClass和MMDeviceEnumerator對應載入的dll,能夠劫持IE瀏覽器的啟動,實現後門觸發
當然,該方法只能算得上是一個被動後門,只有用戶啟動IE瀏覽器,才能觸發後門
然而,在眾多COM對象中,可供利用的劫持對象不唯一,甚至存在能夠劫持桌面進程explorer.exe的方法,相當於一個主動後門
例如:劫持MruPidlList
註:
該方法曾被多個已知的惡意軟體使用
本著通過研究所有已公開的COM對象後門利用方法,進而總結應對COM劫持防禦方法的原則,本文將要介紹另外兩種COM劫持的後門利用方法
之前的文章:
《Use CLR to maintain persistence》
《Use COM Object hijacking to maintain persistence——Hijack CAccPropServicesClass and MMDeviceEnumerator》
0x01 簡介
本文將要介紹以下內容
· 通過劫持MruPidlList實現的後門思路
· 惡意利用實例
· 總結應對COM劫持的防禦方法
0x02 通過劫持MruPidlList實現的後門思路
註冊表位置:HKCUSoftwareClassesCLSID
創建項{42aedc87-2188-41fd-b9a3-0c966feabec1}
創建子項InprocServer32
Default的鍵值為測試dll的絕對路徑:C: estcalc.dll
創建鍵值: ThreadingModel REG_SZ Apartment
如下圖
該註冊表位置對應COM對象MruPidlList,作用於shell32.dll
而shell32.dll是Windows的32位外殼動態鏈接庫文件,用於打開網頁和文件,建立文件時的默認文件名的設置等大量功能
直觀的理解,explorer.exe會調用shell32.dll,載入COM對象MruPidlList
系統在啟動時默認啟動進程explorer.exe,如果劫持了COM對象MruPidlList,就能劫持進程explorer.exe,實現後門隨系統開機啟動,相當於是主動後門
當然,為便於測試,不需要重啟系統,結束進程explorer.exe再新建進程explorer.exe就好
新建進程後,載入calc.dll,彈出計算器,如下圖
測試64位系統,註冊表位置不變,但是需要換用64位dll,重啟時後門觸發,啟動calc.exe,如下圖
Win8系統同樣適用,如下圖
0x03 惡意利用實例
1、COMRAT
懷疑與Uroburos和Agent.BTZ同源
Uroburos:至今發現的最先進rootkit惡意程序之一
Agent.BTZ:一款在2008年用於滲透五角大樓的惡意軟體
詳細資料:
https://www.nsec.io/wp-content/uploads/2015/05/uroburos-actors-tools-1.1.pdf
2、ZeroAccess rootkit
ZeroAccess rootkit:感染過大約900多萬台計算機
詳細資料:
https://nakedsecurity.sophos.com/2012/06/06/zeroaccess-rootkit-usermode/
https://www.sophos.com/en-us/threat-center/technical-papers/zeroaccess-botnet.aspx
註:
ZeroAccess rootkit還使用過另一個COM劫持的位置
註冊表位置:HKCUSoftwareClassesclsid{fbeb8a05-beee-4442-804e-409d6c4515e9}
利用方法同上,也能夠劫持explorer.exe
3、BBSRAT
詳細資料:
https://researchcenter.paloaltonetworks.com/2015/12/bbsrat-attacks-targeting-russian-organizations-linked-to-roaming-tiger/
http://2014.zeronights.org/assets/files/slides/roaming_tiger_zeronights_2014.pdf
0x04 防禦
由於COM對象是操作系統的正常功能,禁用COM對象不太現實
以下鍵值指向的dll路徑應該特別注意:
· HKCUSoftwareClassesCLSID{42aedc87-2188-41fd-b9a3-0c966feabec1}
· HKCUSoftwareClassesCLSID{fbeb8a05-beee-4442-804e-409d6c4515e9}
· HKCUSoftwareClassesCLSID{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}
· HKCUSoftwareClassesWow6432NodeCLSID{BCDE0395-E52F-467C-8E3D-C4579291692E}
防禦方法:
1、使用應用程序白名單規則,禁止載入第三方dll
2、對註冊表HKCUSoftwareClassesCLSID的寫入和修改操作進行記錄並調查
更多關於COM對象劫持的資料可參考:
https://attack.mitre.org/wiki/Technique/T1122
0x05 小結
本文介紹了兩種利用COM劫持實現的後門方法,結合之前文章的兩種利用方法,綜合分析COM劫持的防禦方法。
特別值得注意的是,COM劫持後門能夠繞過Autoruns對啟動項的檢測,實際防禦時應該注意該細節。本文為 3gstudent 原創稿件, 授權嘶吼獨家發布,如若轉載,請註明原文地址: http://www.4hou.com/technology/7402.html 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※數學中的戰爭,戰爭中的數學——漫談密碼(2)
※如何通過偽造Tor隱藏服務進行釣魚?
※蘋果升級日!iOS、macOS雙雙發布更新,修復了數十個漏洞
※安全工作「輕與重」的三層境界
※自動化檢測CSRF(第一章)
TAG:信息安全 |