Turla Cybergroup आउटलुक पिछले दरवाजे विश्लेषण

Turla (Snake, Uroboros) एक साइबर जासूसी समूह है जिसने 2008 में अमेरिकी सशस्त्र बलों के मध्य कमान के नेटवर्क सहित संरक्षित वस्तुओं को हैक करने के बाद प्रसिद्धि प्राप्त की थी। तब से, वह दुनिया भर में सैन्य प्रतिष्ठानों और राजनयिक एजेंसियों पर हमलों में माहिर हैं। प्रसिद्ध पीड़ितों में 2013 में फिनलैंड के विदेश मंत्रालय , 2014 से 2016 तक स्विस रक्षा निगम आरयूएजी शामिल हैं । और 2017 के अंत में जर्मन सरकार - 2018 की शुरुआत में।


नवीनतम घटना के बाद, कई मीडिया आउटलेट्स ने हमलावरों के तरीकों के बारे में जानकारी प्रकाशित की - मैलवेयर से नियंत्रण और सिस्टम से चोरी किए गए डेटा को स्थानांतरित करने के लिए ईमेल अटैचमेंट का उपयोग करना। हालांकि, पिछले दरवाजे के बारे में कोई तकनीकी जानकारी नहीं दी गई थी। इस रिपोर्ट में, हम टर्ला बैकडोर के विश्लेषण को प्रकाशित करते हैं, जिसे ईमेल में पीडीएफ अटैचमेंट का उपयोग करके प्रबंधित किया गया था।



मीडिया रिपोर्टों के अनुसार, जर्मन विदेश मंत्रालय के कई कंप्यूटर पिछले दरवाजे से संक्रमित थे। जाहिर तौर पर, हमला 2016 में शुरू हुआ था और 2017 के अंत में सुरक्षा सेवाओं द्वारा खोजा गया था। शुरुआत में, हमलावरों ने फेडरल हाई स्कूल ऑफ पब्लिक एडमिनिस्ट्रेशन (होच्स्चुले डेस बुंडेस) से समझौता किया, जिसके बाद वे मार्च 2017 में विदेश मंत्रालय के नेटवर्क तक पहुंच प्राप्त करने तक अपने नेटवर्क के अंदर चले गए। । लगभग एक साल तक कुछ गोपनीय डेटा (उदाहरण के लिए, जर्मन विदेश मंत्रालय के कर्मचारियों का ई-मेल) तक टर्ला ऑपरेटरों की पहुंच थी।


हमारी जांच से यह भी पता चलता है कि माइक्रोसॉफ्ट आउटलुक को लक्षित करने वाले इस मैलवेयर का उपयोग विभिन्न राजनीतिक और सैन्य विभागों के खिलाफ किया गया था। हमने यह सुनिश्चित किया कि अन्य दो यूरोपीय देशों के विदेश मंत्रालयों और प्रमुख रक्षा ठेकेदार के बीच भी समझौता हुआ। हमारी जांच ने हमें इस अभियान के लिए तुर्ला ऑपरेटरों द्वारा पंजीकृत दर्जनों ईमेल पतों को स्थापित करने की अनुमति दी और उन्हें पीड़ितों के डेटा को प्राप्त करने के लिए उपयोग किया गया।


1. प्रमुख बिंदु


Turla Group के आउटलुक बैकडोर के दो कार्य हैं।


सबसे पहले, यह आउटगोइंग अक्षरों की चोरी है जो हमलावर को अग्रेषित की जाती है। पूर्वी यूरोप में प्रचलित द बैट! के लिए ज्यादातर Microsoft Outlook को प्रभावित करता है, लेकिन यह भी प्रासंगिक है।


दूसरे, इसके C & C प्रोटोकॉल की ट्रांसपोर्ट लेयर के रूप में अक्षरों का उपयोग। पिछले दरवाजे कमांड के माध्यम से अनुरोधित फाइलें विशेष रूप से निर्मित पीडीएफ दस्तावेजों में अक्षरों के लगाव के रूप में एक्सफ़िल्ट की गई हैं। बैकडोर कमांड भी पीडीएफ अटैचमेंट में भेजे जाते हैं। यह गोपनीयता के लिए अनुमति देता है। यह ध्यान रखना महत्वपूर्ण है कि हमलावर पीडीएफ पाठकों या माइक्रोसॉफ्ट आउटलुक में किसी भी कमजोरियों का फायदा नहीं उठाते हैं। दुर्भावनापूर्ण सॉफ़्टवेयर PDF दस्तावेज़ों से डेटा को डीकोड कर सकते हैं और उन्हें कमांड के रूप में व्याख्या कर सकते हैं।


अभियान के लक्ष्य तुरला के विशिष्ट हैं। हमने इस पिछले दरवाजे से समझौता करने वाली कई यूरोपीय सरकारी एजेंसियों और रक्षा कंपनियों की पहचान की है। यह संभावना है कि हमलावर प्रतिबंधित पहुंच नेटवर्क में दृढ़ता सुनिश्चित करने के लिए इसका उपयोग करते हैं, जहां अच्छी तरह से कॉन्फ़िगर किए गए फ़ायरवॉल या अन्य नेटवर्क सुरक्षा उपकरण HTTP (एस) के माध्यम से सी और सी सर्वर के साथ पारंपरिक संचार को प्रभावी ढंग से अवरुद्ध करते हैं। नीचे दिए गए आंकड़े पिछले कोड लाइनों को सूचीबद्ध करते हैं जो कुछ सरकारी शीर्ष-स्तरीय डोमेन का उल्लेख करते हैं। mfa विदेशी मामलों के मंत्रालय का डोमेन है, .gouv फ्रांस सरकार (.gouv.fr) का एक उपडोमेन है, ocse यूरोप में सुरक्षा और सहयोग संगठन है।



