<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>

    DLL 代理加載 shellcode

    Andrew2020-10-27 17:59:01

    DLL側面加載或DLL代理加載允許攻擊者濫用合法的和經過簽名的可執行文件,以在受感染的系統上執行代碼。自2017年以來,這種技術一直很流行。

    代理加載與DLL劫持非常相似,但是,它不會破壞原始程序的執行流程或功能。除了將惡意活動隱藏在合法應用程序之后,它還可以用作持久性方法。

    總覽

    為了了解DLL代理對攻擊者的加載效果如何,我們首先需要了解當今的典型應用程序如何為第三方庫加載外部函數。

    使用上面的示例流程,將發生以下情況。

    1. 在啟動時,應用程序(A )需要使用名為“ GetFunkyData()”(C)的第三方函數來獲取數據,GetFunkyData()存在于名為“ DataFunctions.dll”(B)的動態鏈接庫中,該庫位于工作環境中。應用程序的目錄。

    2. 應用程序(A)嘗試按其名稱加載庫“ DataFunctions.dll”,以嘗試執行“ GetFunkyData()”(C)。由于該函數存在于庫(B)中,因此將執行該函數,并且應用程序將正常運行。

    執行DLL代理加載攻擊時,流程略有不同。

    1. 在啟動時,應用程序(A)需要使用名為“ GetFunkyData()”(D)的第三方函數來獲取數據,GetFunkyData()存在于動態鏈接庫中,該動態鏈接庫位于工作目錄中,名為“ DataFunctions_Original.dll”(B)。應用程序的

    2. 應用程序(A )通過其名稱加載庫“ DataFunctions.dll”,以嘗試執行“ GetFunkyData()”(C)。該DLL實際上是攻擊者專門設計的“代理”庫,代理DLL使用外部導出/鏈接器引用將功能調用重定向到原始DLL“ DataFunctions_Original.dll”(B)。該功能由應用程序找到并執行

    3. 此時,攻擊者已經劫持了執行流程(C),并且可以代表運行中的進程(E)執行代碼,而無需用戶或應用程序的了解。

    查找目標可執行文件

    在尋找目標可執行文件時,應牢記以下幾點:

    1. 大小,我們通常正在尋找小于10 MB(通常小于1 MB)的可執行文件。

    2. 簽名,目標應該是經過數字簽名的“合法”可執行文件。這越多越好。

    3. 在運行時不安全地加載少量DLL ,可執行流必須是可劫持的,但我們不希望將超過1-3個DLL放到目標上以使我們的攻擊才能順利進行。

    4. 根據我們的戰術我們要如何繞過Defense

    這里分享一個我的方法:

    我的典型方法是前往Ninite這樣的網站,從常見的軟件供應商那里下載一些應用程序,然后開始在安裝目錄中四處瀏覽。對于此示例,讓我們嘗試FileZilla。默認情況下,FileZilla的x64位安裝最終位于“ C:\ Program Files \ FileZilla FTP客戶端”中。該文件夾包含幾個可執行文件以及DLL。

    我們接下來要找出哪個DLL是軟件運行的必要DLL(也就是說如果沒有哪個DLL,軟件就運行不了),簡便的方法是將一個可執行文件簡單地復制到一個單獨的文件夾中并運行它。

    真好!看來fzsftp.exe需要“ libnettle-7.dll”來執行,那么我們們從之前的“ C:\ Program Files \ FileZilla FTP Client”文件夾中復制libnettle-7.dll文件,然后重試!

    可以運行,沒有任何沒有錯誤。我們可以使用Process Hacker之類的工具來檢查應用程序加載了哪些模塊,并進一步確認該DLL確實已加載。

    SharpDllProxy –制作代理有效負載

    下一步是制作我們的代理DLL,以將合法函數調用重定向到原始DLL,以及在后臺靜默加載我們的shellcode。為了簡化此步驟,我創建了一個名為“ SharpDllProxy”的簡單Dotnet核心應用程序。SharpDllProxy(https://github.com/Flangvik/SharpDllProxy)基于導出的函數生成代理DLL源代碼,該函數從原始DLL中提取。生成的源代碼只需將文件讀入內存,然后將其調用到新線程中即可。假設我們提供的文件是我們要部署的原始shellcode。

    用法很不言自明(你懂的 繞過一下殺毒什么的)

    我們把 libnettle-7.dll使用SharpDllProxy輸出一個“ / output_libnettle-7”的新文件夾。

    SharpDllProxy在原始的“ libnettle-7.dll” DLL中找到了總共441個函數調用,并生成了完整的代理DLL源代碼,該函數將函數調用重定向到tmp8AA5.dll(這是原始“ libnettle-7.dll的副本” ”(剛剛重命名)。現在,我們只需要編譯保存到“ D:\ SharpDllProxy \ output_libnettle-7 \ libnettle-7_pragma.c”中的源代碼。

    打開Visual Studio,單擊“創建新項目”。

    選擇C ++作為您的語言,搜索“庫”,然后單擊“動態鏈接庫(DLL)”模板。

    名稱應與原始DLL名稱匹配,命名“ libnettle-7”,然后單擊“創建”。默認情況下,我們將進入“ dllmain.cpp”,那么只需將“ D:\ SharpDllProxy \ output_libnettle-7 \ libnettle-7_pragma.c”的全部內容復制并粘貼到此文件中就行。

    分析一下代碼,我們看到一旦觸發了DLL_PROCESS_ATTACH事件(L485-489),生成的源代碼就會創建一個新線程。然后,“ DoMagic()”繼續從本地文件“ shellcode.bin”(L455-465)中讀取二進制數據到緩沖區中。我們使用SharpDllProxy生成源代碼時定義了文件名“ shellcode.bin”。然后將該緩沖區復制到內存中并調用。

    接下來我們要編譯此文件,請選擇對應的結構(x64 / x86),選擇“release”,然后選擇“Build” -> “Build Solution”.

    根據我們Visual Studio保存的位置,這里我們保存在“ C:\ Users \ source \ repos \ libnettle-7 \ x64 \ Release”。

    將DLL復制到由SharpDLLProxy創建的先前的輸出文件夾中,添加目標可執行文件以及任何x64 shellcode作為名為“ shellcode.bin”的原始文件。我們現在也可以刪除“ libnettle-7_pragma.c”文件。

    我們可以從MSF或CS等等生成一些簡單的shellcode。例如:

    msfvenom -a x64 –platform windows -p windows/x64/messagebox TEXT=”Proxy Loading worked!” -f raw > shellcode.bin

    把生成的shellcode命名為shellcode.bin,然后放進fzsftp.exe文件夾中。

    接下來,我們只要運行fzsftp.exe,fzsftp.exe調用libnettle-7.dll,就會從磁盤讀取我們的Shellcode.bin,然后執行它,并且不會破壞應用程序的功能。就這樣悄悄的執行了。

    原創:黑白天
    原文鏈接:https://mp.weixin.qq.com/s/XFppenDlXcEp-FD...

    軟件源代碼
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    SLocker源代碼由一名用戶發布,該用戶使用“fs0c1ety”作為在線綽號,并敦促所有GitHub用戶貢獻代碼并提交錯誤報告。2016年,安全研究人員在野外發現了400多個SLocker勒索軟件的新變種,并以感染數千臺安卓設備而聞名。一旦設備上有加密文件,安卓勒索軟件就會劫持手機,完全阻止用戶訪問,并試圖威脅受害者支付贖金解鎖手機。
    Babuk勒索軟件團伙像他們一開始說的那樣公布了警方線人信息。華盛頓特區警察局邀請了聯邦調查局FBI前來協助調查此次事件,在警方的壓力下,Babuk勒索軟件團伙最終解散。
    據BleepingComputer消息,一名黑客在某網絡犯罪論壇上發帖,以500美元的超低價格出售 Zeppelin 勒索軟件構建器的源代碼和破解版本,該軟件曾多次針對美國關鍵基礎設施企業和組織發起攻擊。
    昨日,勒索軟件Conti遭遇毀滅性打擊,烏克蘭安全研究人員公布了其軟件源代碼和內部通訊內容。
    Babuk Locker內部也稱為Babyk,是一種勒索軟件操作,于2021年初啟動, 當時它開始針對企業在雙重勒索攻擊中竊取和加密他們的數據。在襲擊華盛頓特區的大都會警察局 (MPD) 并感受到美國執法部門的壓力后 ,勒索軟件團伙聲稱已關閉其業務。然而,同一組的成員分裂出來,重新啟動勒索軟件Babuk V2,直到今天他們繼續加密受害者。
    Paradise Ransomware的源代碼已在黑客論壇 XSS 上發布,允許威脅行為者開發自己的自定義勒索軟件操作。Malka 編譯源代碼并發現它創建了三個可執行文件,勒索軟件配置構建器、加密器和解密器。對源代碼的分析揭示了俄語注釋的存在,讓我們了解其背后的勒索軟件團伙的起源。勒索軟件系列使用 Salsa20 和 RSA-1024 加密文件,并在文件名后附加幾個擴展名。在線源代碼的可用性可能允許其他勒索軟件團伙對其進行修改并開展自己的活動。
    本文在分析開源軟件安全風險的基礎上,對國外開源軟件安全治理模式進行研究,對我國開源軟件安全治理工作存在的不足展開反思,基于以上研究,就如何更好地保障我國開源軟件安全應用提出相關工作建議。
    本周三,BlackCat/ALPHV(黑貓)勒索軟件組織創始人突然宣布解散并出售其勒索軟件源代碼。該團伙在Tox上的狀態變為"GG"暗示操作結束,后來變為“出售源代碼5kk”,表明他們想要以500萬美元的價格出售其勒索軟件源代碼
    據報道,黑客組織NB65通過對Conti勒索軟件泄露的源代碼進行改進,從而研發新的勒索軟件來攻擊俄羅斯。該組織自俄烏戰爭爆發以來,就與Anonymous黑客組織聯手攻擊多個俄羅斯目標,包括全俄國家電視廣播公司(VGTRK)和俄羅斯航天局Roscosmos。 自3月底以來,NB65黑客組織已經通過對泄露的Conti勒索軟件源代碼進行改進,從而研發新的勒索軟件,并逐步使用該勒索軟件對俄羅斯實體發起網
    名叫 NB65 的黑客組織過去一個月使用 Conti 泄露的勒索軟件源代碼創建自己的勒索軟件去攻擊俄羅斯公司。俄羅斯機構很少受到勒索軟件攻擊,這種情況被認為是出于一種默契,俄羅斯黑客通過不攻擊本國機構而讓執法機構對外國的攻擊視而不見。NB65 攻擊的機構包括了 Tensor、俄羅斯宇航局、電視廣播公司 VGTRK 等。其中對 VGTRK 的攻擊最引人注目,黑客竊取了 786.2 GB 數據,包括
    Andrew
    暫無描述
      亚洲 欧美 自拍 唯美 另类