
एपीटी समूह डोनेट टीम (जिसे एपीटी-सी -35, सेक्टर ई 02 के रूप में भी जाना जाता है) कम से कम 2012 से सक्रिय है। हमलावरों की रुचि गोपनीय जानकारी और बौद्धिक संपदा प्राप्त करने के उद्देश्य से है। अपराधियों के लक्ष्यों में दक्षिण एशिया के देश हैं, विशेष रूप से पाकिस्तान के सार्वजनिक क्षेत्र। 2019 में, हम बांग्लादेश, थाईलैंड, भारत, श्रीलंका और फिलीपींस के साथ-साथ एशियाई क्षेत्र के बाहर - अर्जेंटीना, संयुक्त अरब अमीरात और यूनाइटेड किंगडम में उनकी गतिविधियों का निरीक्षण करते हैं।
कई महीनों तक, हमने समूह के दुर्भावनापूर्ण डाउनलोडर्स के कोड में परिवर्तन का पालन किया। इस लेख में, हम हमलावर वैक्टरों में से एक पर विचार करेंगे, उल्लेखित लोडरों पर अधिक विस्तार से ध्यान केंद्रित करेंगे और नेटवर्क बुनियादी ढांचे की सुविधाओं पर ध्यान देंगे।
हमला श्रृंखला
संक्रमण की शुरुआत में, पीड़ित को कार्यालय ओपन एक्सएमएल प्रारूप में एक एमएस वर्ड दस्तावेज़ प्राप्त होता है। स्पष्ट प्रमाणों की कमी के बावजूद, हम विश्वास करते हैं कि प्रारंभिक पैठ वेक्टर एक कार्यालय लगाव के साथ फ़िशिंग ईमेल को लक्षित करता है। दस्तावेज़ स्वयं दुर्भावनापूर्ण नहीं है, लेकिन यह अगले चरण के दस्तावेज़ को लॉन्च करने के लिए बाहरी तत्वों को ऑटोलॉड करने की क्षमता का दुरुपयोग करता है।
लिंक किए गए बाहरी ऑब्जेक्ट तक पहुंचनाडाउनलोड फ़ाइल Microsoft समीकरण में CVE-2018-0802 भेद्यता का शोषण करने वाला एक RTF दस्तावेज़ है। मुख्य शेलकोड ऑपरेशन मध्यवर्ती लोगों की एक श्रृंखला से पहले होता है जो अगली परत को कुंजी 0x90 और 0xCE के साथ सिंगल-बाइट XOR के साथ डिक्रिप्ट करता है:
दूसरे के पहले शेलकोड द्वारा डिक्रिप्शन
तीसरे के दूसरे शेलकोड द्वारा डिक्रिप्शन
मुख्य के तीसरे शेलकोड द्वारा डिक्रिप्शनमुख्य शेलकोड निम्नलिखित क्रियाएं करता है:
- कुंजी 0x79 के साथ एक सिंगल-बाइट XOR % TEMP% \ one फ़ाइल से बाइनरी डेटा को डिक्रिप्ट करता है।
- निष्पादन योग्य फ़ाइलें C: \ Windows \ Tasks \ Serviceflow.exe और C: \ Windows \ Tasks \ sinter.exe बनाता है । ये दुर्भावनापूर्ण समूह डाउनलोडर हैं, जिनके बारे में हम बात करेंगे।
- फ़ाइल C: \ Windows \ Tasks \ S_An.dll बनाता है , जिसमें दो बाइट्स 0x90 लिखे जाते हैं।
- फ़ाइल C: \ Windows \ Tasks \ A64.dll बनाता है । सिस्टम की क्षमता के आधार पर, यह सिस्टम पर विशेषाधिकार बढ़ाने के लिए UACMe उपयोगिता का एक संशोधित x64 या x86 संस्करण है। UAC नियंत्रण को दरकिनार करने के अलावा, पुस्तकालय % TEMP% \ v.bat BAT स्क्रिप्ट बनाता है और चलाता है, जो निम्न आदेशों का उपयोग करके सेवा के रूप में पहले से बनाए गए बूटलोडर्स में से एक को पंजीकृत करेगा:
sc create ServiceTool displayname= "ServiceFill" binpath= "C:\Windows\Tasks\Serviceflow.exe" start= "auto" sc start ServiceTool
संशोधित UACMe पुस्तकालयों में बैट स्क्रिप्ट स्ट्रिंग डिकोडिंग- JScript स्क्रिप्ट बनाता है और चलाता है C: \ Windows \ Tasks \ bin.js. इसका कार्य R64M32 का उपयोग करके RnMod के निर्यात के माध्यम से A64.dll लाइब्रेरी को शुरू करना है।
- स्टार्टअप निर्देशिका में एक शॉर्टकट WORDICON.lnk बनाता है। इसका कार्य सिस्टम रिबूट के बाद sinter.exe बूटलोडर को शुरू करना है।
- स्टार्टअप निर्देशिका में एक Support.lnk शॉर्टकट बनाता है। इसका कार्य सिस्टम को रिबूट करने के बाद bin.js JScript स्क्रिप्ट को चलाना है।
विघटित मुख्य शेलकोडइस प्रकार, इस स्तर पर, दो बूट लोडर सिस्टम में मज़बूती से तय किए जाते हैं, जिसके संचालन पर हम अधिक विस्तार से चर्चा करेंगे।
लो 2 लोडर
वर्गीकरण के बावजूद ट्रोजन के अलग-अलग कार्य हैं। इसलिए,
Serviceflow.exe फ़ाइल में एक वॉचडॉग भूमिका है। यह सिस्टम के बारे में जानकारी एकत्र करता है:
- , उपयोगकर्ता नाम
- कंप्यूटर का नाम
- \ Program Files \ और \ Program फ़ाइलें (x86) \ निर्देशिका की सामग्री
- ओएस संस्करण
- प्रोसेसर डेटा -
और एक log.txt फ़ाइल के लिए परिणाम लिखता है। यह
A64.dll और
sinter.exe फ़ाइलों के अस्तित्व की जाँच करता है \ Windows \ Tasks \ निर्देशिका में और, यदि आवश्यक हो, तो उन्हें skillsnew [।] शीर्ष प्रबंधन सर्वर से डाउनलोड करता है और वर्तमान उपयोगकर्ता की ओर से शुरू करता है, winlogon.exe प्रक्रिया से संबंधित टोकन निकालता है।
Sinter.exe ट्रोजन
hxxps का
उपयोग करके संक्रमण के बारे में एक हमलावर को संकेत
hxxps://mystrylust.pw/confirm.php
और सिस्टम के बारे में पूर्व-एकत्र की गई जानकारी को निपुणता के लिए भेजता है [।] शीर्ष। फिर, यदि पीड़ित का कंप्यूटर अधिक रुचि वाला है, तो वह
hxxp://docs.google.com/uc?id=1wUaESzjGT2fSuP_hOJMpqidyzqwu15sz&export=download
पर customer.txt फ़ाइल की सामग्री प्राप्त करता है
hxxp://docs.google.com/uc?id=1wUaESzjGT2fSuP_hOJMpqidyzqwu15sz&export=download
। फ़ाइल में नियंत्रण सर्वर कार []।] Drivethrough.top का नाम है, जिसके साथ आगे की बातचीत होती है। डाउनलोड करने योग्य घटक \ AppData \ Roaming \ InStore \ निर्देशिका में स्थित हैं, और उनके लॉन्च को कार्य अनुसूचक का उपयोग करके प्रदान किया जाता है।
आदेश टुकड़े और कार्य टेम्पलेट की अस्वीकृत लाइनेंदुर्भावनापूर्ण डाउनलोडर्स के कार्य का परिणाम सिस्टम में
yty फ्रेमवर्क घटकों का एम्बेडिंग है, जो पीड़ित के बारे में अधिक पूरी जानकारी निकालने की अनुमति देता है, जिसमें निर्दिष्ट एक्सटेंशन, इंटरसेप्टेड इनपुट लाइनों, प्रक्रियाओं की सूची, स्क्रीनशॉट के साथ फाइलें शामिल हैं। हम इस लेख के दायरे से परे प्लगइन्स के संचालन पर विचार करेंगे।
अन्य समान नमूनों की जांच करने पर, हमें डिबग जानकारी में बचे रास्ते और परियोजना के नाम मिले:
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ New_Single_File \ Lo2 \ SingleV2 \ रिलीज़ \ BinWork.pdb
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ New_Single_Foo_2
\ SingleV2_Task_Layout_NewICON \ रिलीज़ \ BinWork.pdb - D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ New_Single_Foo_2
\ SingleV2_Task_Layout_NewICON_N_Lnk \ Release \ BinWork.pdb - D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ New_Single_File \ Lo2 \ SingleV3 \ Release \ WorkFile.pdb
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ Off \ Off_New_Api \ रिलीज़ \ C ++ \ ConnectLink.pdb
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ Off \ Off_New_Api \ रिलीज़ \ C ++ \ TerBin.pdb
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ m0 \ yty 2.0 - XP के लिए एईएस विखंडू LOC के साथ बस बिट-Change_Name \ रिलीज \ TaskTool.pdb
- D: \ Soft \ DevelopedCode_Last \ BitDefenderTest \ yty 2.0 - एईएस चाक OFFS के साथ बस बिट \ रिलीज \ C ++ \ MsBuild.pdb
- D: \ Soft \ DevelopedCode_Last \ yty 2.0 \ रिलीज़ \ C ++ \ Setup.pdb
"Yty 2.0" विकल्प के अलावा, जो ट्रोजन को उपर्युक्त ढांचे से जोड़ता है, हमने "Lo2" विकल्प को भी नोट किया, जो "लोडर 2" का संक्षिप्त नाम हो सकता है।
2018 के मध्य तक बूटलोडर्स के संस्करणों में, सभी उपयोग की गई लाइनों को एक फ़ाइल में एक खुली फ़ाइल में संग्रहीत किया गया था। निम्नलिखित बिल्डरों में, हमलावरों ने स्ट्रिंग एन्क्रिप्शन का उपयोग करना शुरू किया। संस्करण से संस्करण तक, एल्गोरिथ्म निम्नानुसार बदला गया:
- मई 2018 से: लाइन को उल्टा करें और बेस 64 को एनकोड करें।
- अप्रैल 2019 से: पिछले चरणों को दो बार निष्पादित करें।
- जनवरी 2019 से: सीबीसी मोड में एईएस एल्गोरिथ्म के साथ एन्क्रिप्ट स्ट्रिंग और बेस 64 को एनकोड करें। डिक्रिप्शन के लिए नमूना पायथन कोड:
import base64 from Cryptodome.Cipher import AES aeskey = (0x23, 0xd4, 0x67, 0xad, 0x96, 0xc3, 0xd1, 0xa5, 0x23, 0x76, 0xae, 0x4e, 0xdd, 0xca, 0x13, 0x55) def aes_decrypt(data, aeskey): iv = bytes(list(range(0, 16))) key = bytes(aeskey) aes = AES.new(key, AES.MODE_CBC, iv) return aes.decrypt(data).decode().strip('\x00') def base64_aes_decrypt(data, aeskey): data = base64.b64decode(data) data = aes_decrypt(data, aeskey) return data
- जून 2019 से: किसी दिए गए सरणी बाइट्स के साथ चरित्र-वार चक्रीय घटाव का प्रदर्शन करें, UTF-8 का उपयोग करते हुए एनकोड करें और Base64 को एनकोड करें। डिक्रिप्शन के लिए नमूना पायथन कोड:
subgamma = (0x2d, 0x55, 0xf, 0x59, 0xf, 0xb, 0x60, 0x33, 0x29, 0x4e, 0x19, 0x3e, 0x57, 0x4d, 0x56, 0xf) def sub_decrypt(data, subgamma): o = '' length = len(data) subgamma_length = len(subgamma) for i in range(length): o += chr((0x100 + ord(data[i]) - subgamma[i%subgamma_length]) & 0xff) return o def base64_utf8_sub_decrypt(data, subgamma): data = base64.b64decode(data) data = data.decode('utf-8') data = sub_decrypt(data, subgamma) return data
- अक्टूबर 2019 से: चरित्र-दर-चरित्र चक्रीय संशोधित XOR को दिए गए बाइट सरणी के साथ और दो बार Base64 को एनकोड करें। XOR एल्गोरिथ्म की ख़ासियत यह है कि यदि स्ट्रिंग वर्ण का मान दिए गए बाइट सरणी में वर्ण के मूल्य से मेल खाता है, तो XOR आवश्यक नहीं है। डिक्रिप्शन के लिए नमूना पायथन कोड:
xorgamma = (0x56, 0x2d, 0x61, 0x21, 0x16) def modxor_decrypt(data, xorgamma): o = '' length = len(data) xorgamma_length = len(xorgamma) for i in range(length): c = data[i] if c != xorgamma[i%xorgamma_length]: c = data[i] ^ xorgamma[i%xorgamma_length] o += chr(c) return o def base64_modxor_decrypt(data, xorgamma): data = base64.b64decode(data) data = modxor_decrypt(data, xorgamma) return data
डिक्रिप्शन के लिए एक स्क्रिप्ट लिखने की प्रक्रिया में, हमने पाया कि कुछ व्यक्तिगत रेखाओं को डिक्रिप्ट नहीं किया जा सकता है। लेकिन फिर यह पता चला कि ऊपर वर्णित अन्य डिक्रिप्शन विधियों में से कोई भी इस तरह के तारों के लिए उपयुक्त था। यह सुनिश्चित करने के बाद कि प्रत्येक नमूने में डेटा को डीकोड करने का केवल एक तरीका लागू किया गया था, हम इस निष्कर्ष पर पहुंचे कि हमलावर केवल अप्रयुक्त लाइनों को हटाना या मैलवेयर के अगले संस्करण के लिए सही तरीके से एन्क्रिप्ट किए गए के साथ बदलना भूल गए।
बूटलोडर के नमूनों में से एक में लाइनों को विभिन्न तरीकों से एन्क्रिप्ट किया गया था, जबकि निष्पादन योग्य फ़ाइल में केवल एकऐसी त्रुटियां हमेशा शोधकर्ताओं के हाथों में होती हैं: उदाहरण के लिए, बार-बार भूली हुई रेखाओं के बीच घुसपैठियों का नियंत्रण सर्वर आया, जो पहले हमारे लिए अज्ञात था।
नेटवर्क के बुनियादी ढांचे की विशेषताएं
पूर्णता के लिए, हम कुछ विशिष्ट विशेषताओं पर ध्यान देते हैं जो भविष्य के समूह के हमलों को जोड़ने में मदद करेंगे:
- अधिकांश प्रबंधन सर्वर प्रदाता DigitalOcean, LLC (ASN 14061) से पट्टे पर हैं और एम्स्टर्डम में स्थित हैं।
- हमलावर विभिन्न DNS नामों के लिए एक ही सर्वर का उपयोग नहीं करते हैं: प्रत्येक नए डोमेन नाम के लिए वे एक नया समर्पित होस्ट आरक्षित करना पसंद करते हैं।
- ज्यादातर मामलों में, डोमेन मालिकों का पंजीकरण डेटा गोपनीयता सेवाओं द्वारा छिपाया जाता है। इसके लिए निम्नलिखित सेवाओं का उपयोग किया जाता है: WhoisGuard, Inc; Whois गोपनीयता संरक्षण सेवा, इंक।; डोमेन प्रॉक्सी, एलएलसी द्वारा; Whois गोपनीयता संरक्षण फाउंडेशन। कुछ मामलों में, डेटा उपलब्ध है, और आप फ़ील्ड भरने के लिए सामान्य दृष्टिकोण का पालन कर सकते हैं।
WHOIS डोमेन की जानकारी जलने वाली [।] कॉम
WHOIS डोमेन जानकारी क्लाउड-स्टोरेज-सर्विस [।] कॉम- ज्यादातर उपयोग किया जाता है .टॉप, .pw, .space, .live और .icu TLD।
निष्कर्ष
डोनट टीम हमले के प्रत्येक चरण में अपने स्वयं के उपकरणों के उपयोग से प्रतिष्ठित है। कोड विश्लेषण को जटिल करने के लिए अनुप्रयुक्त तकनीकें - एक तरफ, सिस्टम में अपने कार्यों को सावधानीपूर्वक छिपाने या मुखौटा लगाने के प्रयासों की कमी - दूसरी तरफ।
एक ही लक्ष्य पर
कई हमले न केवल पीड़ितों के चुने हुए चक्र में एक विशेष रुचि को इंगित कर सकते हैं, बल्कि उपयोग किए गए रणनीति और तकनीकों की कम दक्षता की भी पुष्टि कर सकते हैं।
एलेक्सी विष्णकोव, सकारात्मक टेक्नोलॉजीज
द्वारा पोस्ट किया गयाIOCs6ce1855cf027d76463bb8d5954fcc7bb - MS लोड प्रारूप में बूटलोडर
hxxp: //plug.msplugin.icu/MicrosoftSecurityScan/DOCSDOC
21b7fc61448af8938c09007871486f58 - एमएस वर्ड प्रारूप में ड्रॉपर
71ab0946b6a72622aef6cdd7907479ec - C: \ Windows \ Tasks \ Serviceflow.exe में Lo2 लोडर
22f41b6238290913fc4d196b8423724d - C: \ Windows \ Tasks \ sinter.exe में Lo2 लोडर
330a4678fae2662975e850200081a1b1 - UACMe का x86- संशोधित संस्करण
22e7ef7c3c7911b4c08ce82fde76ec72 - UACACe का x64- संशोधित संस्करण
skillsnew [।] शीर्ष
hxxps: //mystrylust.pw/confirm.php
hxxp: //docs.google.com/uc? id = 1wUESESjGT2fSuP_hOJMpqidyzqwu15sz और निर्यात = डाउनलोड
कार [।] ड्राइवरी.टॉप
जलती हुई वन [।] कॉम
क्लाउड-स्टोरेज-सर्विस [।] कॉम