日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ dll继续使用然后强制删除dll文件_Windows 10系统安全风险,近300个系统执行文件容易遭受劫持攻击...

發(fā)布時間:2024/9/19 c/c++ 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ dll继续使用然后强制删除dll文件_Windows 10系统安全风险,近300个系统执行文件容易遭受劫持攻击... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一個簡單的VBScript足以讓用戶獲得管理權(quán)限并完全繞過Windows 10上的UAC。

在普華永道英國安全研究人員Wietze Beukema的最新報告中,我們了解到將近300個Windows 10可執(zhí)行文件容易受到DLL劫持的攻擊。

在普華永道英國安全研究人員Wietze Beukema的最新報告中,我們了解到將近300個Windows 10可執(zhí)行文件容易受到DLL劫持的攻擊。

“事實證明,System32文件夾中的近300個可執(zhí)行文件容易受到相對路徑DLL劫持的攻擊。您知道嗎,使用一個簡單的VBScript,其中一些EXE可以用于提升此類執(zhí)行,而完全繞開UAC?”Beukema解釋說。

此處提到的漏洞是相對路徑DLL劫持,這是當(dāng)攻擊者可能導(dǎo)致合法Windows可執(zhí)行文件加載攻擊者選擇的任意DLL時,很可能是出于惡意目的。

DLL劫持攻擊可以證明對熟練的攻擊者有用,因為它們可以授予諸如任意代碼執(zhí)行,特權(quán)提升和目標(biāo)系統(tǒng)持久性之類的功能。

Beukema博客文章中涵蓋了DLL劫持的各種技術(shù),包括DLL替換,DLL代理,DLL搜索順序劫持,Phantom DLL劫持,DLL重定向,WinSxS DLL替換以及相對路徑DLL劫持。

一個有效的例子

為了在實踐中演示相對路徑DLL劫持,Beukema著重研究了Windows 10(v1909)計算機上“ C: Windows System32”文件夾中存在的庫。

他將合法的winstat.exe進(jìn)程復(fù)制到了系統(tǒng)上的downloads文件夾中。然后,他運行了進(jìn)程監(jiān)視工具procmon,以更好地了解EXE在執(zhí)行過程中查找的DLL。

進(jìn)程監(jiān)視器顯示訪問的DLL

“這使我們能夠識別每個應(yīng)用程序查詢的所有DLL,這將是所有潛在的可劫持DLL候選對象。但是并不能自動得出所有這些也都已加載(并因此執(zhí)行)的結(jié)果。”研究人員解釋說。

“找出正確加載了哪些DLL的最可靠方法是編譯我們自己的DLL版本,并在成功加載后將其寫入唯一文件。如果我們隨后對所有目標(biāo)可執(zhí)行文件和DLL重復(fù)上述方法,則將導(dǎo)致文件收集,這些文件告訴我們已確認(rèn)哪些DLL容易受到DLL劫持。”

但是,對攻擊者構(gòu)成挑戰(zhàn)的是編譯一個可以由可執(zhí)行文件啟動的自定義版本的DLL,而不會出現(xiàn)任何問題。為了獲得對合法DLL結(jié)構(gòu)的可靠了解,Beukema建議使用DLL Export Viewer之類的工具進(jìn)行分析。

該工具通過枚舉所有外部函數(shù)名稱來深入了解我們試圖重新編譯的DLL結(jié)構(gòu),這些名稱隨后將在DLL Hijacking漏洞中重復(fù)使用。

查找易受攻擊的可執(zhí)行文件的方法

研究人員提供了一個完整的庫列表,這些庫是劫持攻擊的理想選擇。

他補充說:“這些不僅僅是理論上的目標(biāo),這些已經(jīng)過測試并證實是有效的。該列表包括287個可執(zhí)行文件和263個唯一的DLL。”

通過github.com/wietze/windows-dll-hijacking/提供了包含這些庫的完整列表的CSV。

一些限制

研究人員針對此示例攻擊所解釋的一些警告包括:

1)僅運行不需要任何參數(shù)的可執(zhí)行文件

2)避免使用具有高級GUI和錯誤報告功能的應(yīng)用程序

3)避免使用C ++編寫的DLL。

研究人員已經(jīng)在Windows 10 64位(操作系統(tǒng)內(nèi)部版本18362.476)上進(jìn)行了測試,但表示:“某些[DLL]在[32位Windows]上將無法使用。您可以使用32位GCC編譯C文件,然后將可以正常使用。”

請注意,如Twitter線程中突出顯示的那樣,此處說明的攻擊可能不適用于所有Windows版本。

繞過UAC

