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

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

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


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

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

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

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

अंजीर। वियतनामी फ़िशिंग दस्तावेज़।

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

अंजीर। वियतनामी और ताइवान के दस्तावेजों का मेटाडेटा।
Win32 / TrojanProxy.Agent.NJKहमारे द्वारा विश्लेषण की गई पहली निष्पादन योग्य फ़ाइल को हमारे उत्पादों द्वारा
Win32 / TrojanProxy.Agent.NJK के रूप में पाया जाता है। यह मैलवेयर विजुअल C ++ में लिखा गया है और यह HTTP प्रोटोकॉल के माध्यम से रिमोट C & C सर्वर के साथ इंटरैक्ट करने में सक्षम है। विश्लेषण किए गए संशोधन में, यह पाया गया कि तीन प्रबंधन सर्वर पते का उपयोग किया जाता है जो एक ही डोमेन पते का उपयोग करते हैं vaxy.vnptnet.info, लेकिन विभिन्न बंदरगाहों (80, 443 और 5050) के कनेक्शन के साथ।
सी एंड सी के साथ काम 15-मिनट की देरी के साथ एक चक्र के माध्यम से आयोजित किया जाता है, जिसके दौरान दुर्भावनापूर्ण कोड ऊपर के तीन बंदरगाहों का उपयोग करके सर्वर से संपर्क करने की कोशिश करता है। दिलचस्प बात यह है कि खतरा रिबूट के बाद अपने अस्तित्व को सुनिश्चित करने के लिए कोई कार्रवाई नहीं करता है, अर्थात, एक समझौता किए गए कंप्यूटर पर, यह केवल तब तक सक्रिय रहेगा जब तक कि ऑपरेशन पूरा या रिबूट नहीं किया जाता है। दुर्भावनापूर्ण फ़ाइल में स्वयं उसके द्वारा उपयोग की जाने वाली पंक्तियों का कोई अवरोध नहीं होता है।

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

अंजीर। दुर्भावनापूर्ण कोड द्वारा दूरस्थ सर्वर पर भेजे गए डेटा का प्रारूप।
अनुरोध के साथ प्रेषित डेटा इस तरह दिखता है।

अंजीर। प्रेषित डेटा के साथ GET अनुरोध का एक उदाहरण।
सर्वर सामान्य अनुरोध के साथ इस अनुरोध का जवाब देगा, मान के साथ एक्सेप्ट फ़ील्ड के अपवाद के साथ "x-wav / y-img" को इसमें जोड़ा गया। दुर्भावनापूर्ण प्रोग्राम सर्वर से प्रतिक्रिया को स्वीकार नहीं करेगा यदि यह फ़ील्ड प्रतिक्रिया हेडर में नहीं है। ध्यान दें कि स्वीकार फ़ील्ड आमतौर पर क्लाइंट अनुरोध हेडर में नियमित रूप से HTTP अनुरोधों में उपयोग की जाती है, लेकिन इस मामले में विपरीत सच है, सर्वर को एक हेडर के साथ जवाब देना चाहिए जिसमें यह फ़ील्ड शामिल है। हमने देखा कि C & C द्वारा भेजी गई कमांड्स का आकार हमेशा 796 बाइट्स होता है, जबकि कमांड डेटा में पहला पूर्णांक मान इसकी पहचानकर्ता (कमांड आईडी) होता है। निम्न आदेश दुर्भावनापूर्ण कोड द्वारा समर्थित हैं।

