新闻详情

新闻详情

首页 / 资讯中心 / 详情

红蓝对抗Docker渗透复盘-技能与产出汇总

发布时间:2026/10/2 8:28:36来源:尧图网络
红蓝对抗Docker渗透复盘-技能与产出汇总
红蓝对抗 · Docker 渗透测试全流程复盘 —— 技能与产出汇总本文归纳自 5 份材料SKILL.md技能定义、init_lab.py靶场生成器、docker-compose.yml靶场编排、README.md靶场使用说明、渗透测试复盘报告.md演练产出。授权声明全部内容面向自有 / 明确授权的隔离环境用于安全教学与红蓝对抗演练。靶场服务只绑定127.0.0.1禁止将其中任何配置、地址、载荷用于未授权系统。0. 一页速览项内容主题红蓝对抗实战Docker 环境下的渗透测试全流程复盘技能名redblue-docker-pentest-review用户级~/.workbuddy/skills/交付形态① 可运行的隔离靶场代码 ② 可评审的 Markdown 复盘报告场景数6 个命令注入 / 未授权 Docker API / docker.sock 挂载 / 特权逃逸 / 凭据泄露 / 供应链示例演练13 步攻击链6 项缺陷严重 3、高危 39 项整改检测覆盖率 15%2/13安全校验FAIL0、WARN8、INFO118 项 WARN 即靶场故意保留的教学缺陷一句话定位把凭记忆写渗透报告变成脚本生成靶场 数据驱动渲染报告——靶场配置来自内置场景库缺陷位置有注释标注报告数字全部由findings.json计算得出不允许手写估算。1. 技能本体SKILL.md1.1 它解决什么问题手写渗透复盘最常见的三类退化只有漏洞列表没有攻击链、只有红队视角缺检测评估、整改写了却没有验证方式和卡点。技能用固定的数据结构 固定的模板把这三块钉死。1.2 合规边界硬性约束落地机制仅限授权隔离环境端口默认绑127.0.0.1独立 bridge 网络不共享宿主网络命名空间不生成外部目标载荷validate_lab.py扫描非 RFC1918 / 非回环 IP命中即FAIL阻断产物自带授权声明Dockerfile / compose / README / 报告模板顶部均有声明段删除即判红线禁止破坏性动作靶场只做读取、枚举、容器内执行等验证级动作逃逸场景用完即毁priv-escape/sock-escape/docker-api明确禁止长期运行或暴露办公网授权信息不缺省未提供授权时meta.authorization保持__TODO__报告显示「⚠ 待补充」1.3 五步流水线步骤动作命令 / 产出1 选场景确认复现哪些场景未指定默认web-rce,sock-escape,cred-leakinit_lab.py --list2 生成生成靶场工程init_lab.py --namelab-redblue-01 --scenarioall --out./lab-redblue-013 校验三级检查后再启动validate_lab.py --dir...→docker compose up -d --build4 记录按六要素填findings.jsonbuild_report.py --findings... --out复盘报告.md5 交付点名链路、最高权限、严重缺陷数、检测覆盖率、CI 卡点—校验分级FAIL红线外部目标 / 端口暴露0.0.0.0/ 缺授权声明必须修WARN靶场教学缺陷privileged / docker.sock / host 命名空间 / latest / 明文凭据需知情确认INFO加固建议资源限制 / 只读根 / cap_drop / 日志轮转。--strict可把 WARN 计入失败用于 CI。1.4 参考知识库按需加载文件用途attack-chain-playbook.md11 阶段攻击链剧本每阶段的手法、判定命令、痕迹、加固docker-attack-surface.md12 类 Docker 攻击面含 runc / DirtyPipe 等 CVE与 CIS 加固基线blue-team-detection.mdFalco / Sigma 规则、取证命令、整改清单模板mitre-attack-mapping.mdATTCK 容器矩阵映射 检测覆盖度评分口径report-structure.md复盘章节规范、六要素记录法、退化写法自查表1.5 关键约束改场景改scripts/lab_scenarios.py不要手敲 compose。报告数字一律来自findings.json计算不得估算。真实凭据与内网地址一律占位符靶场凭据用lab-demo-前缀假值。2. 靶场生成器init_lab.py527 行2.1 接口python init_lab.py--name靶场名--scenario逗号分隔|all--out输出目录python init_lab.py--list2.2 三张内置数据表数据表作用SCENARIOS在lab_scenarios.py6 个场景的标题、服务名、端口、额外 compose 缺陷片段、文件生成器FIX_TEMPLATES每个场景预置 1–2 条整改项缺陷 / 等级 / 动作 / 验证方式 / 卡点位置共 9 条TIMELINE_TEMPLATES每个场景预置 2–3 条时间线骨架阶段 / 目标 / ATTCK ID / 动作共 13 条2.3 九个构建函数函数产出build_compose()docker-compose.yml按选中场景拼装服务缺陷处带# 缺陷(教学用)注释build_readme()README.md场景表、命令、校验与报告生成方式、清理说明build_makefile()Makefileup/down/verify/report/cleanbuild_falco_rules()5 条运行时规则socket 挂载、特权容器、写宿主路径、包管理执行、反弹 shellbuild_sigma_rules()3 条规则2375 访问T1610、云元数据访问T1552.005、Web 进程派生 shellT1059build_forensics_script()collect.sh按先易失后持久采集网络 / 进程 / inspect / diff / logs / commitbuild_findings()findings.json骨架meta、env、timeline、findings、detection、fixes、appendixwrite_file()统一 UTF-8 LF 落盘2.4 生成目录结构lab-redblue-01/ ├── README.md 靶场说明 ├── docker-compose.yml 6 服务编排 ├── Makefile 命令快捷方式 ├── findings.json 复盘数据骨架 ├── scenarios/场景/ │ ├── Dockerfile 带缺陷的构建文件 │ ├── src/ 靶机源码Python 标准库实现 │ └── notes.md 缺陷 → 复现 → 检测信号 → 加固 └── blue-team/ ├── falco-rules.yaml ├── sigma/container-rules.yml └── collect.sh设计要点findings.json骨架默认按战术阶段排序填入t字段THH:MM格式后由渲染脚本自动按发生时间重排时间线与攻击链图不需要人工调整顺序。3. 靶场编排docker-compose.yml3.1 六个服务与核心缺陷服务场景端口场景专属缺陷通用缺陷web-01web-rce8080靶机/ping?host用户输入直接拼进 shellroot 运行、未 cap_drop、无资源限制、未只读根dind-apidocker-api2375privileged: trueDOCKER_TLS_CERTDIR无 TLS同上admin-panelsock-escape18080挂载/var/run/docker.sock同上esc-demopriv-escape-privilegedpid: host- /:/host同上cred-democred-leak-.env 进镜像层、ARG/ENV 明文 token同上supply-demosupply-chain-FROM alpine:latest漂移、无扫描签名同上网络统一为lab-redblue-01-netbridgerestart: no。3.2 为什么通用缺陷要保留六个服务都刻意不做cap_drop、不做资源限制、不只读根——这是为了让validate_lab.py能稳定产出 INFO 级加固建议让复盘报告的整改清单有真实的对照项而不是只谈场景专属漏洞。3.3 使用流程README# 1 校验必跑python validate_lab.py--dir.# 2 启动dockercompose up-d--builddockercompose logs-fweb-01# 蓝队取证入口# 3 演练时按 scenarios/场景/notes.md 复现# 4 渲染报告python build_report.py--findingsfindings.json--out复盘报告.md# 5 销毁逃逸类场景用完即毁dockercompose down-v--remove-orphansdockerimage prune-f4. 复盘报告渗透测试复盘报告.md4.1 章节结构0 文档信息 → 1 执行摘要 → 2 环境与规则 → 3 攻击链图 / 时间线 / ATTCK 聚合→ 4 缺陷清单 → 5 检测能力评估 → 6 蓝队视角 → 7 整改清单 → 8 附录命令 / 交付物 / 术语。4.2 本次示例演练的关键数据指标数值攻击步骤13 步侦察 2 / 初始访问 1 / 执行 1 / 持久化 1 / 提权 2 / 防御绕过 1 / 凭据访问 1 / 发现 4触发告警2 次检测覆盖率15%2/13MTTD / MTTR23 min / 41 min缺陷6 项严重 32375 未授权、docker.sock 挂载、特权逃逸高危 3命令注入、凭据泄露、供应链整改9 项每项含验证方式与卡点位置4.3 攻击链串讲按时间T00:08 8080 端口发现自研诊断接口 未告警 T00:11 2375 无鉴权返回 Docker 版本 未告警 T00:23 /ping?host127.0.0.1;id 回显 uid0 未告警 ← 入口失守 T00:31 借 Docker API 起容器挂载宿主根读 /etc/hostname 告警IDS 命中但被判误报关闭 T00:52 同 tag 两次构建 digest 不同latest 漂移 未告警 T01:14 借 docker.sock 列出宿主全部容器并读 /etc/shadow 未告警 ← 等价于宿主权限 T01:26 特权容器 chroot /host 成功逃逸 未告警 ← 链顶端 T01:40 含高危漏洞镜像被 CI 无卡点放行 未告警 T01:58 docker history 提取明文 token 告警CI secret 扫描事后复检 T02:05~02:22 容器探测、socket 发现、pidhost 确认、云元数据探测 全部未告警链的本质一个命令注入 → 容器 root → 借 socket / 特权配置 → 宿主 root全程 3 小时 20 分蓝队只在两个点上产生过信号且其中一个被误判关闭。4.4 检测缺口归因四类口径要分开类型步数根因补法无遥测7/13容器日志未集中、无 docker events、无运行时检测补日志采集与 Falco/eBPF有数据无规则4/13信号在主机日志里但没建规则与告警路由补 Sigma/Falco 规则有告警无关联1/13IDS 命中 2375 告警未关联后续容器创建事件补告警关联与上下文无基线1/13特权容器、socket 挂载缺配置基线比对部署期基线卡点4.5 整改闭环要求9 项整改全部落到三处卡点之一CI 流水线SAST、secret 扫描、镜像扫描签名、镜像模板仓库非 root、cap_drop、只读根、集群/主机基线CIS 2.x、资源限制、日志轮转。每项都给了可执行的验证命令例如「docker exec app id非 0」「docker history --no-truncgrep 不到 token」。5. 端到端使用手册PYC:/Users/Admin/.workbuddy/binaries/python/versions/3.13.12/python.exeSC:/Users/Admin/.workbuddy/skills/redblue-docker-pentest-review# ① 查看场景$PY$S/scripts/init_lab.py--list# ② 生成靶场$PY$S/scripts/init_lab.py--namelab-redblue-01--scenarioall--out./lab-redblue-01# ③ 校验FAIL0 才能启动$PY$S/scripts/validate_lab.py--dir./lab-redblue-01# ④ 启动演练cdlab-redblue-01dockercompose up-d--build# ⑤ 补齐 findings.json 后渲染报告$PY$S/scripts/build_report.py--findings./findings.json--out./渗透测试复盘报告.md# ⑥ 销毁dockercompose down-v--remove-orphansfindings.json 六要素t/ts时间、phase阶段、target目标、techniqueATTCK ID、action动作、evidence证据、detected检测状态、gap缺口。缺证据或检测状态的记录不算有效记录。6. 文件清单索引路径角色~/.workbuddy/skills/redblue-docker-pentest-review/SKILL.md技能定义流水线、合规边界、约束.../scripts/init_lab.py靶场生成器.../scripts/lab_scenarios.py6 个场景的配置与源码模板.../scripts/validate_lab.py三级安全校验.../scripts/build_report.pyfindings.json → Markdown 报告渲染.../assets/templates/report-template.md报告模板{{meta.x}}/{{table:x}}/{{mermaid:chain}}/{{metric:x}}.../references/*.md5 份知识库lab-redblue-01/docker-compose.yml靶场编排6 服务lab-redblue-01/README.md靶场使用说明lab-redblue-01/findings.json演练数据示例为演示填充值lab-redblue-01/渗透测试复盘报告.md产出报告lab-redblue-01/blue-team/Falco / Sigma / 取证脚本本汇总由上述 5 份材料归纳而成。示例报告中的演练数据为演示填充值真实演练时必须替换为实录证据。_
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