Windows用戶帳戶控制(UAC)是Windows Vista及更高版本中添加的一項安全功能,該功能詢問用戶是否打算在執(zhí)行高風(fēng)險應(yīng)用程序之前將其運行。

Windows UAC提示

從Windows 7開始,由于一再要求用戶授權(quán)合法的過程(可能很快變得煩人),Microsoft在UAC框架內(nèi)引入了內(nèi)置的“例外”。有效地,這使受信任的系統(tǒng)DLL可以“自動提升”特權(quán),而不必使用UAC提示來打擾用戶。

“考慮到這一點,您可以嘗試通過使用標(biāo)記為自動提升的可執(zhí)行文件來嘗試以提升的特權(quán)運行任意代碼,該可執(zhí)行文件也容易受到DLL劫持的影響。如上一節(jié)所述,大約有35種這樣的可執(zhí)行文件。” Beukema解釋說。

如果成功利用了已執(zhí)行的惡意DLL,則可以將其用于創(chuàng)建提升權(quán)限的命令提示符,從而以管理特權(quán)對計算機進(jìn)行完全訪問。

DLL劫持啟動提升的命令提示符

不過,這里有一個障礙。在期望任何DLL的“自動提升”特權(quán)之前,操作系統(tǒng)希望這些DLL存在于受信任的目錄中,該目錄不是用戶可寫的。

“要解決的問題是受信任目錄的問題:自動提升的可執(zhí)行文件和自定義DLL都必須位于受信任目錄中,但是這些都不是用戶可寫的。”

此處提供了一些方便的模仿技術(shù),例如創(chuàng)建一個模擬的“ C: windows system32”目錄(在Windows之后緊跟一個空格)。這個名稱異常的文件夾可能會誘使可執(zhí)行文件將攻擊者創(chuàng)建的目錄視為“受信任位置”。

是否能夠創(chuàng)建這樣的目錄應(yīng)被視為安全漏洞尚有爭議,因為它為攻擊者提供了利用DLL劫持漏洞的途徑。

“這是否是適當(dāng)?shù)陌踩┒瓷写?-微軟認(rèn)為不是,但至少是一個缺陷,因為大多數(shù)(非企業(yè))Windows計算機默認(rèn)使用的是“管理員帳戶”。無論哪種方式,這都為我們提供了一種出色的手段,通過它可以使DLL劫持更加強大。”研究人員說。

但是為什么使用 VBScript?

作者建議使用VBScript的原因之一是因為創(chuàng)建名稱包含尾隨空格的Windows目錄不是通過“傳統(tǒng)方式”可以實現(xiàn)的。

“您可以像原始研究人員一樣,編譯一些C語言來完成此操作,但是事實證明,VBScript實際上也可以為我們做到這一點。以下概念驗證表明,僅需幾行代碼,您就可以使它起作用:”

用VBScript編寫的PoC,可創(chuàng)建模擬“可信目錄”

當(dāng)受到用戶質(zhì)疑時,Beukema解釋了為什么他在利用容易受到DLL劫持的可執(zhí)行文件時選擇了VBScript。

“我知道……這只是因為PowerShell不允許您這樣做,而VBScript卻可以。而且由于它是VBScript,因此您無需帶上自己的編譯二進(jìn)制文件即可使用此技巧,這意味著,除了自定義DLL之外,您還可以使用Living of the Land +腳本來完成所有工作。”

檢測和預(yù)防技術(shù)

Beukema提出了一些預(yù)防方法,可以用來阻止此類攻擊,例如,如果您的計算機上存在模擬Windows 文件夾中的活動,則可以對其進(jìn)行查找。同樣,如果最終用戶足夠了解要執(zhí)行的操作,則將UAC設(shè)置調(diào)整為“始終通知”可以幫助防止此類攻擊。

另一個策略是監(jiān)視DLL創(chuàng)建和從意外文件路徑加載的實例:

“您可以從意外路徑中尋找前面提到的任何DLL的創(chuàng)建或加載,特別是在諸如%appdata%之類的臨時位置。畢竟,可以更改加載DLL的(合法)應(yīng)用程序的名稱,但DLL的文件名始終是固定的。”

Beukema建議,在構(gòu)建應(yīng)用程序時,開發(fā)人員應(yīng)強制使用絕對而非相對路徑來加載DLL,以及其他幾種技術(shù)。這些都不是足夠簡單的。

但是,如果適當(dāng)?shù)亟Y(jié)合使用,預(yù)防措施(如研究人員所解釋的那樣)可以長期阻止DLL劫持攻擊。

總結(jié)

以上是生活随笔為你收集整理的c++ dll继续使用然后强制删除dll文件_Windows 10系统安全风险,近300个系统执行文件容易遭受劫持攻击...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。