चित्र 1. मालवारी कोड में पाई जाने वाली सार्वजनिक सेवाओं से जुड़े डोमेन


विश्लेषण और टेलीमेट्री डेटा के आधार पर, हमने पाया कि इस पिछले दरवाजे को कम से कम 2013 के बाद से जंगली में वितरित किया गया है। हमेशा टर्ला के साथ, हम संकलन टाइमस्टैम्प पर ध्यान केंद्रित नहीं कर सकते, क्योंकि वे आमतौर पर नकली होते हैं। हालांकि, हम मानते हैं कि पहले संस्करणों को 2013 से पहले संकलित किया गया था, क्योंकि इस वर्ष का संस्करण पहले से ही काफी उन्नत था। उसके बाद, हमें बेस एक के समान एक संस्करण मिला, जिसका संकलन 2009 दिनांकित था। सटीक रिलीज की तारीख निर्धारित करना अभी तक संभव नहीं है। नीचे दी गई समयावधि खुले स्रोतों से हमारे टेलीमेट्री और डेटा पर आधारित है:


2009 : आउटलुक बैकडोर के आधार संस्करण का संकलन टाइमस्टैम्प (नकली हो सकता है)। केवल ईमेल सामग्री का स्नैपशॉट।
2013 : बेहतर: पिछले दरवाजे आदेश निष्पादित कर सकते हैं। उन्हें XML फॉर्मेट में ईमेल किया जाता है।
2013 : द बैट में लक्षित नवीनतम ज्ञात संस्करण! ..
2016 : बेहतर: टीमें विशेष रूप से निर्मित पीडीएफ दस्तावेजों में संलग्नक के रूप में भेजी जाती हैं।
2017 : बेहतर: एक पिछले दरवाजे एक हमलावर द्वारा डेटा को बाहर निकालने के लिए पीडीएफ दस्तावेज़ बनाने में सक्षम है।
मार्च 2018 : जर्मन सरकार के नेटवर्क की रिपोर्टिंग समझौता।
अप्रैल 2018 : बेहतर: पिछले दरवाजे एम्पायर PSInject का उपयोग करके PowerShell कमांड निष्पादित कर सकते हैं।


2. वैश्विक वास्तुकला


हाल के संस्करणों में, पिछले दरवाजे एक स्टैंडअलोन डीएलएल है, जिसमें स्वयं-इंस्टॉलेशन और इंटरैक्शन के लिए कोड और द बैट! ईमेल क्लाइंट हैं, भले ही आउटलुक के लिए केवल इंस्टॉलेशन लागू हो। यह आसानी से किसी भी तुर्ला घटक द्वारा गिराया जा सकता है जो आपको अतिरिक्त प्रक्रियाएं करने की अनुमति देता है।


इस खंड में, हमारा विश्लेषण 2017 की पहली छमाही में जारी एक नमूने पर आधारित है। पुराने या नए नमूनों की जानकारी शामिल की जा सकती है।


2.1। स्थापना


एक पिछले दरवाजे को स्थापित करने के लिए, हमलावर एक DLL निर्यात करते हैं जिसे Install कहते हैं या इसे regsvr32.exe के साथ पंजीकृत करते हैं। तर्क लक्ष्य ईमेल क्लाइंट है। नीचे दिया गया आंकड़ा संभावित मान दिखाता है। नवीनतम संस्करणों में, केवल आउटलुक के लिए इंस्टॉलेशन लागू किया गया है।



चित्रा 2. संभव स्थापना तर्क


चूंकि कोई हार्ड-कोडेड पथ नहीं है, इसलिए DLL फ़ाइल को डिस्क पर कहीं भी स्थित किया जा सकता है।


2.1.1। Microsoft आउटलुक


टर्बो डेवलपर्स मैलवेयर हठ सुनिश्चित करने के लिए COM ऑब्जेक्ट अपहरण पर भरोसा करते हैं। यह कई वर्षों से जंगली में इस्तेमाल किया जाने वाला एक प्रसिद्ध तरीका है, जिसमें तुर्ला समूह भी शामिल है । विधि का सार Windows रजिस्ट्री में संबंधित CLSID प्रविष्टि को संशोधित करके लक्ष्य अनुप्रयोग द्वारा उपयोग की जाने वाली COM ऑब्जेक्ट को पुनर्निर्देशित करना है।


हमारे मामले में, Windows रजिस्ट्री में निम्नलिखित परिवर्तन किए गए हैं:


HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066} = Mail Plugin HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 = [Path to the backdoor DLL] HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32\ThreadingModel = Apartment HKCU\Software\Classes\CLSID\{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}\TreatAs = {49CBB1C7-97D1-485A-9EC1-A26065633066} 

