ctf-stego
ステガノグラフィのCTFチャレンジ解法に使用します。画像(PNG/JPG/BMP)、音声(WAV/MP3)、動画、またはテキストに隠された情報を検出・抽出できます。「ctf stego」「steganography」「hidden in image」「audio stego」「lsb」といったキーワードが入力されると自動的に起動します。
description の原文を見る
Use when solving steganography CTF challenges — hidden data in images (PNG/JPG/BMP), audio (WAV/MP3), video, or text. Triggers on "ctf stego", "steganography", "hidden in image", "audio stego", "lsb".
SKILL.md 本文
CTFステガノグラフィ方法論
0. 重要 — 検証されていない画像をReadしない
CLAUDE.md に従う:破損した画像を読み込むと会話が台無しになります。先に検証してください:
run_tool("file", "/path/to/image")
run_tool("identify", "/path/to/image") # ImageMagick
# または run_script:
# from PIL import Image; img = Image.open(path); print(img.size, img.mode)
両方のチェックが成功した後のみ、Readを実行してください。
1. すべてのファイルを分類
file <file>
xxd <file> | head -30
exiftool <file> # メタデータ — フラグがここに隠れていることが多い
strings <file> | grep -i "ctf\|flag\|key\|pass" | head
binwalk <file> # 複数ファイルポリグロット
メタデータを常に最初にチェックしてください。初級ステガの約30%はexiftoolだけで解けます。
2. 画像(PNG / JPG / BMP / GIF)
| 手法 | ツール/アプローチ |
|---|---|
| ピクセルのLSB | zsteg(PNG/BMP)、stegsolve |
| IEND/EOI後のEOFデータ | binwalk -e、手動hex編集 |
| JPG固有 | steghide extract -sf <file>(空パスが多い)、stegseekでブルートフォース |
| PNG色平面 | stegsolve(視覚的レイヤートグル) |
| LSBマッチング、カスタム | zsteg -a、その後PIL使用カスタムPython |
| ポリグロット(複数形式の有効なヘッダを持つファイル) | binwalk、foremost |
| IEND チャンク後に追加されたファイル(PNG) | pngcheck -v、手動カービング |
| 変更/追加チャンク | pngcheck -v、pngcsum |
| 幅/高さの改ざん(PNG) | IHDR幅/高さを編集、CRC再計算 — tweakpngスタイル |
# zstegはPNG/BMPのほとんどのLSBケースをカバー
zsteg -a image.png
# steghideブルートフォース(jpg/wav/bmp)
stegseek image.jpg rockyou.txt
# マルチツール走査
stegsolve image.png # GUI、手動レイヤートグル
3. 音声(WAV / MP3 / FLAC / OGG)
| 手法 | ツール |
|---|---|
| サンプルのLSB | wavsteg、カスタムpython |
| Steghideペイロード | steghide、stegseek |
| スペクトログラム(周波数領域に視覚的に隠された) | audacityでスペクトログラム表示、sonic-visualiser |
| DTMFトーン | multimon-ng -a DTMF、手動トーン分析 |
| モールス符号 | 耳で聞く、その後morse-decoderまたは手動 |
| SSTV(音声内スローナルスキャンテレビ) | qsstv、slowrx |
# soxでスペクトログラム生成
sox audio.wav -n spectrogram -o spec.png
# その後 spec.png を読み込む前に検証(ステップ0参照)
# DTMF
multimon-ng -a DTMF audio.wav
4. ビデオ / GIF
# フレーム抽出
ffmpeg -i video.mp4 -vf fps=1 frames/frame_%04d.png
# フレーム単位のステガノグラフィ
for f in frames/*.png; do zsteg -a "$f" 2>/dev/null | grep -i "flag\|ctf"; done
# オーディオトラック
ffmpeg -i video.mp4 -vn audio.wav
# その後音声分析
5. テキスト / ユニコード
| 手法 | ツール |
|---|---|
| ゼロ幅文字 | zwsp-steg、手動ユニコード検査 |
| 空白ステガノグラフィ | snow、stegsnow |
| 同形字置換 | ユニコード正規化+diff |
| Base-Nネストエンコーディング | ciphey、手動 |
| ベーコン/ヌル暗号 | 手動+dcode.fr |
# 不可視文字を含むすべての文字を表示
python3 -c "import sys; [print(repr(c), hex(ord(c))) for c in open(sys.argv[1]).read()]" file.txt
6. より珍しい形式
- PDF:
pdf-parser、peepdf、qpdf --qdf— ストリーム、注釈、JS、添付ファイルを確認 - Officeドキュメント:
oletools(olevba、oleid)、oledump、.docx/.xlsxを解凍 - QR/バーコード:
zbarimg、zxing— 部分的なQR再構築も試す - DNA/タンパク質配列: ROT/エンコーディングトリック、A/C/G/Tをbase-4として解読
7. デフォルトワークフロー
exiftool+strings+binwalk -eを常に最初に実行- 画像の場合 →
zsteg -a(PNG/BMP)またはstegseek(JPG) - 音声の場合 → スペクトログラム表示
- 明らかでない場合 → 視覚分析用に
stegsolveGUI - それでもない場合 → メタデータが答えをエンコードしているかもしれません(GPS、コメント、ソフトウェアフィールドを確認)
8. 時間を無駄にしないこと
zstegが存在する場合のLSBスクリプト- audacity/sonic-visualiserが存在する場合のmatplotlabでのスペクトログラム手動表示
- 検証前に
Readで画像を読み込む(ステップ0参照)
解法後
writeup-templateスキルを使用してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- 26zl
- ライセンス
- MIT
- 最終更新
- 2026/5/11
Source: https://github.com/26zl/cybersec-toolkit / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。