Agent.NJK कोड में एक अजीब लाइन है "मैं महान दीवार, आंतरिक मंगोलिया में बहुत जाना चाहता हूं" और somnuek.bu / 044253516 प्रॉक्सी सेवा तक पहुंचने के लिए क्रेडेंशियल्स। उसी समय, यह दुर्भावनापूर्ण कोड के विश्लेषण से देखा जा सकता है कि ये। क्रेडेंशियल्स का उपयोग कहीं भी नहीं किया जाता है। Google खोज ने हमें कुछ जानकारी प्रदान की है जो उस व्यक्ति के साथ
सोशल नेटवर्क पर जाती है । हमारे पास इस अभियान से संबंधित कोई डेटा नहीं है।
यह ध्यान दिया जाना चाहिए कि सीपीटी-एनएमसी लाइन, जो स्वयं अभियान (अभियान पहचानकर्ता) की पहचान करती है, बाद में दूरस्थ सर्वर को भेज दी जाती है। CPT का मतलब केंद्रीय पद और दूरसंचार विभाग से है, यह संस्थान
वियतनामी सरकार की एक
शाखा है । आप यह भी देख सकते हैं कि C & C सर्वर URL (vnptnet.info) के लिए शीर्ष-स्तरीय डोमेन वियतनामी पते vnpt.nv से मिलता-जुलता है, जो उसी CPT संस्थान से संबंधित है। सबसे अधिक संभावना है कि इस नाम को घुसपैठ डिटेक्शन सिस्टम (आईडीएस) जैसे सिस्टम के लॉग में डोमेन को मास्क करने के लिए चुना गया था, जो नेटवर्क पर कंप्यूटर या कंप्यूटर से गुजरने वाले ट्रैफ़िक को रिकॉर्ड करते हैं। फ़िशिंग दस्तावेज़, जिसके बारे में हमने शुरुआत में लिखा था और जिसका उपयोग उपयोगकर्ताओं को लुभाने के लिए किया जाता है, जिसमें टेक्स्ट होता है जो दूरसंचार प्रणालियों को संदर्भित करता है। दस्तावेजों में स्वयं विभिन्न ग्राफ और चार्ट होते हैं, जो संभावित पीड़ित का ध्यान खींचने और यह साबित करने के लिए कि दस्तावेज़ वास्तविक है, जितना संभव हो सके। ऐसा लगता है कि यह हमला वियतनामी सीपीटी संस्थान के उद्देश्य से किया गया था और वियतनामी अधिकारियों
ने इस साल अपने बुनियादी ढांचे पर हमले
की सूचना दी थी।
हमने देखा कि संचालक संक्रमित प्रणाली के साथ कैसे संपर्क करता है। निम्नलिखित ऐसी बातचीत के कुछ सबूत (लॉग) है।

अंजीर। ऑपरेटर द्वारा एजेंट को भेजे गए कमांड .NJK बॉट।
ये ऑपरेशन टोही के समान हैं, अर्थात, वे एक समझौता प्रणाली के बारे में डेटा एकत्र करने से संबंधित हैं: netsta (t) का उपयोग वर्तमान नेटवर्क कनेक्शन देखने के लिए किया जाता है, फिर सिस्टम में तार्किक डिस्क के बारे में जानकारी प्राप्त की जाती है, पर्यावरण चर देखे जाते हैं, कुछ फ़ाइलों के स्थान के बारे में जानकारी प्राप्त होती है। । दूसरे आदेश में, netstat के बजाय, netsta शब्द में एक टाइपो इंगित करता है कि इन आदेशों को स्वचालित प्रणाली द्वारा बॉट में नहीं भेजा जाता है, लेकिन एक भौतिक ऑपरेटर उनके पीछे है। हम इस
हमले को सिंडीकासेक द्वारा निर्देशित हमले के मामले में देख
चुके हैं ।

अंजीर। बॉट स्पष्ट में वर्तमान नेटवर्क कनेक्शन पर डेटा प्रसारित करता है।

अंजीर। बॉट के साथ सी एंड सी के सत्र को बंद करना।
बिंदु 2 के तहत अंतिम स्क्रीनशॉट में, यह देखा जा सकता है कि सर्वर RST (रीसेट) कमांड भेजकर डिस्कनेक्ट करता है। रीसेट कमांड भेजने के बाद, सर्वर व्यवहार बदल जाता है और जैसे ही ग्राहक इसे प्राप्त करता है, यह अब तीन बंदरगाहों में से किसी से कनेक्ट करने में सक्षम नहीं होगा।