{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D} - CLSID पर कब्जा कर लिया। यह आउटलुक प्रोटोकॉल प्रबंधक से मेल खाती है और सिद्धांत रूप में, वैध आउटलुक DLL OLMAPI32.DLL लोड करता है। {49CBB1C7-97D1-485A-9EC1-A26065633066} किसी भी ज्ञात सॉफ़्टवेयर से संबद्ध नहीं है। यह CLSID मनमाना है और इसका उपयोग COM रीडायरेक्शन के लिए केवल एक प्लेसहोल्डर के रूप में किया जाता है।


जब संशोधन पूरा हो जाता है, तो हर बार आउटलुक अपने COM ऑब्जेक्ट को लोड करने पर पिछले डीएलएल को लोड किया जाएगा। हमारी टिप्पणियों के अनुसार, यह आउटलुक स्टार्टअप के दौरान होता है।


COM पुनर्निर्देशन के लिए व्यवस्थापक अधिकारों की आवश्यकता नहीं है, क्योंकि यह केवल वर्तमान उपयोगकर्ता पर लागू होता है। इस तरह के दुर्भावनापूर्ण पुनर्निर्देशों को रोकने के लिए संरक्षण उपाय किए जाते हैं। MSDN के अनुसार: "Windows Vista और Windows Server 2008 के साथ, यदि प्रक्रिया अखंडता स्तर औसत से ऊपर है, तो COM रनटाइम उपयोगकर्ता के COM कॉन्फ़िगरेशन को अनदेखा करता है और केवल प्रत्येक मशीन के लिए COM कॉन्फ़िगरेशन को एक्सेस करता है।"


आउटलुक प्रक्रिया मध्यम अखंडता पर चलती है, जैसा कि नीचे की छवि में दिखाया गया है। इस प्रकार, यह प्रत्येक उपयोगकर्ता के लिए COM अग्रेषण से सुरक्षित नहीं है।



चित्रा 3. आउटलुक प्रक्रिया अखंडता स्तर


अंत में, COM ऑब्जेक्ट्स के कैप्चर का उपयोग करके पिछले दरवाजे का पता लगाने से बचने की अनुमति मिलती है, क्योंकि पिछले दरवाजे के रास्ते ( C:\Users\User\Documents\mapid.tlb हमारे उदाहरण में) प्लगइन्स की सूची में दिखाई नहीं देता है, जैसा कि निम्न आकृति में दिखाया गया है।



चित्रा 4. आउटलुक प्लगइन्स की सूची - mapid.tlb दिखाई नहीं देती है


यदि दुर्भावनापूर्ण प्रोग्राम ऐड-ऑन की सूची में प्रकट नहीं होता है, तो भी मानक Microsoft API - MAPI (मैसेजिंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) का उपयोग आउटलुक के साथ बातचीत करने के लिए किया जाता है।


2.1.2। बल्ले!


कालक्रम में निर्दिष्ट के रूप में, पिछले दरवाजे के नवीनतम संस्करणों में अब बैट के लिए पंजीकरण कोड शामिल नहीं है! .. हालांकि, मेलबॉक्स और संदेशों के प्रबंधन के लिए सभी कोड अभी भी मौजूद हैं। यदि आवश्यक हो, तो इसे मैन्युअल रूप से कॉन्फ़िगर किया जा सकता है।


चमगादड़ के लिए एक प्लगइन के रूप में रजिस्टर करने के लिए! मैलवेयर ने %appdata%\The Bat!\Mail\TBPlugin.INI संशोधित किया %appdata%\The Bat!\Mail\TBPlugin.INI । यह चमगादड़ के लिए एक प्लगइन को पंजीकृत करने का एक वैध तरीका है!, कुछ प्लगइन्स (उदाहरण के लिए, एंटीस्पैम) भी इसका उपयोग करते हैं।


हर बार रजिस्टर करने के बाद आप बैट शुरू करें! पिछले दरवाजे DLL कहा जाता है। नीचे दिया गया आंकड़ा बताता है कि DLL प्लगइन्स के लिए आवश्यक निर्यात कैसे लागू करता है।



चित्रा 5. चमगादड़ के लिए मानक निर्यात!


2.2। मेल क्लाइंट के साथ सहभागिता


मेल क्लाइंट के साथ बातचीत लक्ष्य पर निर्भर करती है।


2.2.1। Microsoft आउटलुक


Microsoft मैसेजिंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (MAPI) का समर्थन करता है, जो एप्लिकेशन को Outlook के साथ सहभागिता करने की अनुमति देता है। तुरला बैकडोर इस एपीआई का उपयोग एक समझौता प्रणाली के उपयोगकर्ता / उपयोगकर्ताओं के मेलबॉक्स तक पहुँचने और प्रबंधन के लिए करता है।


सबसे पहले, पिछले दरवाजे MAPILogonEx का उपयोग करके संदेश प्रणाली से जुड़ता है, जैसा कि चित्र में दिखाया गया है।



चित्रा 6. MAPI लॉगऑन


दूसरा पैरामीटर (lpszProfileName) खाली है, MAPI_USE_DEFAULT ध्वज MAPI_USE_DEFAULT । प्रलेखन के अनुसार: "संदेश उपतंत्र को lpszProfileName पैरामीटर के लिए डिफ़ॉल्ट प्रोफ़ाइल नाम को ओवरराइड करना चाहिए। MAPI_EXPLICIT_PROFILE ध्वज MAPI_EXPLICIT_PROFILE तब तक अनदेखा किया MAPI_EXPLICIT_PROFILE है जब तक कि lpszProfileName पूर्ण या खाली न हो।"


