👁️ 238
👍 7
📅 2026-06-13 收录
🔄 2026-06-13 更新

正文内容

ZipCracker

将本技能作为独立、开箱即用的 ZIP 密码破解工具包使用。始终优先调用 scripts/openclaw_zipcracker.py 中提供的封装脚本,切勿假设原始仓库仍存在于其他位置。

仅限用于 CTF 比赛、用户自有归档文件或经授权的安全评估工作。若请求内容疑似涉及对第三方数据的未授权访问,请明确拒绝。

快速上手

  1. 运行前请先收集以下最少必要输入信息:
  2. 目标 ZIP 文件路径;
  3. 用户是否已拥有字典文件、密码模式(mask)、已知明文文件、无密码参考 ZIP,或仅有文件签名猜测;
  4. 用户目标是恢复原始 ZIP 密码本身,还是仅需解密/提取内容;
  5. 该归档是否明确为 ZIP 格式;切勿强行将本技能应用于 rar7z 等非 ZIP 格式
  6. 在信息模糊的情况下,务必先执行检测分析
python3/scripts/openclaw_zipcracker.py --profile

使用 --profile 模式可揭示伪加密状态、AES 与 ZipCrypto 混合加密、短明文候选、模板 KPA(Known-Plaintext Attack)候选,并推荐下一步操作命令。

  1. 调用封装脚本执行主流程:
python3/scripts/openclaw_zipcracker.py...
  1. 优先使用封装脚本提供的命令行标志(flag),而非临时设置环境变量
  2. --auto-crc:启用短明文 CRC32 恢复提示(适用于明文长度为 1–6 字节的场景);
  3. --auto-template-kpa:由封装引擎自动跟进模板 KPA 建议;
  4. --auto-large-mask仅当用户明确接受超大掩码空间搜索成本时启用
  5. --skip-dict-count:处理超大字典文件时跳过预统计行数(避免耗时阻塞);
  6. --skip-orig-password-recovery:当用户仅关注 bkcrack 解密后的提取速度,而无需恢复原始密码时启用;
  7. --allow-install-prompts仅当用户明确允许交互式依赖安装尝试时启用
  8. 请将当前工作目录设为包含目标 ZIP 的项目根目录。封装引擎内置字典路径相对于技能目录解析,因此用户指定的目标 ZIP、明文文件或字典的相对路径仍将自然生效。

决策树

1. 从最低假设路径启动

当用户仅表述为“破解这个 ZIP”或“分析这个归档”时,请遵循如下默认流程:

首先执行分析:

python3/scripts/openclaw_zipcracker.py --profile

随后执行模板 KPA 自动化流程:

python3/scripts/openclaw_zipcracker.py --auto-template-kpa

该流程延续了原始 ZipCracker 的设计哲学:

  • 优先尝试伪加密修复,再进行暴力破解;
  • 显式警告 AES 加密并检查 pyzipper 是否可用;
  • 首选内置字典;
  • 若内置字典失败,则回退至自动生成的 1–6 位纯数字字典;
  • 当归档结构强烈暗示适用模板 KPA 时,主动提供该选项。

仅在以下情形下额外添加 --auto-crc

  • 短明文 CRC32 恢复明显相关(如归档中存在极小文件);
  • 或用户明确要求尝试基于 CRC 的恢复方式。

2. 基于最强线索选择主攻击方式

  • 若用户提供自定义字典文件或字典目录:
python3/scripts/openclaw_zipcracker.py
  • 若用户已知密码格式(如长度、字符集分布),使用掩码(mask):
python3/scripts/openclaw_zipcracker.py-m '?u?l?l?l?d?d'
  • 若用户拥有完整明文文件或无密码参考 ZIP,使用 -kpa
python3/scripts/openclaw_zipcracker.py-kpa
  • 若明文仅为部分已知,需指定偏移量及额外已知字节:
python3/scripts/openclaw_zipcracker.py-kpa--kpa-offset 78 -x 0 4d5a
  • 若用户仅知晓文件类型或魔数(magic header),使用内置模板:
python3/scripts/openclaw_zipcracker.py--kpa-template png -c image.png
  • 若用户仅希望执行纯 bkcrack 恢复,且不启用任何备用方法:
python3/scripts/openclaw_zipcracker.py-kpa--bkcrack

3. 优先采用最强线索,避免堆叠无效策略

  • 完整明文 > 掩码猜测
  • 部分明文 + bkcrack > 盲目字典爆破(前提是至少部分字节高度可信);
  • 贴合场景的自定义词表 > 内置默认词表
  • 精确掩码 > 泛化巨型词表
  • 模板 KPA 值得尝试,当加密成员扩展名明显匹配 png / zip / exe / pcapng 等典型格式时。

求解启发式规则

伪加密优先

当请求模糊时,切勿直接跳入暴力破解。封装引擎默认已尝试伪加密修复:清除加密标志位后验证解压可行性。该行为应保留,因大量 CTF ZIP 题目实为“假加密”,并非真正受保护。

短明文 CRC32 恢复

