Agent Skills by ALSEL
Anthropic Claudeセキュリティ⭐ リポ 4品質スコア 71/100

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)

手法ツール/アプローチ
ピクセルのLSBzsteg(PNG/BMP)、stegsolve
IEND/EOI後のEOFデータbinwalk -e、手動hex編集
JPG固有steghide extract -sf <file>(空パスが多い)、stegseekでブルートフォース
PNG色平面stegsolve(視覚的レイヤートグル)
LSBマッチング、カスタムzsteg -a、その後PIL使用カスタムPython
ポリグロット(複数形式の有効なヘッダを持つファイル)binwalkforemost
IEND チャンク後に追加されたファイル(PNG)pngcheck -v、手動カービング
変更/追加チャンクpngcheck -vpngcsum
幅/高さの改ざん(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)

手法ツール
サンプルのLSBwavsteg、カスタムpython
Steghideペイロードsteghidestegseek
スペクトログラム(周波数領域に視覚的に隠された)audacityでスペクトログラム表示、sonic-visualiser
DTMFトーンmultimon-ng -a DTMF、手動トーン分析
モールス符号耳で聞く、その後morse-decoderまたは手動
SSTV(音声内スローナルスキャンテレビ)qsstvslowrx
# 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、手動ユニコード検査
空白ステガノグラフィsnowstegsnow
同形字置換ユニコード正規化+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-parserpeepdfqpdf --qdf — ストリーム、注釈、JS、添付ファイルを確認
  • Officeドキュメント: oletools(olevbaoleid)、oledump、.docx/.xlsxを解凍
  • QR/バーコード: zbarimgzxing — 部分的なQR再構築も試す
  • DNA/タンパク質配列: ROT/エンコーディングトリック、A/C/G/Tをbase-4として解読

7. デフォルトワークフロー

  1. exiftool + strings + binwalk -eを常に最初に実行
  2. 画像の場合 → zsteg -a(PNG/BMP)またはstegseek(JPG)
  3. 音声の場合 → スペクトログラム表示
  4. 明らかでない場合 → 視覚分析用にstegsolve GUI
  5. それでもない場合 → メタデータが答えをエンコードしているかもしれません(GPS、コメント、ソフトウェアフィールドを確認)

8. 時間を無駄にしないこと

  • zstegが存在する場合のLSBスクリプト
  • audacity/sonic-visualiserが存在する場合のmatplotlabでのスペクトログラム手動表示
  • 検証前にReadで画像を読み込む(ステップ0参照)

解法後

writeup-templateスキルを使用してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
26zl
リポジトリ
26zl/cybersec-toolkit
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/26zl/cybersec-toolkit / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: 26zl · 26zl/cybersec-toolkit · ライセンス: MIT