用AI写作工具完成本科毕业论文:从选题到降重的全流程实操指南 2026/10/2 9:17:20

用AI写作工具完成本科毕业论文:从选题到降重的全流程实操指南

写论文这事儿,真到了自己上手的时候,才知道“从选题到成稿”这六个字有多重。我见过太多同学,开题报告写得热血沸腾,到正文阶段对着空白文档发呆两个小时,憋不出三百字。后来我帮学弟学妹改论文,发现大家缺…

阅读更多 →
自适应学习系统的技术本质:BKT+IRT双引擎与端侧实时诊断 2026/10/2 9:17:14

自适应学习系统的技术本质:BKT+IRT双引擎与端侧实时诊断

1. “艾速度”不是算法黑箱,而是一套可解释的动态响应系统 “自适应学习平台艾速度”这个名称里,“艾”是AI的谐音,但绝不是指某个神秘大模型在后台全权决策;“速度”也不是单纯追求答题快慢,而是指系统对学习者认知状…

阅读更多 →
MySQL等保测评核查命令全解析:安全基线Checklist 2026/10/2 9:17:13

MySQL等保测评核查命令全解析:安全基线Checklist

做了这么多次MySQL数据库的等保测评,我最深的感受是:很多人以为测评就是查一查账号密码强度,真正把核查命令一条条落到生产库上,才发现身份鉴别、访问控制、安全审计、数据完整性、数据保密性,每一项背后都有一串具体的…

阅读更多 →
Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试 2026/10/2 9:16:46

Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试

在 Flutter 适配 OpenHarmony 的日常里,Switch 算是我最先认真啃的一批组件之一。原因很简单:它代码量最少,但牵涉的状态、主题、触摸热区和语义问题一点都不少。你从网上搜“Flutter for OpenHarmony Switch”,能找到的大多只是基…

阅读更多 →
MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复 2026/10/2 9:16:45

MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复

1. 为什么我坚持用命令行导出数据库先交代一下背景。我接手过不少项目的数据库运维,发现一个现象:很多开发同学用 Navicat 或者 DataGrip 这类图形化工具用得飞起,鼠标点几个按钮就能把库导出成 SQL 文件,看起来挺方便。但真到了生…

阅读更多 →
嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南 2026/10/2 9:16:45

嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南

1. 这不是“点灯实验”,而是嵌入式Linux下GPIO的生存法则 很多人第一次接触Linux GPIO编程,是在树莓派或Jetson Nano上跑一个“LED闪烁”的Demo。按下回车,LED亮了,心里一喜——以为掌握了。但真正把代码部署到工业网关、车载ECU或…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