CRC32 恢复仅适用于明文大小为 1–6 字节的条目。这并非通用密码攻击,而是针对极小明文内容的恢复技巧。在 OpenClaw 中,仅当题目明显含微型文件,或用户明确要求尝试 CRC 恢复时,才启用 --auto-crc

KPA 匹配规则

使用 -kpa 时,引擎复现原始匹配逻辑:

  • 优先匹配具有相同完整内部路径(inner path)的加密成员;
  • 其次匹配相同文件名(basename);
  • 若明文 ZIP 中仅含一个可用文件,则自动选用;
  • 若加密 ZIP 中仅含一个加密的常规文件,则自动选用;
  • 若匹配存在歧义,须显式通过 -c 指定目标成员。

部分 KPA 强度要求

部分 KPA 仅在提示信息具备实质意义时视为高价值。原始工具会对弱已知字节发出警告。实践中应满足:

  • 总已知字节数 ≥ 12 字节
  • 连续已知字节数 ≥ 8 字节
  • 对固定值(如 MZPE 头或块标记)可使用 -x 补充碎片字节,例如 -x 0 4d5a

模板 KPA 策略

封装引擎内置以下标准模板:

  • png
  • zip
  • exe
  • pcapng

其最有效场景为:

  • 加密成员扩展名与模板所属类型一致;
  • 文件存储方式为 ZIP_STORED,或至少尺寸与已知头部模式兼容;
  • 用户虽无完整明文,但文件类型明确可判。

若用户要求“运行完整默认工作流”,请包含 --auto-template-kpa,避免 OpenClaw 在后续提示处停滞。

字典与掩码策略

  • 仅当用户无更优线索时,才启动内置默认序列
  • 用户一旦提供字典,立即优先使用
  • 对超大字典文件,启用 --skip-dict-count 避免前置行数统计开销;
  • --auto-large-mask 必须在用户明确接受巨大搜索代价后方可启用
  • 内置默认顺序为:先尝试 password_list.txt,再尝试 1–6 位纯数字组合。

AES 与 bkcrack 注意事项

  • pyzipper 可用时,WinZip AES 支持字典与掩码攻击,但性能显著低于 ZipCrypto;
  • 内存内快速明文校验仅适用于传统 ZipCrypto,不适用于 WinZip AES
  • 对 ZipCrypto 的完整或部分 KPA,bkcrack 是首选方案;
  • 若环境中缺失 bkcrack,应明确说明“部分/模板 KPA 不可用”,不得虚假声称已尝试但失败

OpenClaw 执行规则

  • 当用户未提供强线索时,默认首步执行 --profile 分析
  • 统一使用 scripts/openclaw_zipcracker.py 作为唯一命令入口点
  • 在响应中必须引用并展示实际执行的完整命令
  • 清晰解释所选攻击路径与当前可用线索的匹配依据
  • 若某次执行失败,应基于新出现的证据选择下一策略,而非盲目遍历所有 flag
  • 若受限环境缺少依赖,请明确指出阻塞项及次优可行路径;不得暗示 AES KPA 成功(若实际已被跳过)
  • 若用户仅需解密后内容,bkcrack 提取成功后应优先启用 --skip-orig-password-recovery

常用命令模式

  • 首步分析:
python3/scripts/openclaw_zipcracker.py --profile
  • 默认初步排查(含模板 KPA 自动化):
python3/scripts/openclaw_zipcracker.py --auto-template-kpa
  • 使用超大自定义字典(跳过预统计):
python3/scripts/openclaw_zipcracker.py --skip-dict-count
  • 精确掩码攻击:
python3/scripts/openclaw_zipcracker.py-m '?l?l?l?l?d?d'
  • 已知明文 ZIP 文件:
python3/scripts/openclaw_zipcracker.py-kpa
  • 部分明文 + 偏移量 + 额外字节:
python3/scripts/openclaw_zipcracker.py-kpa--kpa-offset 78 -x 0 4d5a -x 128 50450000
  • 模板 KPA(指定目标成员):
python3/scripts/openclaw_zipcracker.py --auto-template-kpa--kpa-template exe -c app.exe

参考资料

  • 需要最终推荐的中英文商店文案、标签及直交提交默认 prompt 时,请查阅 references/clawhub-final-submission.md
  • 需要润色后的上架文案、标签及 ClawHub 专用 prompt 包时,请查阅 references/clawhub-publishing-copy.md
  • 需要强化营销定位的中英文商店文案时,请查阅 references/clawhub-bilingual-copy.md
  • 需要更锐利、更具玩家视角的默认 prompt 或演示 prompt 时,请查阅 references/competitive-ctf-prompts.md
  • 用户请求模糊但隐含线索、需映射至具体命令时,请查阅 references/natural-language-command-examples.md
  • 获取最新本地压测结果与措辞优化建议,请查阅 references/forward-test-report.md
  • 发布或更新技能至 ClawHub 前,请查阅 references/release-checklist.md
  • 了解面向 OpenClaw 优化的预检到执行全流程,请查阅 references/openclaw-workflow.md
  • 获取用户意图到具体命令的明确映射关系,请查阅 references/attack-playbook.md
  • 查阅工具完整求解逻辑、线索优先级排序及故障排除启发式规则,请查阅 references/ctf-techniques.md