
CVE-2017-5638とCVE-2021-41773の悪用、横移動、および現実的な10コンテナネットワーク全体でのSuricata IDS検出を示す、Dockerベースのマルチステージ攻撃エミュレーションラボ。
7ホスト構成のDockerベース攻撃エミュレーションラボです。多段階のキルチェーン、横展開、多地点でのIDS検知を実演するために設計されています。
このラボは、攻撃者が初期偵察から足場の確保、そしてピボティングを経て高価値ターゲットに到達するまでをシミュレートする、現実的なネットワーク環境を再現します。重要なホストにはサイドカーとして2つの独立したSuricata IDSインスタンスが併設されており、攻撃ライフサイクル全体を「防御側の視点」で観察できます。
172.28.0.0/24サブネット全体に対してネットワークスイープ(ICMP、TCP SYN、HTTPバナーの取得)を実行します。Content-TypeヘッダーへのOGNLインジェクションにより、脆弱なApache Struts 2サーバー(web-struts)を悪用します。web-strutsホストを足がかりに、攻撃者は内部ターゲットに対して二次的なエクスプロイトを実行します。web-vuln)のパストラバーサルおよびRCEの脆弱性を悪用し、rootアクセスを獲得します。このラボは合計10個のコンテナで構成されています。
web-struts (172.28.0.11): Apache Struts 2.3.28(S2-045に対して脆弱)。web-vuln (172.28.0.10): Apache httpd 2.4.49(パストラバーサル/RCEに対して脆弱)。db-mysql (172.28.0.12): 付随するデータベース。ssh-server (172.28.0.13): レガシーな足場獲得ターゲット。ftp-server、smb-server、dns-server: 現実味を高めるためのインフラストラクチャサービス。ids-suricata-struts: web-strutsのネットワーク名前空間を監視します。ids-suricata-web: web-vulnのネットワーク名前空間を監視します。セットアップスクリプトを実行して、環境をビルドおよび起動します。
./scripts/setup.sh
これによりネットワークが初期化され、イメージがプル/ビルドされ、10個すべてのコンテナが起動します。
このラボには、攻撃の各フェーズをトリガーするためのディスパッチャースクリプトが用意されています。
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh direct最終ターゲット上で実行するカスタムコマンドを渡すことができます。
./scripts/attack.sh full "whoami; cat /etc/os-release"
アラートは各IDSインスタンスの個別のeve.jsonファイルに書き込まれます。
./alerts/web-struts/eve.json./alerts/web-vuln/eve.json以下のコマンドで両方のフィードをライブで追跡できます。
./scripts/tail-alerts.sh
ラボの全コンポーネントを停止して削除するには、次のコマンドを実行します。
./scripts/teardown.sh