इसके विपरीत, MAPI_NEW_SESSION ध्वज सेट नहीं है। प्रलेखन के अनुसार: " lpszProfileName पैरामीटर lpszProfileName नजरअंदाज कर दिया lpszProfileName है यदि MAPI_ALLOW_OTHERS ध्वज MAPI_ALLOW_OTHERS साथ MapiLogonEx नामक एक पिछला सत्र हो और यदि MAPI_NEW_SESSION ध्वज सेट नहीं है।"


हमारी राय में, आउटलुक फ्लैग MAPI_ALLOW_OTHERS साथ एक डिफ़ॉल्ट सत्र खोलता है। इस प्रकार, बैकडोर मेलबॉक्स के डिफ़ॉल्ट प्रोफ़ाइल तक पहुंच प्राप्त करने के लिए पहले से खोले गए सत्र का उपयोग करेगा। यह बैकडोर प्लग इन को इनिशियलाइज़ करते समय यूज़रनेम और पासवर्ड रिक्वेस्ट की कमी को बताता है।


ऐसा करने के बाद, पिछले दरवाजे मेलबॉक्स तक पहुँच प्राप्त करेगा और अन्य MAPI फ़ंक्शन का उपयोग करके इसे आसानी से प्रबंधित करने में सक्षम होगा। यह विभिन्न मैसेज स्टोर्स, पार्स लेटर्स के माध्यम से पुनरावृति करेगा, और आने वाले और बाहर जाने वाले संदेशों में कॉलबैक जोड़ देगा। लॉग फ़ाइल इस प्रक्रिया को प्रदर्शित करती है (उपयोगकर्ता नाम और पता परिवर्तित):


 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ========= Analyzing msg store ( 1 / 1 ) ========= Service name:MSUPST MS Pst path:C:\Users\[username]\Documents\Outlook Files\[email address].pst Wait main window before open current store Loop count = 46 This is default message store PUSH store to list >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _____________ FOLDERS _____________ Setting sink on folders in 1 stores. ========Process msg store ( 1 / 1 ) ========= Account: [email address] Successfull set sink on Outbox folder of current store. Successfull set sink on Inbox folder of current store. 

यह प्रत्येक इनबॉक्स और HrAllocAdviseSink में कॉलबैक का उपयोग करते हुए HrAllocAdviseSink फ़ंक्शन का उपयोग करते हुए दिखाया गया है।



चित्र 7. आउटबॉक्स में कॉलबैक दर्ज करना


2.2.1.1। कॉलबैक इनबॉक्स


इनबॉक्स में कॉलबैक आने वाले संदेश का मेटाडेटा रिकॉर्ड करता है, जिसमें प्रेषक और प्राप्तकर्ता पते, विषय और अनुलग्नक नाम शामिल हैं। नीचे उदाहरण (डेवलपर स्पेलिंग सहेजी गई):


 RECIVE ->{ From: sender@example.com To: receiver@example.net Cc: Bcc: Subj: Mail subject Att: an_attachment.pdf } 

फिर वह हमलावरों से टीमों के विषय पर पत्र और संलग्नक का विश्लेषण करता है। यह फ़ंक्शन धारा 2.3 में वर्णित है।


अंत में, यह ऑपरेटर के ईमेल पते के साथ आने वाले संदेशों की जाँच करके NDRs को स्वीकार करता है। ऑपरेटर के पते वाले किसी भी पत्र को अस्वीकार कर दिया जाएगा। यह समस्या पैदा कर सकता है यदि पीड़ित को संदेह है कि कुछ गलत है और जवाब देखे बिना सहायता सेवा से संपर्क करता है।


2.2.1.2। आउटबॉक्स में कॉलबैक


इनबॉक्स के रूप में, आउटबॉक्स सभी भेजे गए ईमेलों के मेटाडेटा को रिकॉर्ड करता है। निम्नलिखित रिकॉर्ड उत्पन्न होता है (ऑपरेटर पता बदल गया):


 21:57:56 SEND <-{ From: To: recipient@example.com Cc: Bcc: Subj: My title Att: [1] "last_presentation.pdf" } 21:57:56 Sending data message 21:57:56 Message ENTRYID: [Message ENTRYID] 21:57:56 Data message was send. To: [redacted]@gmx[.]com From: Subj: My title 21:57:56 Set last time. 21:57:56 Spawned thread for cleaning up outgoing messages (id 2848) 21:58:34 Ending work, client: Outlook 21:58:34 Number of messages to remove: 1 21:58:34 Message ENTRYID: [Message ENTRYID] 21:58:34 DeleteMessages executed successfully. 21:58:34 Number of not removed messages: 0 

आप देख सकते हैं कि यह हमलावरों के पते पर आने वाले हर संदेश को आगे बढ़ाता है, […]@gmx[.]com । GMX - एक लोकप्रिय मुफ्त ईमेल सेवा; हमलावरों ने शायद इसे चुना है, क्योंकि संगठन आमतौर पर gmx.com डोमेन को ब्लॉक नहीं करते हैं।


