#ステガノグラフィツールキット
このプロジェクトは、hackthebox.eu のようなCTFプラットフォームで見られるステガノグラフィのチャレンジを解くのに役立つDockerイメージです。イメージには多数の人気ツール(以下のリスト参照)と、簡単なチェックを行うためのスクリーニングスクリプトがプリインストールされています(例:check_jpg.sh image.jpg を実行するとJPGファイルのレポートが得られます)。
まず、Dockerがインストールされていることを確認してください(インストール方法)。
次に、このリポジトリのシェルスクリプト bin/build.sh と bin/run.sh を使用してイメージをビルドし、コンテナを実行できます。
コンテナ内のbashシェルにドロップされます。
data フォルダがマウントされており、解析するファイルをそこに配置できます。
スクリプトを使用しない場合は、次の手順に従ってください:
docker build -t <image_name> .)か、Docker Hubからプルする(docker pull dominicbreuker/stego-toolkit)/data フォルダにマウントしてコンテナを起動する(docker run -it <image_name> -v /local/folder/with/data:/data /bin/bash)check_jpg.sh image.jpg でクイックレポートを作成、または brute_jpg.sh image.jpg wordlist.txt でさまざまなツールとパスワードを使用して隠しデータを抽出してみるstart_ssh.sh を実行し、X11転送でコンテナに接続するstart_vnc.sh を実行し、ブラウザからコンテナのデスクトップに接続する詳細については、以下のセクションを参照してください:
docker run -it --rm -v $(pwd)/data:/data dominicbreuker/stego-toolkit /bin/bash で開始します。
コンテナシェルの作業ディレクトリ /data にドロップされます。
ホストのフォルダ $(pwd)/data がマウントされ、その中の画像にアクセスできます。

多数のLinuxおよびWindowsツールがインストールされています。 WindowsツールはWineでサポートされています。 一部のツールはコマンドラインで使用でき、その他はGUIサポートが必要です。
これらのツールはコマンドラインで使用できます。 コンテナを起動し、チェックしたいステガノグラフィファイルをマウントするだけです。
最初に実行するツールです。 扱っているファイルの大まかな概要を把握できます。
| ツール | 説明 | 使い方 |
|---|---|---|
| file | ファイルの種類を確認する | file stego.jpg |
| exiftool | メディアファイルのメタデータを確認する | exiftool stego.jpg |
| binwalk | 他のファイルが埋め込まれているか、追加されているかを確認する | binwalk stego.jpg |
| strings | ファイル内に興味深い読み取り可能な文字があるかを確認する | strings stego.jpg |
| foremost | 埋め込まれている、または追加されているファイルを切り出す | foremost stego.jpg |
| pngcheck | PNGファイルの詳細を取得する(または実際には別のものであることを確認する) | pngcheck stego.png |
| identify | GraphicMagick のツールで、ファイルがどの種類の画像かを確認する。画像が破損している場合もチェックする。 | identify -verbose stego.jpg |
| ffmpeg | ffmpegはオーディオファイルの整合性をチェックし、情報やエラーを報告するために使用できる | ffmpeg -v info -i stego.mp3 -f null - でファイルを再エンコードし結果を破棄する |
ファイル内のステガノグラフィを検出するために設計されたツール。 主に統計的検定を実行します。 単純なケースでのみ隠しメッセージを明らかにします。 ただし、興味深い不規則性を発見した場合に何を探すべきかのヒントを提供する可能性があります。
| ツール | ファイルタイプ | 説明 | 使い方 |
|---|---|---|---|
| stegoVeritas | 画像(JPG, PNG, GIF, TIFF, BMP) | さまざまな単純および高度なチェック。stegoveritas.py -h を参照。メタデータのチェック、多くの変換された画像を作成してディレクトリに保存、LSBのブルートフォースなど。 | stegoveritas.py stego.jpg ですべてのチェックを実行 |
| zsteg | 画像(PNG, BMP) | さまざまなLSBステガノグラフィ(openstegoやCamouflage toolも検出) | zsteg -a stego.jpg ですべてのチェックを実行 |
| stegdetect | 画像(JPG) | 統計的検定を実行して、ステゴツールが使用されたかどうかを検出(jsteg, outguess, jphideなど)。詳細は man stegdetect を参照。 | stegdetect stego.jpg |
| stegbreak | 画像(JPG) | JPG画像のブルートフォースクラッカー。outguess, jphide、jsteg をクラックできると主張。 | stegbreak -t o -f wordlist.txt stego.jpg、-t o はoutguess、-t p はjphide、-t j はjsteg |
メッセージを隠したり後で抽出したりするためのツール。 一部のツールはメッセージを隠す前に暗号化します。 暗号化する場合はパスワードが必要です。 使用されたツールの種類や正しいパスワードのヒントがある場合は、これらのツールを試してみてください。 一部のツールは、このDockerイメージで利用可能なブルートフォーススクリプトでサポートされています。