
CVE-2023-44604 の悪用。Kali Linux VM(攻撃者)と Debian 11 サーバー VM(被害者)を使用。
[警告]
このプロジェクトは教育およびラボ目的のみを意図しています。 所有している環境、またはテストを許可された環境でのみこれらの技術を使用してください。
このラボでは、Kali Linux VM(攻撃者)と Debian 11 サーバー VM(被害者)を使用して、CVE-2023-46604 の悪用をシミュレートします。
このラボは、ホストOSがWindowsの場合にのみ動作します。
--> Linuxを使用している場合、このラボは動作しません!
警告
Apache および Java ソフトウェアは、スクリプトを使用してVM上に自動インストールされます。ホストPCに手動でインストールしないでください!
この演習では、次のソフトウェアを使用します。
VBoxManage をインストールし、そのコマンドを環境変数に設定します:
リポジトリを任意の場所にクローンまたはダウンロードします。(このフォルダ内で vboxmanage コマンドが動作できる必要があります)
C:\Users\<user_name>\CVE-2023-46604\リポジトリをローカルシステムにクローンした後、そのフォルダ(\CVE-2023-46604\)内に新しいフォルダ VDI\ を追加します。
フォルダ構造は次のようになります:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
このラボのスクリプトは、VMを作成および削除するためにVDIを使用します。次のVDIをダウンロードします。
CVE-2023-46604\VDI\ フォルダに配置します。Debian-original.vdi として保存します。CVE-2023-46604\VDI\ フォルダに配置します。Kali-original.vdi として保存します。フォルダ構造は次のようになります:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
├── Debian-original.vdi
└── Kali-original.vdi
ユーザー名: osboxes
パスワード: osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[注意]
最初のSSH接続時には、次のようなメッセージが表示される場合があります:The authenticity of host '[127.0.0.1]:2220' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?これは正常です。SSHは、VMのホストキーがまだ
.ssh/known_hostsファイルに保存されていないことを警告しています。
Debian VM を確認したい場合は、VM に SSH で接続できます:
ssh -p2220 [email protected]
ユーザー名: osboxes
パスワード: osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# When enabling ssh, the server will from then on start on boot.
sudo systemctl enable ssh
# Power off the VM.
sudo poweroff
この時点以降、SSH は VM の起動時に自動的に開始されます。
Kali VM を確認したい場合は、VM に SSH で接続できます:
ssh -p2225 [email protected]
.\sshKali.ps1
[注意]
最初のSSH接続時には、次のようなメッセージが表示される場合があります:The authenticity of host '[127.0.0.1]:2225' cant be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?これは正常です。SSHは、VMのホストキーがまだ
.ssh/known_hostsファイルに保存されていないことを警告しています。
これで、Debian 被害者 VM に対するリモートコマンド実行(RCE)アクセスが得られました。
Debian11 VM へのリモートアクセスを確認するために、次の Linux コマンドを実行できます:
# Show the current directory
pwd
# Check the operating system
cat /etc/os-release
# Check the current user
whoami
# Check the kernel information
uname -a
エクスプロイトが成功すると:
┌─────────────────────┐
│ Host System │
│ (VirtualBox Host) │
└─────────┬───────────┘
│
┌────────────────┴────────────────┐
│ │
NAT + Port Forwarding NAT + Port Forwarding
SSH: localhost:2225 SSH: localhost:2220
│ │
┌───────────┴───────────┐ ┌───────────┴───────────┐
│ Kali Linux VM │ │ Debian 11 Server │
│ (Attacker) │ │ (Victim) │
│ │ │ │
│ NIC1: NAT │ │ NIC1: NAT │
│ NIC2: Internal Net │<───────>│ NIC2: Internal Net │
│ "inet" │ │ "inet" │
└───────────────────────┘ └───────────────────────┘
VM を作成する場合は、scripts/ フォルダ内で次のコマンドを実行します:
.\DebCreate.ps1.\KaliCreate.ps1新しい VM が作成されると、DebCreate.ps1 と KalCreate.ps1 スクリプトはまず元の VDI ファイル(例:Debian-original.vdi)のコピーを作成します。その後、VBoxManage はこのコピーを使用して VM を作成します。
これにより、VM 内で行ったソフトウェアのインストールや設定変更が将来の VM 作成に保存されず、各新規 VM はクリーンな VDI から起動できます。
VM を終了したら、以下の2つのコマンドのいずれかを実行して VM(および VDI のコピー)を削除できます。scripts/ フォルダ内で次のコマンドを実行します:
.\DebDelete.ps1.\KaliDelete.ps1VM が作成されるとき、元の VDI のコピーを使用して動作します。これにより、VM を削除しても、以前インストールしたソフトウェアが新しい VM に残ることはありません。