वहां से, हैकर्स ने अंतर्निहित Windows ऑपरेटिंग सिस्टम (OS) तक पहुंच बनाई, पूर्ण SYSTEM-स्तरीय रिमोट कोड एक्जीक्यूशन (RCE) हासिल किया, पासवर्ड हैश वाले रजिस्ट्री हाइव्स निकाले, और उन्हें ऑफलाइन एक्सफिल्ट्रेट कर लिया । हंट्रेस ने हमलावर के इंफ्रास्ट्रक्चर को IP 178.162.151[.]229 पर ट्रेस किया ।
हमले का शुरुआती रास्ता Apache Tomcat पर चल रहे एक सार्वजनिक Java एप्लिकेशन में SQL इंजेक्शन की कमजोरी थी । एप्लिकेशन का ऑटोकम्प्लीट सर्च फीचर यूजर इनपुट को ठीक से वैलिडेट करने में विफल रहा, जिससे हैकर्स Oracle डेटाबेस के JDBC कनेक्शन के माध्यम से SQL कमांड इंजेक्ट करने में सफल हो गए । हंट्रेस के शोधकर्ताओं के अनुसार, यह कोई नई कमजोरी नहीं थी—SQL इंजेक्शन हमले दशकों से मौजूद हैं और आमतौर पर SQL सर्वर को भेजे जाने वाले यूजर इनपुट को गलत तरीके से हैंडल करने का परिणाम होते हैं । एक साधारण सर्च फील्ड को सैनिटाइज़ न करना ही पूरे सिस्टम से समझौता करने के लिए काफी था।
पारंपरिक मैलवेयर फाइलों को तैनात करने के बजाय, हैकर्स ने Oracle के बिल्ट-इन JVM और CREATE JAVA SOURCE स्टेटमेंट का उपयोग करके पूरी पोस्ट-एक्सप्लॉइटेशन टूलकिट को Oracle डेटाबेस के अंदर Java स्कीमा ऑब्जेक्ट के रूप में कंपाइल और स्टोर किया । यह तरीका मानक OS-स्तरीय सुरक्षा से अदृश्य था क्योंकि EDR और एंटीवायरस टूल्स ऑपरेटिंग सिस्टम पर प्रोसेसेस, बाइनरी और फाइलों पर ध्यान केंद्रित करते हैं—वे आमतौर पर Oracle के अंदर स्टोर Java क्लासेस और PL/SQL रैपर्स की जांच नहीं करते ।
खंट टूलकिट में ये कंपोनेंट शामिल थे, जिनमें से प्रत्येक एक डेटाबेस ऑब्जेक्ट के रूप में स्टोर किया गया था:
| कंपोनेंट | कार्य |
|---|---|
| KhuntCmd | cmd.exe लोड करता है और SQL स्टेटमेंट में एम्बेड करके मनमाने OS कमांड निष्पादित करता है |
| KhuntHash | Oracle की आंतरिक यूजर टेबल से यूजरनेम और पासवर्ड हैश निकालकर एक फाइल में सेव करता है |
| KhuntFS / KhuntFS2 | समझौता किए गए सिस्टम पर फाइलों को लिस्ट, रीड, सर्च और साइज चेक करने के लिए फाइल एक्सप्लोरर |
| KhuntT | आगे बढ़ने से पहले टूलकिट की स्थापना और पहुंच की पुष्टि करने के लिए एक सरल 'पिंग' टूल |
| KhuntUnzip | फाइलों को अनज़िप करने की उपयोगिता |
| khunt_ PL/SQL रैपर्स* | अंतर्निहित Java विधियों को कॉल करने के लिए उपयोग की जाने वाली PL/SQL रैपर प्रक्रियाएं |
हैकर्स सिर्फ डेटाबेस-स्तरीय एक्सेस तक नहीं रुके। उन्होंने खंट टूलकिट का उपयोग करके बहु-चरणीय प्रक्रिया में डेटाबेस लेयर से अंतर्निहित Windows ऑपरेटिंग सिस्टम तक पहुंच बनाई:
cmd.exe /c whoami चलाने के लिए KhuntCmd मॉड्यूल का उपयोग किया, जिससे पुष्टि हुई कि वे Windows सर्वर पर SYSTEM-स्तरीय विशेषाधिकारों के साथ चल रहे थे, जिसने डेटाबेस से OS तक RCE स्थापित कर दिया ।reg.exe को इनवोक किया और SECURITY और SYSTEM रजिस्ट्री हाइव्स की कॉपी बनाई, उन्हें F:\Oracle\ में khuntSECURITY.hiv और khuntSYSTEM.hiv के रूप में सेव किया ।tasklist /svc चलाया और आउटपुट को khunttasks.txt के रूप में सेव किया ।esentutl.exe का उपयोग किया, उन्हें khuntSAM.hiv और khunt_SECURITY.hiv के रूप में सेव किया ।एक्सफिल्ट्रेट किए गए रजिस्ट्री हाइव्स का उपयोग ऑफलाइन होकर सिस्टम पर सभी स्थानीय खातों के पासवर्ड हैश निकालने और डीकोड करने के लिए किया जा सकता था ।
हंट्रेस की जांच ने कई महत्वपूर्ण ब्लाइंड स्पॉट्स का खुलासा किया, जिन्होंने इस हमले को सफल होने और पकड़ में न आने में मदद की:
इस हमले के आधार पर, हंट्रेस ने कई उपायों की सिफारिश की :
यह हमला एक कड़ी चेतावनी है कि बिल्ट-इन प्रोग्रामिंग एनवायरनमेंट (जैसे Oracle का JVM) वाले डेटाबेस इंजन, एक भी अनवैलिडेटेड इनपुट फील्ड के साथ मिलकर, चुपके से हमले का मंच बन सकते हैं। सुरक्षा टीमों को अपनी निगरानी ऑपरेटिंग सिस्टम से आगे बढ़ाकर डेटाबेस ऑब्जेक्ट लेयर तक करनी चाहिए।