成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

打開文件夾就運行?COM劫持利用新姿勢

安全 網站安全
打開文件夾就能運行指定的程序?這不是天方夜譚,而是在現實世界中確實存在的。利用本文探討的COM劫持技術,可以輕松實現出打開文件夾就運行指定代碼的功能。

打開文件夾就能運行指定的程序?這不是天方夜譚,而是在現實世界中確實存在的。利用本文探討的COM劫持技術,可以輕松實現出打開文件夾就運行指定代碼的功能。對于COM劫持技術,國內很少有資料進行原理闡述,本文結合自身分析經驗對COM劫持技術進行歸納總結。同時,希望各大安全廠商針對此類利用做好防護,保護用戶信息安全。

前言

所謂“罵人先罵娘,擒賊先擒王”,首先給出讀者最最關心的劫持文件夾的利用方法的效果展示:

為了理解本文內容,我們首先要了解COM的一些基本的概念:

接口:一組函數的總稱,這些函數也被稱為”方法”,通常情況下,接口的名稱都是以“I”開關,例如:”IShellFolder”.接口可以繼承。

Component object class(coclass):也就是組件,組件包含在一個DLL或者exe文件中,它包含了一個或多個接口的實現代碼。組件實現了它包含的所有接口。

COM object:是組件的一個實例。

COM server:一個dll或者exe文件,包含了一個或者多個組件。

COM library:是操作系統的一部分,負責響應用戶程序。

GUID:唯一的、128位的標識對象的標識. 全局唯一標識符,是唯一的一個ID,類似于物理網址那樣。

CLSID:class id,唯一的標識組件。

IID:interface id,用來標識接口。

此外,對于windows操作系統,存在著虛擬文件夾,控制面板,我的電腦等都是系統中的虛擬文件夾。這種虛擬文件夾在注冊表中都會有一個CLSID與之對應,例如,我的電腦對應的CLSID是{20D04FE0-3AEA-1069-A2D8-08002B30309D},控制面板的CLSID是{21EC2020-3AEA-1069-A2DD-08002B30309D}。

那么怎樣可以看到這些虛擬文件夾呢?以“我的電腦”虛擬文件夾為例,在開始–運行中輸入”:: {20D04FE0-3AEA-1069-A2D8-08002B30309D”就可以打開我的電腦。但需要注意的是,在WIN7下,輸入::{21EC2020-3AEA-1069-A2DD-08002B30309D}可以打開控制面板,但在xp系統下,打開控制面板需要輸入的命令為:”::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}”。

利用方法

作為演示,我們執行代碼的功能為,彈出一個類似與下圖的對話框,其中顯示出了調用這個DLL的進程路徑及PID信息。

把大象裝進冰箱里需要三步,我們的利用也分為三步:

1.精選CLSID,盡量選擇系統應用范圍廣的CLSID,這樣的模塊可以保證系統在進行很多功能時都會加載dll。我們選擇的CLSID為:{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7},其對應著CAccPropServicesClass類。

修改注冊表,將CLSID對應的DLL文件修改成實現了某些待定功能的文件(這個文件是由我們精心構造的,不然無法利用成功)。

可通過將下列數據導入到注冊表實現

  1. Windows RegistryEditor Version 5.00  
  2. [HKEY_CLASSES_ROOT\CLSID\{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}] 
  3. [HKEY_CLASSES_ROOT\CLSID\{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}\InProcServer32] 
  4. @="freebuf.dll" 
  5. "ThreadingModel"="Apartment" 

 

2. 新建文件夾,以CLSID做為后綴名,同時將我們的利用dll拷貝到系統目錄下:

這里的文件名可以充分發揮想象力(騙術),利用社會工程學,起個誘惑的文件夾名,比如,目標喜歡日本姑娘,文件夾就叫做” 小澤にほんごかなニホンゴ(カナ).{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}”

3. 打開文件夾,成功利用

利用的步驟很簡單,其中最為關鍵是我們實現代碼的dll以及CLSID的選擇,這不是一個普通的dll,而是dll中的”戰斗dll”,這是一個實現了COM接口的dll,并且在dll的導出函數的返回值有特殊要求。具體可以參見文末附件中的代碼。

背后的故事

通過上面的圖,可以看出,我們的DLL實際上是由verclsid.exe加載的。而verclsid.exe是通過shell32.dll中的函數調用起來的。在shell32.dll中SHExtCoCreateInstance函數成功調用后,verclsid.exe才會被加載。

