<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    如何使用aDLL自動識別DLL劫持漏洞

    一顆小胡椒2022-01-07 21:17:37

    關于aDLL

    aDLL是一款功能強大的代碼分析工具,可以幫助廣大研究人員以自動化的方式識別并發現DLL劫持漏洞。該工具可以分析加載至內存中的源碼鏡像,并在加載過程中搜索DLL,并且利用了微軟Detours代碼庫來攔截針對LoadLibrary/LoadLibraryEx函數的調用,然后分析在代碼運行時過程中加載的DLL文件。

    該工具的主要目標就是幫助廣大研究人員搜索可執行程序所使用的DLL列表,并從中識別出潛在的DLL劫持漏洞。

    DLL劫持攻擊

    DLL劫持指的是,病毒通過一些手段來劫持或者替換正常的DLL,欺騙正常程序加載預先準備好的惡意DLL。

    首先我們要了解Windows為什么可以DLL劫持呢?主要是因為Windows的資源共享機制。為了盡可能多地安排資源共享,微軟建議多個應用程序共享的任何模塊應該放在Windows的系統目錄中,如kernel32.dll,這樣能夠方便找到。但是隨著時間的推移,安裝程序會用舊文件或者未向后兼容的新文件來替換系統目錄下的文件,這樣會使一些其他的應用程序無法正確執行,因此,微軟改變了策略,建議應用程序將所有文件放到自己的目錄中去,而不要去碰系統目錄下的任何東西。

    為了提供這樣的功能,在Window2000開始,微軟加了一個特性,強制操作系統的加載程序首先從應用程序目錄中加載模塊,只有當加載程序無法在應用程序目錄中找到文件,才搜索其他目錄。利用系統的這個特性,就可以使應用程序強制加載我們指定的DLL做一些特殊的工作。

    快速開始

    首先,我們需要使用下列命令將該項目源碼克隆至本地:

    git clone https://github.com/ideaslocas/aDLL.git
    

    接下來,我們就可以在項目的Binaries文件夾中找到已編譯好的aDLL可執行文件了。我們建議廣大用戶使用版本架構(32位或64位)對應的版本來分析目標可執行文件。

    為了保證該工具可以正常運行,我們必須將“hook32”、“hook64”、“informer*32”和“informer64”放置于“aDLL.exe”的相同目錄下。

    工具要求

    aDLL是在Windows 10操作系統平臺上開發和測試的,如果你所使用的操作系統版本比較老,或者沒有安裝Visual Studio的話,那么工具在運行時可能會拋出例如“VCRUNTIME140.dll not found”之類的錯誤,此時我們就需要安裝Visual C++ Redistributable更新了。

    項目編譯

    如需對項目代碼進行修改或重新編譯,建議使用Visual Studio 2015或更高版本。

    工具使用

    該工具提供了一個-h選項,可以幫助我們獲取aDLL全部可用的參數選項:

    .\aDLL -h
    

    針對aDLL的使用,我們需要提供至少一個運行參數,即需要分析的可執行程序路徑:

    .\aDLL -e "C:\System32otepad.exe"
    

    工具選項

    -h:顯示工具的幫助信息,并簡要說明每個選項的功能。
    -e:指定aDLL要分析的可執行文件的路徑。
    -t:指定文本文件的路徑,其中包含可執行路徑列表。
    -o:指定掃描報告的存儲目錄路徑,每個掃描的可執行文件都將在其中存儲報告。
    -m:搜索可執行文件的清單列表并將其顯示在屏幕上。aDLL將會搜索嵌入在二進制文件中的清單列表,如果清單列表作為外部文件存在,aDLL將無法找到該清單列表。
    -w:定義在運行時搜索加載的DLL時可執行進程保持打開狀態的秒數。默認時間為20秒。
    -aDLL:如果搜索到了待測DLL,則會自動檢測該DLL是否會通過偽裝成合法DLL來執行(惡意DLL偽裝)。
    -d:與-a選項結合使用,此選項允許我們選擇惡意DLL的路徑。
    -r:可執行文件導入的每個DLL都可以作為依賴項導入其他DLL。將對aDLL找到的所有未重定向(ApiseSchema或WinSxS)且不屬于系統已知DLL列表的DLL進行“n”次遞歸搜索。

    項目地址

    https://github.com/ideaslocas/aDLL

    參考資料

    https://www.microsoft.com/es-ES/download/details.aspx?id=49984

    https://github.com/ctxis/DLLHSC

    版權申明:內容來源網絡,版權歸原創者所有。除非無法確認,都會標明作者及出處,如有侵權,煩請告知,我們會立即刪除并致歉!

    dll文件dll劫持
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    目前還沒有任何安全廠商公開披露該組織的攻擊活動,也沒有安全廠商公開披露利用該技術的真實APT攻擊事件。由于此次攻擊活動屬于360全球首次捕獲披露,我們根據該組織擅長攻擊技術的諧音,將其命名為“旺刺”組織,并為其分配了新編號APT-C-47。
    DLL(Dynamic Link Library)文件為動態鏈接庫文件,又稱“應用程序拓展”,是軟件文件類型。在Windows中,許多應用程序并不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈接庫,即DLL文件
    DLL劫持思路和研究
    2021-10-25 10:13:22
    基礎知識DLL文件為動態鏈接庫文件,又稱“應用程序拓展”,是軟件文件類型。在Windows中,許多應用程序并不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈接庫,即DLL文件。在這種利用場景下,偽造的DLL文件不需要存在任何導出函數即可被成功加載,即使加載后進程內部出錯,也是在DLL被成功加載之后的事情。
    C:\Users\dyy\AppData\Local\Programs\Python\Python38\Scripts\oci.dll使用 cs 生成惡意 dll,重命名為?后放置到該目錄下手動挖掘Process Monitor 查找可用 dll,設置如下圖所示配置完可以保存導出配置,下次直接導入使用使用?進行測試,運行程序 filter 加載所使用的 dll 文件這里可以看出來,當?文件編寫一個基礎的彈窗 dllJAVA1. // dllmain.cpp : 定義 DLL 應用程序的入口點。CS 上線cs 生成 c 的 payload生成的?填入到下面相應的位置上CPP1
    Kaspersky AVP.exe DLL 劫持
    2022-07-21 22:53:31
    Kaspersky AVP.exe 中的 DLL 注入允許本地管理員在不知道 Kaspersky 密碼的情況
    一個應用程序運行時可能需要依賴于多個 dll 的函數才能完成功能,如果控制其中任一dll,那么便可以控制該應用程序的執行流程。
    DLL劫持的防御策略
    近日,安識科技A-Team團隊監測到一則 Node.js 組件存在 DLL 劫持漏洞的信息,漏洞編號:CVE-2022-32223,漏洞威脅等級:高危。對此,安識科技建議廣大用戶及時升級到安全版本,并做好資產自查以及預防工作,以免遭受黑客攻擊。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。
    aDLL是一款功能強大的代碼分析工具,可以幫助廣大研究人員以自動化的方式識別并發現DLL劫持漏洞。
    DLL 代理加載 shellcode
    2020-10-27 17:59:01
    DLL側面加載或DLL代理加載允許攻擊者濫用合法的和經過簽名的可執行文件,以在受感染的系統上執行代碼。使用上面的示例流程,將發生以下情況。簽名,目標應該是經過數字簽名的“合法”可執行文件。在運行時不安全地加載少量DLL ,可執行流必須是可劫持的,但我們不希望將超過1-3個DLL放到目標上以使我們的攻擊才能順利進行。名稱應與原始DLL名稱匹配,命名“ libnettle-7”,然后單擊“創建”。我們使用SharpDllProxy生成源代碼時定義了文件名“ ”。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类