यह ईमेल पता हमारे द्वारा अध्ययन किए गए नमूने में हार्ड-कोडित है, जैसा कि नीचे की छवि में दिखाया गया है। हालांकि, इसे पिछले दरवाजे कार्यों में से एक का उपयोग करके अपडेट किया जा सकता है। हमलावर प्रत्येक लक्ष्य के लिए कम से कम एक ईमेल पता दर्ज करते प्रतीत होते हैं
संगठनों का उपयोग प्रारूप firstname.lastname@gmx[.]com वास्तविक कर्मचारी के नाम के साथ firstname.lastname@gmx[.]com । यह पता लगाने से बचता है, क्योंकि वास्तविक कर्मचारी के व्यक्तिगत मेलबॉक्स से इस तरह के पते को भेद करना अक्सर मुश्किल होता है। जून 2018 में नमूना विश्लेषण के समय, पता उपलब्ध नहीं था।



चित्रा 8. ऑपरेटरों का हार्ड-कोडित पता


पिछले दरवाजे कुछ निश्चित अंतराल पर ऑपरेटरों के पते पर रिपोर्ट भेजते हैं। रिपोर्ट में मैक पता, पूर्ण लॉग फ़ाइल, और यदि कोई हो, सहित अद्वितीय पहचानकर्ता शामिल हैं। फिर यह MISTY1 का उपयोग करके डेटा को एन्क्रिप्ट करता है, जैसा कि आगे 2.3.2.2 खंड में वर्णित है, और एन्क्रिप्टेड सामग्री के साथ एक मान्य पीडीएफ फाइल बनाता है। इस एन्क्रिप्टेड डेटा ब्लॉब से पहले, दस्तावेज़ में jpeg में 1x1 सफेद छवि है, जो दुर्भावनापूर्ण प्रोग्राम में हार्ड-कोडेड है। यह आपको एक वैध पीडीएफ बनाने की अनुमति देता है, जिसे खोलने पर, केवल एक खाली पृष्ठ प्रदर्शित करता है।


अंत में, पिछले दरवाजे पीडीएफ संलग्न करता है और हमलावरों को एक ईमेल भेजता है। नीचे दिया गया आंकड़ा एक पीडीएफ फाइल का एक उदाहरण है जो पिछले दरवाजे द्वारा बनाई गई है।



चित्र 9. डेटा को एक्सफ़िलिएट करने के लिए एक पिछले दरवाजे द्वारा बनाई गई एक पीडीएफ दस्तावेज़ की शुरुआत


आउटबॉक्स में कॉलबैक फ़ंक्शन का उपयोग करके रिपोर्ट भेजी जाती है। इसका अर्थ है कि वैध उपयोगकर्ता संदेशों को भेजने के साथ ही पत्र निकल जाएगा। पिछले दरवाजे उपयोगकर्ता के लिए एक समय पर चोरी डेटा के साथ पत्र नहीं भेज सकते हैं और इसलिए पता लगाने से बचा जाता है। चुपके से धन्यवाद, यह नियंत्रण और नियंत्रण तंत्र जंगली में पता लगाना बहुत मुश्किल है।


2.2.2। दुर्भावनापूर्ण उपयोगकर्ता व्यवहार को छिपाने


चूंकि पिछले दरवाजे काम करता है जब उपयोगकर्ता कंप्यूटर और आउटलुक के साथ काम करता है, तो मैलवेयर दुर्भावनापूर्ण गतिविधि को छिपाने की कोशिश करता है, उदाहरण के लिए, ऑपरेटरों से आने वाले संदेश।


सबसे पहले, एक पिछले दरवाजे हमेशा ऑपरेटरों से भेजे गए या प्राप्त मेल को हटा देता है। जैसा कि नीचे दिए गए आंकड़े में दिखाया गया है, कुछ सेकंड के लिए आप देख सकते हैं कि एक नया संदेश दिखाई दिया है, जो हालांकि, मेलबॉक्स में दिखाई नहीं देता है।



चित्र 10. अपठित संदेश


दूसरे, पिछले दरवाजे CreateWindowsEx को CreateWindowsEx , जैसा कि नीचे दिए गए आंकड़ों में दिखाया गया है। यह NetUIHWND जैसे विंडोज़ के निर्माण को रोकता है जो आउटलुक स्क्रीन के निचले दाएं हिस्से में दिखाई देने वाली सूचनाओं के लिए उपयोग करता है।



चित्र 11. CreateWindowsEx फ़ंक्शन के कैप्चर को कॉन्फ़िगर करना



चित्रा 12. अवरोधन CreateWindowsEx


नीचे दिया गया आंकड़ा NetUIHWND विंडो का एक उदाहरण दिखाता है, जो आमतौर पर एक नया संदेश प्राप्त होने पर डेस्कटॉप पर दिखाई देता है। CreateWindowEx के अवरोधन के परिणामस्वरूप, जब हमलावर पिछले दरवाजे पर एक पत्र भेजते हैं तो एक अधिसूचना प्रदर्शित नहीं होती है।



चित्र 13. नया संदेश अधिसूचना


2.2.3। बल्ले!


इस तथ्य के बावजूद कि द बैट के लिए प्लगइन का पंजीकरण कार्य! अब मौजूद नहीं है, विरासत में मिला कोड है जो द बैट-एपीआई का उपयोग करके आउटलुक के लिए समान कार्य करता है।