而SHExtCoCreateInstance只是對_SHExtCoCreateInstance2的封裝

而通過ida看到_SHExtCoCreateInstance2調用了_ShouldLoadShellExt,所有_ShouldLoadShellExt成功返回(返回非0值),才能加載verclsid.exe.

_ShouldLoadShellExt在對注冊表Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked和Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved進行判斷后,調用了_QueryClassInterface,而要求_QueryClassInterface返回一個非0值,就只能是下圖中的 v17=ExitCode==0代碼的地方。

綜全上面的過程,要想成功利用,只要使CreateProcessW函數調用verclsid.exe結束時的exitcode等于0。

對verclsid.exe分析

調用verclsid.exe傳遞的參數有:

/S:隨后調用OLE32!CoInitializeEx函數時的參數;

/C : CLSID;

/I :Interface id;

/X:調用OLE32!CoCreateInstance函數時所需要的參數值;

隨后,通過下面的函數調用com組件

調用OLE32!CoCreateInstance

調用ppv->QueryInterface

隨后會調用

ppv->Release()

CoUninitialize()

然后,函數就正常返回,當函數正常返回時,verclsid.exe的exitcode等于0。這就保證了我們的dll能夠被加載成功。

所以,我們只需要寫一個COM服務dll,使verclsid.exe調用這個服務dll的接口時,返回S_OK就OK了。具體關于COM服務dll的編寫,請參考附件鏈接。

附件下載:鏈接:http://pan.baidu.com/s/1ckPWDo 密碼:pniu

總結

 這種COM劫持技術最大的優點在于,不需要進行動態的dll注入等操作,可以繞開主動防御,此外,這種利用的加載進行為操作系統的verclsid.exe,宿主進程是天生的白進程,也可以繞開白名單機制。而且劫持dll的加載是由系統底層機制決定的。另外,這種技術很可能被用于網絡黑產,這也要求安全廠商提高對這種劫持行為的識別與檢測。

責任編輯:趙寧寧 來源: 黑吧安全網
相關推薦

2016-09-07 09:20:54

2024-12-06 15:11:34

Python文件夾目錄

2024-10-28 07:10:00

scroll標記前端網格布局

2025-02-17 11:41:14

2024-04-30 11:49:16

瀏覽器前端開發折疊屏應用

2011-08-31 15:21:07

windows7文件夾

2009-10-27 08:56:22

VB.NET文件夾

2013-08-08 09:56:51

微軟Outlook

2024-01-18 15:17:56

谷歌云計算三星

2025-04-28 04:22:00

Spring動態SQL

2021-05-26 08:21:43

@Autowired項目@Resouce

2025-02-19 12:00:00

SpringBootDeepSeekAI

2019-02-27 09:08:20

Java 8StringJoineIDEA

2024-06-25 12:10:26

2018-02-25 11:24:02

APPiPhone手機

2025-02-07 10:52:00

2021-03-29 12:01:51

流量劫持瀏覽器漏洞

2013-07-27 20:08:24

2010-12-31 13:35:25

文件夾重定向

2018-03-06 17:24:57

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人种亚洲 | www国产亚洲精品久久网站 | 久久成人一区 | 一级毛片免费看 | 亚洲一区 中文字幕 | 亚洲不卡在线观看 | 亚洲综合精品 | 日韩精品久久久久久 | 精品视频在线免费观看 | 欧美理伦片在线播放 | 亚洲福利视频一区二区 | 伊人性伊人情综合网 | 久久久久久久久久久久久九 | 久久国产日韩 | 久在线 | 亚洲啊v在线 | 成人av高清在线观看 | 久久久91精品国产一区二区三区 | 日本黄色免费大片 | 国产视频一二三区 | 蜜桃视频在线观看免费视频网站www | 九九热在线免费视频 | 一区二区视频在线观看 | 二区三区视频 | 在线看免费 | 99精品99| 国产成人免费 | 午夜视频在线观看网站 | 毛片com| 国产福利91精品一区二区三区 | 日日摸天天添天天添破 | 伊人伊成久久人综合网站 | 在线日韩 | 91亚洲国产 | 国产一区二区三区四区三区四 | 精品免费 | 视频在线观看一区二区 | 国产有码| 欧美在线小视频 | 亚洲免费网站 | 精产国产伦理一二三区 |