# Crypto Toolkit

编码解码与加解密工具, ...

- Repository: https://github.com/Netw0rkNoob/VulnClaw (3849 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Netw0rkNoob/VulnClaw --skill crypto-toolkit -g -a claude-code -y`
Codex: `npx skills add Netw0rkNoob/VulnClaw --skill crypto-toolkit -g -a codex -y`
Cursor: `npx skills add Netw0rkNoob/VulnClaw --skill crypto-toolkit -g -a cursor -y`
Gemini CLI: `npx skills add Netw0rkNoob/VulnClaw --skill crypto-toolkit -g -a gemini-cli -y`

## Description

编码解码与加解密工具, base64/URL/Hex/HTML实体编码解码，MD5/SHA哈希，AES/DES/RSA加解密，JWT解析，Caesar/ROT13密码，栅栏/Vigenere密码，Unicode转义，Morse电码等

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 编码解码与加解密 Skill

针对渗透测试中常见的编码、加密、混淆场景，提供全面的编解码和加解密能力。
**重要**：遇到任何编码/加密字符串时，优先使用 `crypto_decode` 工具进行解码，而非靠直觉猜测。

## 核心原则

1. **工具优先**, 遇到 base64、hex、URL编码等字符串，调用 `crypto_decode` 工具解码，不要自行脑补
2. **多格式尝试**, 如果一种解码方式结果不合理，尝试其他编码格式
3. **链式解码**, CTF 中常见多层编码（如 base64→hex→ROT13），解码后检查结果是否还需再次解码
4. **验证结果**, 解码后验证结果的合理性（是否为可读文本、是否像路径/URL/flag 等）

## 1. 编码识别与解码

### 常见编码特征识别

| 编码类型 | 特征 | 示例 |
|---------|------|------|
| Base64 | `A-Za-z0-9+/=` 结尾常有 `=` 填充 | `TnNTY1RmLnBocA==` |
| Base32 | `A-Z2-7=` | `OBZHK5DFN2A====` |
| Hex | `0-9a-f` 偶数长度 | `4e73536354662e706870` |
| URL编码 | `%XX` 格式 | `%2F%61%64%6D%69%6E` |
| HTML实体 | `&#xNN;` 或 `&#NNN;` | `&#x3C;script&#x3E;` |
| Unicode转义 | `\uXXXX` 或 `\UXXXXXXXX` | `\u003c\u0073\u0063` |
| JWT | 三段 `.` 分隔的 base64 | `eyJhbG...` |

### 解码策略

1. 识别编码类型 → 调用 `crypto_decode` 工具指定对应操作
2. 检查解码结果是否可读/合理
3. 不合理则尝试其他编码格式
4. 如果结果仍像编码，重复步骤 1-3

## 2. 哈希与散列

### 常见哈希类型

| 类型 | 输出长度 | 特征 |
|------|---------|------|
| MD5 | 32 hex | `e10adc3949ba59abbe56e057f20f883e` |
| SHA1 | 40 hex | `aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d` |
| SHA256 | 64 hex | `2c26b46b68ffc68ff99b453c1d30413413422d7064...` |
| SHA512 | 128 hex | 更长的hex字符串 |
| NTLM | 32 hex | Windows hash |
| MySQL5 | 41字符 | `*E6CC90B878B948C35E92B003C792C46758BF4` |

### 哈希处理策略

- 识别哈希类型（通过长度和字符集）
- 尝试在线彩虹表查询（通过 fetch 工具访问 crackstation 等）
- 对于已知盐值的哈希，尝试带盐值暴力破解

## 3. 对称加密

### AES/DES/3DES

- 需要密钥和模式（ECB/CBC/CTR 等）
- CBC 模式需要 IV
- 常见填充：PKCS7/ZeroPadding
- 渗透中常遇到硬编码密钥，优先从源码中提取

## 4. 非对称加密

### RSA

- 从公钥/私钥文件中提取参数
- 模数过小的 RSA 可分解
- 已知私钥可直接解密

## 5. 古典密码

| 类型 | 特征 | 破解方法 |
|------|------|---------|
| Caesar/ROT13 | 字母位移 | 暴力25种位移 |
| Vigenere | 多表替换 | Kasiski/频率分析 |
| 栅栏密码 | 字符分组重组 | 尝试常见栏数 |
| 培根密码 | AB 五元组 | 查表 |
| Morse | `.-` 点划 | 查表 |

## 6. JWT 处理

- 解码 Header + Payload（base64url）
- 检查算法：`none` 算法绕过、RS256→HS256 算法混淆
- 尝试弱密钥签名伪造
- 检查 exp/nbf 等时间声明

## 工具使用

### `crypto_decode` 工具

当遇到需要编码/解码/加密/解密的操作时，调用此工具：

The rest: https://github.com/Netw0rkNoob/VulnClaw/blob/HEAD/vulnclaw/skills/specialized/crypto-toolkit/SKILL.md