अंजीर। सर्वर क्लाइंट से कनेक्शन से इनकार करता है अगर इससे पहले कि उसे टीसीपी कनेक्शन को रीसेट करने के लिए एक कमांड भेजा गया था।
दुर्भावनापूर्ण कोड में रिबूट के बाद उत्तरजीविता तंत्र की अनुपस्थिति इस तरह के साइबर हमले की दिशा के बारे में हमारी परिकल्पना को मजबूत करती है, क्योंकि हमलावर एक समझौता किए गए सिस्टम में यथासंभव कम निशान छोड़ने में रुचि रखते हैं। इस तरह के दुर्भावनापूर्ण कोड का उपयोग करते समय एक सामान्य अभ्यास संगठन में संभावित पीड़ितों का पता लगाना, फ़िशिंग ईमेल भेजना, बॉट से प्रतिक्रिया की प्रतीक्षा करना और अंततः इसके माध्यम से समझौता किए गए कंप्यूटरों की जांच करना होगा। हमारे मामले में, बॉट अन्य निष्पादन योग्य फ़ाइलों को सिस्टम (3004) और उनके बाद की स्थापना (3011) को डाउनलोड करने के लिए आदेशों का समर्थन करता है, इसलिए इसका उपयोग कई अन्य कार्यों को करने के लिए किया जा सकता है।
टर्मिनेटर आरएटी (उर्फ फेकमेट)यह
Win32 / Protux.NAR जैसे हमारे एंटीवायरस उत्पादों द्वारा पता लगाया गया है। इस मैलवेयर के उस हिस्से के विश्लेषण के समय जो एन्क्रिप्शन को लागू करता है और C & C के साथ काम करने के लिए ज़िम्मेदार है, हमने पाया कि इस खतरे का पहले टर्मिनेटर RAT और FAKER RAT के साथ
malware.lu और
ट्रेंड माइक्रो ने विश्लेषण किया था। उसी समय, हमने जिन नमूनों का विश्लेषण किया, वे उन लोगों से अलग थे जिनके साथ ये कंपनियां निपटीं। यह भी ध्यान दिया जाना चाहिए कि फायरएई ने इस मैलवेयर के संशोधनों में
से एक के अपने
विश्लेषण को भी जारी किया।
Agent.NJK की तुलना में, यह खतरा अधिक जटिल है। सबसे पहले,
XTEA एल्गोरिथ्म के थोड़ा संशोधित संस्करण का उपयोग करके कॉन्फ़िगरेशन डेटा और स्ट्रिंग्स को एन्क्रिप्ट किया
गया है । XTEA 128-बिट कुंजी का उपयोग करता है और 64 बिट्स के ब्लॉक के साथ काम करता है।

अंजीर। XTEA जैसा कि यह टर्मिनेटर RAT के अध्ययन संशोधन में लागू किया गया है।
एक्सटीईए कार्यान्वयन बहुत अच्छा है क्योंकि यह सबसे खराब ब्लॉक एन्क्रिप्शन मोड का उपयोग करता है, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। शून्य के 64-बिट ब्लॉक हमेशा एक ही एन्क्रिप्ट किए गए पाठ में एन्क्रिप्ट किए जाते हैं।

अंजीर। एन्क्रिप्टेड पाठ का एक उदाहरण जो 0x404198 से शुरू होता है और इसमें एक स्पष्ट टेम्पलेट होता है।

अंजीर। एक ही पते पर अस्वीकृत पाठ।

अंजीर। दुर्भावनापूर्ण कोड के कॉन्फ़िगरेशन का हिस्सा एन्क्रिप्ट किया गया है।
(1) XTEA कुंजी, (2) दो पोर्ट नंबर (9000, 9090) और कुछ अन्य डेटा, (3) अलग-अलग लाइनों को मध्यवर्ती शून्य द्वारा बाधित किया जाता है।

