Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
heartbleed — Heartbleedバグ(CVE-2014-0160)を実証する教育用Dockerベースのラボ。ハッカー、被害者、サーバーのコンテナを備え、実践的な悪用とセッションクッキーの抽出を行います。 | Kitploit
ツール/GitHubGitHub/cheese-hub/heartbleed
コンテナセキュリティ脆弱性分析エクスプロイトウェブセキュリティCTF学習と教育ラボと実践
GitHubcheese-hub/heartbleed

heartbleed

Heartbleedバグ(CVE-2014-0160)を実証する教育用Dockerベースのラボ。ハッカー、被害者、サーバーのコンテナを備え、実践的な悪用とセッションクッキーの抽出を行います。

リポジトリを見る
2337年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Heartbleed バグ

シナリオの説明

Heartbleed バグは、OpenSSL ライブラリの脆弱性を悪用するサイバーセキュリティ攻撃の一例です。簡単に言うと、OpenSSL ライブラリの検証ステップが欠落しているため、ハッカーが脆弱なライブラリを使用しているサーバー上の機密情報にアクセスできる可能性があります。クライアントとサーバー間の SSL 接続を確立するためのハンドシェイクプロトコルの一部として、クライアントから heartbeat メッセージが送信され、サーバーから返信されます。また、クライアントは自身のハートビートメッセージの長さを送信する責任があり、サーバーはこの長さを使用してメモリから返す必要のあるバイト数を決定します。サーバーによって検証されない偽の長さの値により、クライアントのハートビートメッセージが保存されているメモリ位置に隣接するバイトが返される可能性があります。

このリポジトリには、Heartbleed バグを悪用してウェブサーバーからセッションクッキーを抽出する方法のデモが含まれています。これにより、ハッカーはウェブサイトの安全でアクセス制御された部分にアクセスできるようになります。

対象読者

講師向け

サイバーセキュリティの概念とセキュアコーディングを教えている講師の方は、この例を使って Heartbleed バグに関する実践的な経験を提供し、特権情報がどれほど簡単に取得されるかを示すことができます。

学生向け

サイバーセキュリティのクラスの学生、あるいは駆け出しのプログラマーであれば、コードの小さなミスがどのように大きなセキュリティ脆弱性につながるかを理解することは有益です。現在クラスで Heartbleed 攻撃について学んでいる場合は、これらの攻撃がどのように動作し、どのような対策を講じれば防止できるかについて、さらに実践的な経験を積むことができます。

設計とアーキテクチャ

このデモは3つのDockerコンテナ(サーバー、ハッカー、被害者用)を使用して設計されています。サーバーコンテナでは、ログイン成功時にウェルカムメッセージを返すシンプルなPython Flaskベースのウェブサイトがホストされています。サーバーコンテナは、Heartbleed脆弱性があるパッチ未適用のOpenSSLライブラリを実行しています。ハッカーと被害者の両方のコンテナは、UbuntuマシンへのVNCインターフェースを提供します。ハッカーコンテナには、Heartbleedバグを悪用してハートビートメッセージに誤ったメッセージ長を送信し、サーバーから返されたデータを解析してセッションクッキーを探すPythonスクリプトも含まれています。ハッカーコンテナのデスクトップにあるHTMLドキュメントに手順が記載されています。

インストールと使用方法

このコンテナセットを実行する推奨方法は、サイバーセキュリティデモのためのウェブプラットフォームであるCHEESEHubを使用することです。CHEESEHubは、コンテナをオンデマンドでオーケストレーションおよび実行するために必要なリソースを提供します。このアプリケーションをCHEESEHubで実行するように設定するには、使用するDockerイメージ、メモリとCPU要件、および3つのコンテナそれぞれに公開するポートを設定するアプリケーション仕様を作成する必要があります。このHeartbleedデモのJSON 仕様はこちらにあります。

CHEESEHubはKubernetesを使用してアプリケーションコンテナをオーケストレーションします。このアプリケーションを独自のKubernetesインストールで実行することもできます。ローカルマシンに最小限のKubernetesクラスターをセットアップする手順については、Minikubeを参照してください。

CHEESEHubまたはKubernetesで実行する前に、3つのアプリケーションコンテナ用のDockerイメージをビルドする必要があります。ハッカー、被害者、サーバーのコンテナ定義は、それぞれheartbleed-hacker、heartbleed-victim、heartbleed-serverディレクトリにあります。これらのコンテナをビルドするには、以下を実行します。

root@kitploit:~
cd heartbleed-hacker
docker build -t <hacker image tag of your choice> .

cd heartbleed-victim
docker build -t <victim image tag of your choice> .

cd heartbleed-server
docker build -t <server image tag of your choice> .

Dockerイメージがビルドされたら、Dockerエンジンのみを使用してコンテナを実行できます。

root@kitploit:~
docker run -d -p 80 <hacker image tag from above>

docker run -d -p 80 <victim image tag from above>

docker run -d <server image tag from above>

ハッカーと被害者のコンテナのユーザー向けインターフェースはVNCインターフェースであるため、ポート80を公開してホストマシンからアクセスできるようにします。サーバーのウェブサイトにはハッカーと被害者のコンテナ内からのみアクセスするため、サーバーコンテナの公開ポートをマッピングする必要はありません。

使用方法

ブラウザでハッカーコンテナのURLに移動すると、Linuxデスクトップインターフェースが表示されます。デスクトップ上のInstructions.htmlファイルをダブルクリックして、このデモのステップバイステップの手順を確認してください。ハッカーおよび被害者のコンテナでは、左下隅のプログラムメニューを選択して新しいブラウザまたはターミナルウィンドウを起動できます。ハッカーと被害者がサーバーのホストされたウェブサイトにアクセスするために使用するサーバーのIPアドレスは、CHEESEHubのコンテナ一覧ページからサーバーコンテナでコンソールを起動することで取得できます。

貢献方法

このアプリケーションに関する問題を報告したり、機能強化に貢献したりするには、GitHub Issueを作成してください。

ツールをダウンロード