权限持久化方法论,用于在已获取目标系统权限后维持长期访问。其核心目标是建立不依赖原始漏洞的访问通道。
用途 该技能面向已获得目标系统权限后的持久化阶段,帮助使用者根据目标操作系统与已有访问条件,选择合适的持久化方式,并建立多层后门以提升访问稳定性。
主要能力 覆盖 Web 层与系统层两类持久化。Web 层包括 webshell 部署与隐蔽策略,涉及部署位置选择(静态资源目录、上传目录、框架目录深处、已有文件末尾追加)、隐蔽 webshell 写法(一句话、字符串拼接免杀、函数回调免杀)以及文件名伪装(.htaccess、config.bak.php、error_log.php、.user.ini)。系统层提供持久化决策树:Linux 侧包括 SSH 公钥、Cron 反弹 shell、systemd 服务、bashrc 后门、SUID shell;Windows 侧包括 WMI 事件订阅、注册表 Run 键、计划任务、服务、Sticky Keys 后门。同时给出多层持久化策略,建议建立三层后门:第一层 Webshell(Web 层,最容易恢复)、第二层 SSH 密钥或计划任务(系统层)、第三层服务或 WMI 订阅(深层,难以发现)。
使用方式 先判断目标操作系统与已有访问条件,再按决策树选择技术路径。例如 Linux 有 SSH 访问时优先使用 SSH 公钥,需要自动回连时使用 Cron 反弹 shell,需要隐蔽时使用 systemd 服务或 bashrc 后门,需要快速后门时使用 SUID shell;Windows 有管理员权限时使用 WMI 事件订阅,需要开机启动时使用注册表 Run 键或计划任务,有 RDP 访问时使用 Sticky Keys 后门;Web 层通用方式为 Webshell。具体命令需参考 references/persistence-techniques.md。
适用场景 适用于红队评估等授权安全测试场景中,在获取权限后需要维持长期访问的阶段。
限制与注意事项 持久化越隐蔽越好,文件名、服务名、任务名应像正常系统组件;避免使用明显路径(如 /tmp/backdoor.sh);不要修改 index.php 等核心文件,容易发现且危险;在红队评估中应记录部署了什么、在哪里。PHP Webshell 混淆方面,可使用变量函数($$var 动态调用)避免直接出现 eval/system,或用 assert 替代 eval、passthru 等替代 system。隐蔽性排名与具体命令细节需查阅 references/persistence-techniques.md。