अंजीर। डिक्रिप्ट कॉन्फ़िगरेशन डेटा।
(1) वह निर्देशिका जिसमें मैलवेयर स्थापित किया गया था (% APPDATA% में स्थित है), (2) उन फ़ाइलों के नाम जो स्थापित घटकों को दिए गए हैं, (3) C & C डोमेन, (4) संसाधन अनुभाग में निर्देशिका का नाम जहां पेलोड संग्रहीत है। (5) एक रजिस्ट्री कुंजी जिसे रिबूट के बाद शुरू करने के लिए उपयोग किया जाता है (अस्तित्व सुनिश्चित करता है)।
Protux.NAR शुरू करने के बाद गतिशील रूप से अपनी फ़ाइल के बॉडी में फ़ंक्शन एड्रेस वैरिएबल को भरता है (उन फ़ंक्शन के पते जो आयात तालिका में घोषित नहीं किए गए थे)। इसके लिए,
GetProcAddress फ़ंक्शन के एक
कस्टम कार्यान्वयन का उपयोग किया जाता है, जैसा कि
ट्रोजनप्रॉक्सी के साथ होता है। फ़ंक्शन के पते प्राप्त करने के लिए उपयोग किए जाने वाले स्ट्रिंग्स को एन्क्रिप्ट नहीं किया जाता है और स्पष्ट में दुर्भावनापूर्ण कोड के शरीर में संग्रहीत किया जाता है।
अगला, Win32 / Protux.NAR सिस्टम वैल्यू में वैरिएबल के मान को बदलता है जो स्टार्टअप फ़ोल्डर (स्टार्टअप को व्यवस्थित करने के लिए "स्टार्टअप निर्देशिका" का उपयोग करता है) को नए मान "% APP_DATA% \ 2019" में, पुराने फ़ाइलों को पुराने पथ में नए स्थान पर कॉपी करता है; और उसके शरीर को एक ही नए स्थान ("% APP_DATA% \ 2019" के नाम के साथ "मूवस्टो .exe" के तहत मूवमेंट मूवमेंट के साथ
MoveFileEx के माध्यम से प्रदान करता है। MOVEFILE_DELAY_UNTIL_REBOOT। इसके अलावा, वह अपने शरीर से एक और पीई-फ़ाइल लेता है और इसे "Winlogon.ini" नाम से एक निर्देशिका में कॉपी करता है, इसके देरी से नाम बदलने के लिए MOVEFILE_DELAY_UNTIL_REBOOT के माध्यम से फाइल "winloglog.exe" (प्रॉक्सी सुरंग के आयोजन के लिए एक घटक के रूप में प्रयुक्त) की स्थापना करता है।

अंजीर। एक कोड निष्पादन थ्रेड जो उपरोक्त ऑपरेशन को प्रदर्शित करता है।
जैसा कि आप देख सकते हैं, दुर्भावनापूर्ण कोड MoveFileEx फ़ंक्शन के MOVEFILE_DELAY_UNTIL_REBOOT ध्वज पर बहुत निर्भर करता है। इस पद्धति का उपयोग निष्पादन योग्य फ़ाइलों को स्थानांतरित करने के लिए एक ओएस तंत्र के रूप में किया जाता है जो उस समय फ़ंक्शन कहलाते थे। यह विधि दुर्भावनापूर्ण कोड का पता लगाने के लिए एक एंटी-वायरस उत्पाद या अन्य तकनीकों के अनुमान के सक्रियण को रोकने में भी मदद करती है।
बाद के लॉन्च के दौरान सुरक्षा उत्पादों द्वारा उसकी पहचान से बचने के लिए, वह अपनी फ़ाइल को अस्थायी फ़ाइलों (GetTempPath () + "~ 7ti2") के साथ एक निर्देशिका में कॉपी करने की कोशिश करेगा और फ़ाइल के अंत में कुछ यादृच्छिक बाइट्स लिखेगा। इन परिचालनों के बाद, फ़ाइल
MoveFileEx फ़ंक्शन और झंडे का उपयोग करके अधिलेखित हो
जाती है और MOVEFILE_DELAY_UNTIL_REBOOT, MOVEFILE_REPLACE_EXISTING झंडे।

अंजीर। ऊपर वर्णित दुर्भावनापूर्ण कोड संचालन का अधिक दृश्य प्रतिनिधित्व।
रिबूट के बाद, जब विंडोज स्टार्टअप निर्देशिका से प्रत्येक निष्पादन योग्य फ़ाइल को लॉन्च करता है, तो दुर्भावनापूर्ण प्रोग्राम svchost .exe (मुख्य घटक) और winlogon.exe (प्रॉक्सी सुरंग घटक) की दो फाइलें निष्पादित की जाएंगी। मुख्य घटक कॉन्फ़िगरेशन और लाइनों को डिक्रिप्ट करता है, और एक सहायक स्ट्रीम भी लॉन्च करता है, जो विभिन्न कार्यों को करता है जिसके आधार पर मूल फ़ाइल से लॉन्च किया गया था।
इसके बाद, दुर्भावनापूर्ण कोड एक मेमोरी ब्लॉक आवंटित करता है, आवंटित मेमोरी ब्लॉक में ACCELORATOR नाम के तहत निर्देशिका (संसाधन) में पहचानकर्ता 0x8A के साथ संसाधन अनुभाग के तत्व को कॉपी करता है, और कुंजी 0x32 के साथ बाइट XOR के माध्यम से इसे डिक्रिप्ट करता है। ध्यान दें कि निर्दिष्ट संसाधन निर्देशिका का नाम ACCELORATOR है, ACCELERATOR नहीं। यह डिक्रिप्टेड डेटा एक निष्पादन योग्य कोड है जिसे अपनी प्रारंभिक स्थिति (स्थिति-स्वतंत्र कोड) की परवाह किए बिना निष्पादित किया जा सकता है। इस मेमोरी ब्लॉक पर सीधे नियंत्रण स्थानांतरित करने से पहले, दुर्भावनापूर्ण कोड कंप्यूटर का वर्तमान आईपी पता प्राप्त करता है, इसे XOR के माध्यम से एन्क्रिप्ट करता है और कोड में निर्दिष्ट ऑफसेट पर पोर्ट संख्या 8000 के साथ इसे कॉपी करता है। XOR एन्क्रिप्शन संचालन उसी 0x32 स्थिर कुंजी का उपयोग करके किया जाता है।

अंजीर। संसाधन अनुभाग से कोड लोड करने और निष्पादित करने की प्रक्रिया।
दुर्भावनापूर्ण कोड जो मेमोरी ब्लॉक में कॉपी किया गया था, रजिस्टरों के गैर-मानक उपयोग करता है; यह संभवतः इंगित करता है कि यह कोडांतरक में लिखा गया था। उदाहरण के लिए, आयातित डायनामिक फ़ंक्शंस के पतों को भरने के लिए, इसके स्वयं के कार्यान्वयन
GetProcAddress का उपयोग प्रत्येक फ़ंक्शन नाम के लिए ROR हैश की पूर्वनिर्धारित तालिका के साथ
किया जाता है । इस विधि का उपयोग शायद ही कभी उच्च प्रोग्रामिंग भाषा में संकलित कार्यक्रमों के लिए किया जाता है। यह
लिंक कोडांतरक का उपयोग करने के बारे में अधिक जानकारी प्रदान करता है।
अगली कार्रवाई जो Protux.NAR करती है, वह "sxX5 {c4" नाम से एक ईवेंट बनाने के लिए है, जो इसे इसकी कई प्रतियों की गतिविधि को रोकने के लिए दुर्भावनापूर्ण कोड लॉन्च करने की अनुमति देता है। C & C सर्वर के प्रबंधन के साथ काम का संगठन तीन डोमेन के माध्यम से आयोजित किया जाता है, जो एक चक्र में 30-सेकंड के टाइमआउट के साथ पूछताछ की जाती है। दो डोमेन कॉन्फ़िगरेशन डेटा में स्थित हैं जो XTEA का उपयोग करके एन्क्रिप्ट किया गया है, जैसा कि ऊपर दिए गए स्क्रीनशॉट में दिखाया गया है। तीसरा पता एक जोड़ी है: समझौता किए गए सिस्टम का आईपी और पोर्ट 8000 (प्रॉक्सी टनलिंग ऑपरेशन के लिए उपयोग किया जाता है)। जैसे ही C & C के साथ संबंध स्थापित होता है, दुर्भावनापूर्ण कोड 1024 बाइट्स के पैकेट में समझौता किए गए सिस्टम के बारे में जानकारी भेजता है। ऐसे पैकेज का प्रारूप नीचे प्रस्तुत किया गया है।

अंजीर।
समझौता कंप्यूटर के बारे में रिमोट सर्वर को बॉट द्वारा भेजा गया डेटा।पैकेज में मुख्य फ़ील्ड उपयोगकर्ता नाम और कंप्यूटर नाम हैं, जिनमें से प्रत्येक का आकार 128 बाइट्स है। एक और दिलचस्प क्षेत्र वर्तमान कोडपेज (कोडपेज) है जो सिस्टम में उपयोग किया जाता है, आकार में 4 बाइट्स। पैकेज में तीन और पूर्णांक फ़ील्ड शामिल हैं: उनमें से दो मान 0x130, 0 (1) लेते हैं, और दूसरा मान 0x30005 (2) लेता है। ये मूल्य FireEye द्वारा विश्लेषण किए गए मैलवेयर नमूनों से समान क्षेत्रों के मूल्यों के साथ मेल खाते हैं। फ़ील्ड 3 में एक स्ट्रिंग है और संभवतः एक अभियान आईडी है।सी और सी के साथ बातचीत को एक सरल योजना का उपयोग करके एन्क्रिप्ट किया गया है: XOR कुंजी के बाइट्स स्ट्रीम से प्रत्येक बाइट पर लागू होते हैं, और फिर तीन पदों द्वारा चक्रीय दाएं शिफ्ट ऑपरेशन (आरओआर) लागू होते हैं। कुंजी स्थिर है और "YHCRA" जैसा दिखता है। एल्गोरिथ्म नीचे प्रस्तुत किया गया है।
अंजीर।
टर्मिनेटर आरएटी में उपयोग किए जाने वाले प्रबंधन सर्वर के साथ काम करते समय एन्क्रिप्शन।सर्वर प्रतिसाद का प्रतिनिधित्व करने वाले पैकेट में पहले चार बाइट क्षेत्र में कमांड पहचानकर्ता होता है। दुर्भावनापूर्ण कोड निम्नलिखित आदेशों का उपयोग करता है।
ट्रेंड माइक्रो से हमारे सहयोगियों ने हमले के तथ्य को ठीक करने में कामयाब रहे और 0x211 कमांड का उपयोग करके प्रबंधन सर्वर को बॉट को कौन से सहायक संचालन भेजता है। यह कमांड लाइन, फाइल मैनेजर, प्रोसेस मैनेजर, रजिस्ट्री एडिटर, स्क्रीनशॉट कैप्चर मॉड्यूल, पासवर्ड चोरी मॉड्यूल और फाइल अपलोड मॉड्यूल का उपयोग करके ऑपरेशन करने के बारे में है। जैसा कि आप देख सकते हैं, प्रदर्शन की गई क्रियाएं बहुत व्यापक हैं।हमने इस दुर्भावनापूर्ण कोड में निम्नलिखित C & C डोमेन का पता लगाया है।
जैसा कि आप ऊपर दी गई तालिका में देख सकते हैं, डोमेन (1) में अंत में एक स्थान होता है, जिसका अर्थ है कि DNS सेवा ऐसे डोमेन को अपने संबंधित आईपी पते में अनुवाद नहीं कर पाएगी। डोमेन (2), जैसा कि हमने ऊपर उल्लेख किया था, gethostname और gethostbyname फ़ंक्शन का उपयोग करके प्राप्त किया गया था । डोमेन 25u.com और 4dq.com को संयुक्त राज्य अमेरिका में स्थित changeip.com डायनेमिक DNS सेवा के माध्यम से प्रबंधित किया जाता है। पता 123.51.208.142 ताइवान का है।नीचे दी गई तालिका एंटी-वायरस प्रयोगशालाओं द्वारा उल्लिखित दुर्भावनापूर्ण कार्यक्रम के अध्ययन किए गए संशोधनों के बीच अंतर को दर्शाती है।
इसी समय, संशोधनों के बीच समानताएं हैं जिनका विश्लेषण उपरोक्त एंटी-वायरस कंपनियों द्वारा किया गया था।- समान ट्रैफ़िक एन्क्रिप्शन एल्गोरिथ्म ("ARCHY" [:: - 1] xor / ror3)।
- , (1024- ).
- C&C (0x211 .).
- C&C DNS.
यह कहा जा सकता है कि टर्मिनेटर आरएटी में दुर्भावनापूर्ण कोड के कार्यान्वयन में एक सुसंगत डिजाइन का अभाव है। जाहिर है, हमलावरों ने अपने लक्ष्यों को प्राप्त करने या संबंधित हमलों में उनका उपयोग करने के लिए इसे कई बार बदल दिया। कई एन्क्रिप्शन तंत्र की उपस्थिति और फ़ंक्शन पतों को लोड करने के दो तरीके स्पष्ट रूप से इस धारणा को सही ठहराते हैं। इसके अलावा, दुर्भावनापूर्ण कोड C & C को प्रेषित जानकारी के लिए एन्क्रिप्शन का उपयोग करता है, लेकिन साथ ही उन्हें स्थिति-स्वतंत्र कोड में स्पष्ट पाठ में संग्रहीत करता है। यह चुने हुए दृष्टिकोण की शुद्धता को इंगित नहीं करता है। अंत में, कुछ फ़ंक्शन शर्मनाक तरीके से सहायक सुविधाओं को जोड़कर तय किए जाते हैं, जैसे एन्क्रिप्शन / डिक्रिप्शन, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।
अंजीर।
टर्मिनेटर आरएटी में एन्क्रिप्शन फ़ंक्शन।चर xtea_flag (1) का उपयोग यह निर्धारित करने के लिए किया जाता है कि फ़ंक्शन किस उद्देश्य से खुद को कहा जाता है: XTEA एन्क्रिप्शन (2) या XOR के माध्यम से एक निश्चित बाइट कुंजी (3) के साथ एन्क्रिप्शन करने के लिए। जाहिर है, इस एल्गोरिथ्म को लागू करने वाले कोड टुकड़ों में से एक बाद में बनाया गया था।एक ही परिवार के दुर्भावनापूर्ण कोड के कई विश्लेषण करना वास्तव में उपयोगी है, क्योंकि हम विभिन्न संशोधनों और उन अभियानों में परिवर्तन देख सकते हैं, जिनका वे उपयोग करते थे। टर्मिनेटर आरएआर के मामले में, यह देखा जा सकता है कि विभिन्न हमलों में, दुर्भावनापूर्ण कोड के घटकों और बुनियादी ढांचे के घटकों को बदल दिया गया है। XTEA कुंजी, नेटवर्क पैकेट हेडर जैसे घटक, निष्पादन योग्य फ़ाइल का नाम जो प्रॉक्सी सुरंग कार्यान्वयन के लिए जिम्मेदार है, को बदल दिया गया है। बुनियादी ढांचे के दृष्टिकोण से, DDNS प्रदाता और C & C IP पते बदल दिए गए हैं।अब हम प्रॉक्सी सुरंग घटक पर अधिक विस्तार से ध्यान देंगे, जिसे FireEye पहले ही sss.exe के रूप में विस्तार से वर्णन कर चुका है। यह उन मामलों में उपयोग किया जाता है जहां नेटवर्क पर दुर्भावनापूर्ण कोड होता है, जो आउटगोइंग कनेक्शन को सर्वर के साथ सीधे स्थापित करने की अनुमति नहीं देता है (यानी, नेटवर्क पर प्रॉक्सी का उपयोग किया जाता है)। इस स्थिति में, मॉड्यूल पोर्ट 8000 को सुरक्षित रखता है और इसके माध्यम से कनेक्शन अग्रेषित करेगा जो कंप्यूटर के लिए कॉन्फ़िगर किए गए वैध प्रॉक्सी का उपयोग करते हैं। इस प्रॉक्सी के माध्यम से C & C से कनेक्ट करने का कार्य करने के लिए, HTTP प्रोटोकॉल के कनेक्ट विधि का उपयोग किया जाता है।जिस संशोधन में हम जाँच कर रहे हैं, इस प्रॉक्सी सुरंग मॉड्यूल की फ़ाइल को winlogon.exe कहा जाता है। हमें हार्ड-वायर्ड पथ% TEMP% \ ~ DF3bbs.tmp पर इस घटक द्वारा छोड़ी गई एन्क्रिप्टेड लॉग फ़ाइल भी मिली। नीचे दिखाए गए अनुसार कुंजी 0xAB के साथ XOR का उपयोग करके फ़ाइल को डिक्रिप्ट किया जा सकता है।
अंजीर।
प्रॉक्सी सुरंग घटक का लॉग डिक्रिप्शन फ़ंक्शन।इस मॉड्यूल की कई प्रतियों को मेमोरी में चलने से रोकने के लिए, यह एक इवेंट ऑब्जेक्ट का उपयोग करता है, जिसके नाम में कोड 0x13 के साथ एक अनपेक्षित वर्ण है। टर्मिनेटर आरएटी के लिए इस तरह के एक घटक को जोड़ने से एक्सफ़िलिएशन तंत्र के क्षेत्र में इस खतरे की संभावनाओं का विस्तार होता है और चूंकि यह वास्तव में आरएटी से स्वतंत्र एक घटक है, इसलिए इसे दुर्भावनापूर्ण कोड के एक और संशोधन में आसानी से पुन: उपयोग किया जा सकता है। यह देखा जा सकता है कि इस घटक को तुरंत दुर्भावनापूर्ण रूप से पता लगाना आसान नहीं है क्योंकि यह स्पष्ट दुर्भावनापूर्ण कार्य नहीं करता है। इसके अलावा, यह तथ्य कि दुर्भावनापूर्ण कोड का पेलोड स्थिति-स्वतंत्र कोड में छिपा हुआ है, स्थैतिक आरएटी विश्लेषण को काफी समस्याग्रस्त बनाता है।निष्कर्षमैलवेयर फ़ाइलों के विश्लेषण की प्रक्रिया में, यह स्पष्ट हो गया कि उनमें से कोई भी माल कोड के विश्लेषण में हस्तक्षेप करने के लिए पैक नहीं किया गया था। हमने एक भी ऐसा कारनामा नहीं देखा जो हमलावरों को अपने लक्ष्यों को सर्वोत्तम तरीके से हासिल करने में मदद कर सके। इसके अलावा, दुर्भावनापूर्ण कोड खुद को सबसे अच्छे तरीके से नहीं लिखा जाता है, जो खुद हमलावरों के प्रशिक्षण के एक बहुत ही पेशेवर स्तर का संकेत नहीं देता है। कमियों की सूची को जारी रखा जा सकता है: खराब तरीके से कार्यान्वित क्रिप्टोग्राफी एल्गोरिदम, जब वे ऑपरेटर द्वारा दर्ज किए जाते हैं, तो सी एंड सी डोमेन के कॉन्फ़िगरेशन में त्रुटियां। ऐसा लगता है कि इस तरह के हमले के ग्राहकों ने हमले की संगठनात्मक जरूरतों के लिए बहुत कम बजट आवंटित किया।Win32 / TrojanDropper.Small.NNK58e1dfa7ace03a408d2b20c1fab6e127acbdc71f492366622cd520648448ed73f58a0ea8958c5bf88aa9cfcefe457393f0a96bba9f05f301ba6a15b65d5b64aWin32 / TrojanProxy.Agent.NJK54c5517541187165fd9720dfe8cff67498d912d189d649cc652d8b113bae8802Win32 / Protux.NAR (टर्मिनेटर RAT)425a919cb5803ce8fabb316f5e1be611f88f5c3813fffd2b40f2369eb7074da9Win32 / Protux.NAR (टर्मिनेटर RAT) सुरंग प्रॉक्सी के साथa6cc9fbcb3d806fefb4d0f2f6d1c04b81316593dfe926b4477ca841ac17354e2