जैसा कि निम्नलिखित आकृति में दिखाया गया है, पिछले दरवाजे द बैट के साथ संचार चैनल का उपयोग करता है! उपयोगकर्ता जानकारी प्राप्त करने, पत्र पढ़ने और भेजने के लिए। हालाँकि, अन्य सभी फ़ंक्शन, उदाहरण के लिए, संदेश लॉग करने या कमांड निष्पादित करने के लिए उपयोग किए जाते हैं, आउटलुक के समान हैं।



चित्रा 14. चमगादड़! चैनल


2.3। पिछले दरवाजे


जैसा कि पिछले अनुभाग में दिखाया गया है, मैलवेयर संदेशों को संसाधित और फ़िल्टर कर सकता है। एक ही समय में, यह एक पूरी तरह कार्यात्मक ईमेल-संचालित बैकडोर है जो किसी अन्य तुर्ला घटक के स्वतंत्र रूप से काम कर सकता है। पिछले दरवाजे को एक स्थायी इंटरनेट कनेक्शन की आवश्यकता नहीं है और किसी भी कंप्यूटर पर काम कर सकता है जो बाहरी पते पर संदेश भेजता है। यह कड़ाई से नियंत्रित नेटवर्क में उपयोगी है, उदाहरण के लिए, इंटरनेट ट्रैफ़िक को फ़िल्टर करना। इसके अलावा, यहां तक ​​कि अगर हमलावरों का ईमेल पता निष्क्रिय है, तो वे एक अलग पते से एक कमांड भेजकर नियंत्रण हासिल कर सकते हैं। इस मामले में, पत्र को उपयोगकर्ता से भी छिपाया जाएगा, क्योंकि इसमें पिछले दरवाजे द्वारा व्याख्या किए गए कमांड होंगे। इस प्रकार, एक पिछले दरवाजे एक रूटकिट के रूप में गलती सहिष्णु है जो आने वाले नेटवर्क यातायात की जांच करता है।


2.3.1। पीडीएफ प्रारूप


2018 की शुरुआत में, कई मीडिया आउटलेट्स ने कहा कि टर्ला ऑपरेटर संक्रमित कंप्यूटरों के प्रबंधन के लिए ईमेल अटैचमेंट का उपयोग करते हैं। मीडिया सही था। तुरला आउटलुक के पिछले दरवाजे के विश्लेषण से पता चला कि यह कैसे आदेश भेजता है और व्याख्या करता है।


कमांड को विशेष रूप से निर्मित पीडीएफ अटैचमेंट का उपयोग करके ईमेल किया जाता है। हम आदेशों के साथ एक वास्तविक नमूना पीडीएफ को खोजने में असमर्थ थे, लेकिन ये संभवतः वैध पीडीएफ दस्तावेज हैं, साथ ही साथ एक्सफ़िल्टरेशन के लिए पिछले दरवाजे द्वारा बनाई गई पीडीएफ फाइलें भी हैं।


पीडीएफ दस्तावेजों से, एक पिछले दरवाजे को बहाल कर सकता है जो ऑपरेटर पत्रिकाओं में एक कंटेनर कहते हैं। यह एक विशेष प्रारूप के साथ एक बूँद है जिसमें पिछले दरवाजे के लिए एन्क्रिप्टेड कमांड शामिल हैं। नीचे दिया गया आंकड़ा इस कंटेनर को हटाने की प्रक्रिया दिखाता है। तकनीकी रूप से, एप्लिकेशन को एक वैध पीडीएफ दस्तावेज़ होना आवश्यक नहीं है। केवल आवश्यकता यह है कि इसमें कंटेनर को सही प्रारूप में शामिल किया जाए।



चित्रा 15. पीडीएफ से कमांड कंटेनर को निकालना


कंटेनर में कई अलग-अलग चेक के साथ एक जटिल संरचना होती है। यह संचार त्रुटियों को रोकने के लिए डिज़ाइन किया जा सकता है, लेकिन हम मानते हैं कि संरचना मुख्य रूप से रिवर्स इंजीनियरिंग का मुकाबला करने के लिए बनाई गई थी। कंटेनर की संरचना नीचे की आकृति में दिखाई गई है।



चित्र 16. कमांड कंटेनर संरचना


आरंभीकरण वेक्टर से ठीक पहले, कमांड डिस्क्रिप्टर की एक सूची है। विभिन्न आईडी मान तालिका में प्रस्तुत किए गए हैं:




आईडी डिस्क्रिप्टर 2 और 4 का उपयोग एन्क्रिप्शन और डीकोप्रेशन फ़ंक्शन को निकालने के लिए किया जाता है, जैसा कि निम्न आकृति में दिखाया गया है। हालाँकि, दुर्भावनापूर्ण प्रोग्राम केवल एक एन्क्रिप्शन एल्गोरिथ्म और एक संपीड़न एल्गोरिथम लागू करता है। इस प्रकार, इन क्षेत्रों का एकमात्र उद्देश्य पिछले दरवाजे के विश्लेषण को जटिल करना है।



चित्र 17. अपघटन और डिक्रिप्शन फ़ंक्शंस


टीमें संरचना के अंतिम भाग में हैं। उन्हें MISTY1 का उपयोग करके एन्क्रिप्ट किया गया है और bzip2 के साथ संपीड़ित किया गया है। एक ही पीडीएफ फाइल में कई अलग-अलग कमांड हो सकते हैं, और प्रत्येक में कई तर्क हो सकते हैं।


2.3.2। क्रिप्टोग्राफी


