
このリポジトリは、重要な脆弱性CVE-2024-3094(xz-utilsパッケージのliblzmaライブラリ内のバックドアで、OpenSSHプロセスを介したRCEにつながる)の分析結果を含んでいます。
このプロジェクトでは、隔離されたテスト環境を準備し、脅威モデルを作成し、自動チェックを作成しました。
Dockerfile — 環境構築スクリプト(Debian Bookworm)で、すべての依存関係(OpenSSH、Python 3、venv、pytest、pwntools)を含む。tests/ — 自動テスト用ディレクトリ(pytest):
test_vulnerability.py / tests_vulnerability.py — SSH機能の統合テストと、バックドア検出システムの動作を検証するMockテスト。exploit/ — 攻撃エミュレーション用のProof of Concept(PoC)スクリプト。docs/ — Markdown形式の脅威モデルとグラフ。reports/ — 静的/動的解析結果のレポート。すべてのテストと調査は、ホストシステムを危険にさらさないために、隔離されたDockerコンテナ内で実行されます。
イメージはSSHサーバー(パスワードroot:screencast)をインストールし、必要なすべてのライブラリを含むPython仮想環境を設定します。
docker build -t cveanalysis:20243094 .
コンテナはバックグラウンドで起動します。内部SSHポート(22)はホストマシンのポート2222にマッピングされます。
docker run -d -p 2222:22 --name cve-test cveanalysis:20243094
すべてのテストファイル(test_vulnerability.py と tests_vulnerability.py)を実行するには、ホストマシンから次のコマンドを実行してください:
docker exec -it cve-test pytest -v tests/*
テストで確認する内容:
root:screencast)による正しい認証。exploit/フォルダのスクリプトをテストしたい場合(または手動でSSH接続したい場合)は、ホストマシンからマッピングされたポート2222を使用してください:
# 手動ログインの例
ssh [email protected] -p 2222
# パスワード: screencast
# PoCスクリプトの実行例(外部から実行する必要がある場合)
python3 exploit/PoC.py 127.0.0.1
分析が完了したら、テストコンテナを停止して削除してください:
docker stop cve-test
docker rm cve-test