यहां हम उपयोग किए गए एन्क्रिप्शन एल्गोरिदम का वर्णन करते हैं।


2.3.2.1। XOR एन्क्रिप्शन


कंटेनर का हिस्सा (पहले CRC32 के साथ शुरू) XOR के साथ उपयोगकर्ता-परिभाषित फ़ंक्शन द्वारा उत्पन्न बाइट स्ट्रीम के साथ एन्क्रिप्ट किया गया है। यह एक बीज लेता है, जिसे रैंड कहकर दूसरे नंबर पर उत्पन्न करने के लिए srand पास किया जाता है। XOR में डेटा के तर्क के रूप में नीचे दिखाए गए फ़ंक्शन में दूसरे बीज का उपयोग किया जाता है।


 int __usercall F_bytestream_xor@<eax>(unsigned int len@<edx>, int ciphertext@<ecx>, unsigned int seed) { unsigned int v3; // ebx int v4; // esi unsigned int v5; // edi int result; // eax unsigned int v7; // ecx char *v8; // edx unsigned int v9; // esi byte key[512]; // [esp+Ch] [ebp-204h] char *v11; // [esp+20Ch] [ebp-4h] v3 = len; v11 = (char *)ciphertext; srand(seed); v4 = 0; v5 = 0; do { result = rand(); *(_DWORD *)&key[4 * v5++] = result; } while ( v5 < 128 ); v7 = 0; if ( !v3 ) return result; v8 = v11; do { v8[v7] ^= key[v4]; v9 = v4 + 1; result = -(v9 < 512); v4 = result & v9; ++v7; } while ( v7 < v3 ); return result; } 

2.3.2.2। MISTY1


Turla डेवलपर्स अपने बैकडोर में कम सामान्य या संशोधित एन्क्रिप्शन एल्गोरिदम का उपयोग करना पसंद करते हैं:



आउटलुक बैकडोर में, उन्होंने MISTY1 लागू किया, 1995 में मित्सुबिशी इलेक्ट्रिक क्रिप्टोग्राफर्स द्वारा विकसित एक सममित एन्क्रिप्शन एल्गोरिथ्म। इसके निम्नलिखित गुण हैं:


  • सममित है
  • 128-बिट कुंजी है
  • दो precomputed तालिकाओं का उपयोग करता है: s7 (128 बाइट्स) और s9 (2048 बाइट्स)
  • तीन कार्यों का उपयोग करता है: एफएल, एफओ, एफआई
    o FL बाइट लेखन और विस्तारित कुंजी के बीच कुछ XOR संचालन करता है
    o एफओ रिकॉर्ड और विस्तारित कुंजी के बीच XOR संचालन करता है, और FI का उपयोग भी करता है
    o FI s7 और s9 का उपयोग करके नॉनलाइनियर विस्तार करता है
  • 64 बिट्स के ब्लॉक के साथ काम करता है
  • आठ चक्र करता है (चक्र - कॉल एफओ फ़ंक्शन)
  • Feistel सिफर का उपयोग करता है


चित्र 18. MISTY1



चित्रा 19. ब्लॉक एन्क्रिप्शन के लिए आठ चक्र


टर्बो डेवलपर्स ने एल्गोरिथ्म को थोड़ा संशोधित किया:


  • FI फ़ंक्शन में दो XOR ऑपरेशन जोड़े गए जैसा कि नीचे दिए गए चित्र में दिखाया गया है
  • 128-बिट कुंजी दो हार्ड-कोडित 1024-बिट कुंजियों और 2048-बिट आरंभीकरण वेक्टर से उत्पन्न होती है
  • परिवर्तित तालिकाएँ s7 और s9। यह उन सभी उपकरणों के संचालन को बाधित करता है जो क्रिप्टोग्राफ़िक एल्गोरिदम को एस-टेबल मानों के आधार पर पहचानते हैं। संशोधित और मूल एस-टेबल दोनों में समान मूल्य हैं, वे बस फेरबदल किए गए थे


चित्रा 20. एफआई कार्यों की तुलना (बाईं ओर मूल, दाईं ओर टर्ला विकास)


2.3.3। कार्यों


पिछले दरवाजे में कई कार्य हैं, जो फाइलों को एक्सफिलिएट करने से लेकर कमांड निष्पादित करने तक के हैं। विभिन्न कार्यों का विवरण नीचे दी गई तालिका में है।




0x29 फ़ंक्शन के लिए, Turla डेवलपर्स ने एम्पायर PSInject प्रोजेक्ट के कोड की प्रतिलिपि बनाई। यह आपको PowerShell Run को PowerShell Run नामक एक विशेष निष्पादन योग्य फ़ाइल में चलाने की अनुमति देता है, जिसमें powershell.exe को कॉल किए बिना। मुख्य लाभ यह है कि मालवेयर अभी भी PowerShell कमांड को निष्पादित कर सकता है, भले ही powershell.exepowershell.exe फ़ाइल एक समझौता किए गए कंप्यूटर पर लॉक हो।


पिछले दरवाजे का विश्लेषण करने के बाद, हम एक पीडीएफ दस्तावेज़ बनाने में सक्षम थे, जिसे दुर्भावनापूर्ण प्रोग्राम द्वारा सफलतापूर्वक व्याख्या की जा सकती है। आउटलुक के इस पीडीएफ वाले ईमेल को प्राप्त करने के बाद निम्न आंकड़ा मैसेजबॉक्स के निष्पादन और कैलकुलेटर ( calc.exe ) के प्रक्षेपण को दर्शाता है। यह दर्शाता है कि पिछले दरवाजे, संभवतः पीडीएफ अनुलग्नकों में कमांड प्राप्त करने का इरादा है, कार्यात्मक है और इस कस्टम प्रारूप को समझने वाले किसी भी व्यक्ति द्वारा नियंत्रित किया जा सकता है।



चित्र 21. पीडीएफ दस्तावेज़ में निर्दिष्ट आदेशों को निष्पादित करना


2.4। अतिरिक्त कार्य


ईमेल क्लाइंट के लिए प्लग-इन के रूप में लागू पिछले दरवाजे की क्षमताओं के अलावा, मैलवेयर के अन्य कार्य हैं।


2.4.1। वर्चुअल फाइल सिस्टम


दुर्भावनापूर्ण प्रोग्राम किसी भी कॉन्फ़िगरेशन फ़ाइलों का उपयोग नहीं करता है, लेकिन विंडोज रजिस्ट्री HKCU\Software\Microsoft\Windows\CurrentVersion\Settings\ZonePolicy\ में एक छोटी वर्चुअल फ़ाइल प्रणाली का समर्थन करता है। अन्य टर्ला बैकडोर, जैसे कि गेजर , भी विंडोज़ रजिस्ट्री में वर्चुअल फाइल सिस्टम को स्टोर करता है। हम कुछ रजिस्ट्री मान निर्धारित करने में सक्षम थे, जैसा कि निम्नलिखित तालिका में दिखाया गया है।



2.4.2। पत्रिकाओं


जैसा कि पहले उल्लेख किया गया है, कार्यक्रम एक पत्रिका को बचाता है, जिसे विशेष रूप से बनाए गए पीडीएफ दस्तावेज़ में ई-मेल द्वारा ऑपरेटर को नियमित रूप से भेजा जाता है। इसे %appdata%/Microsoft/Windows/scawrdot.db में संग्रहीत किया जाता है और हार्ड-कोडित 512-बाइट XOR कुंजी का उपयोग करके एन्क्रिप्ट किया जाता है। ऑपरेटरों को प्रत्येक छूट के बाद लॉग फ़ाइल को साफ़ किया जाता है। इस प्रकार, फोरेंसिक परीक्षा के दौरान पिछले दरवाजे के सभी पिछले कार्यों को देखना असंभव होगा, केवल अंतिम।


लॉग बहुत जानकारीपूर्ण हैं, वे टर्बो ऑपरेटरों को पिछले दरवाजे की कार्रवाई को ट्रैक करने की अनुमति देते हैं। नीचे दिया गया आंकड़ा डिक्रिप्टेड लॉग का एक उदाहरण दिखाता है।



चित्र 22. लॉग फ़ाइल अस्वीकृत


3. निष्कर्ष


रिपोर्ट से पता चला कि जब वे बैकडोर का विकास करते हैं तो टर्ला डेवलपर्स के पास पर्याप्त विचार हैं। जहां तक ​​हम जानते हैं, तुर्ला एकमात्र साइबर-जासूसी समूह है जो वर्तमान में एक पिछले दरवाजे का उपयोग करता है जो ईमेल के माध्यम से पूरी तरह से प्रबंधित होता है, या पीडीएफ संलग्नक।


तुर्ला बैकडोर, कमांड प्राप्त करने और डेटा को एक्सफ़िलिएट करने के लिए पीड़ित के वास्तविक मेलबॉक्स का उपयोग करने वाला पहला नहीं है। हालाँकि, यह Microsoft Outlook के साथ बातचीत करने के लिए मानक API (MAPI) का उपयोग करके सीखा जाने वाला पहला बैकडोर है। यह उस पिछले संस्करण की तुलना में एक महत्वपूर्ण सुधार है जिसका हमने अध्ययन किया था , जो आउटलुक एक्सप्रेस का उपयोग करता था। इसके विपरीत, नया टर्ला बैकडोर आउटलुक के नवीनतम संस्करणों के साथ भी काम करता है।


, , , , Turla . , Uroburos, .


, Turla, , . , , . , - , .


, PDF-, Turla, , .


ESET Turla, .


GitHub .


4.


4.1. हैश


8A7E2399A61EC025C15D06ECDD9B7B37D6245EC2 — Win32/Turla.N; (GMT) 2013-06-28 14:15:54
F992ABE8A67120667A01B88CD5BF11CA39D491A0 — Win32/Turla.AW; GMT 2014-12-03 20:50:08
CF943895684C6FF8D1E922A76B71A188CFB371D7 — Win32/Turla.R; GMT 2014-12-03 20:44:27
851DFFA6CD611DC70C9A0D5B487FF00BC3853F30 — Win32/Turla.DA; GMT 2016-09-15 08:14:47


4.2.


%appdata%/Microsoft/Windows/scawrdot.db
%appdata%/Microsoft/Windows/flobcsnd.dat
mapid.tlb


4.3.


HKCU\Software\Microsoft\Windows\CurrentVersion\Settings\ZonePolicy\
HKCU\Software\Classes\CLSID{49CBB1C7-97D1-485A-9EC1-A26065633066}
HKCU\Software\Classes\CLSID{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}

Source: https://habr.com/ru/post/hi421399/


All Articles