ज्यादातर एशिया पर केंद्रित, यह नया साइबर जासूसी समूह गैर-दस्तावेज उपकरणों का उपयोग करता है, जिसमें पीएनजी फाइलों से स्टेग्नोग्राफिक रूप से पावरशेल पेलोड निकालना शामिल है।
ईएसईटी के शोधकर्ताओं ने हाल ही में लक्षित हमलों का पता लगाया है जो विभिन्न हाई-प्रोफाइल कंपनियों और स्थानीय सरकारों के खिलाफ ज्यादातर एशिया में अनिर्दिष्ट उपकरणों का इस्तेमाल करते हैं। ये हमले पहले अज्ञात जासूसी समूह द्वारा किए गए थे जिसे हमने वोरोक नाम दिया है और जो कम से कम 2020 से सक्रिय है। वोरोक के टूलसेट में एक सी ++ लोडर सीएलआरलोड, एक पावरशेल बैकडोर पॉवहार्टबीट, और एक सी # लोडर पीएनजीलोड शामिल है जो छिपे हुए दुर्भावनापूर्ण को निकालने के लिए स्टेग्नोग्राफ़ी का उपयोग करता है। पीएनजी फाइलों से पेलोड।
वर्कोक कौन है?
प्रॉक्सीशेल के दौरान (CVE-2021-34523) 2021 की शुरुआत में भेद्यता प्रकटीकरण, हमने देखा विभिन्न एपीटी समूहों से गतिविधि. एक प्रदर्शित विशेषताओं के साथ आम है TA428:
- गतिविधि समय
- लक्षित कार्यक्षेत्र
- शैडोपैड का उपयोग
बाकी टूलसेट बहुत अलग है: उदाहरण के लिए, TA428 ने भाग लिया सक्षम डेस्कटॉप समझौता 2020 में। हम मानते हैं कि लिंक इतने मजबूत नहीं हैं कि वोरोक को TA428 के समान समूह माना जा सके, लेकिन दोनों समूह उपकरण साझा कर सकते हैं और उनके समान हित हो सकते हैं। हमने एक क्लस्टर बनाने का फैसला किया और इसे वोरोक नाम दिया। समूह द्वारा उपयोग किए जाने वाले लोडर में म्यूटेक्स के बाद नाम चुना गया था। फिर उसी उपकरण के वेरिएंट के साथ आगे की गतिविधि को इस समूह से जोड़ा गया। ESET के टेलीमेट्री के अनुसार, Worok 2020 के अंत से सक्रिय है और इस लेखन के रूप में सक्रिय है।
2020 के अंत में, Worok कई देशों में सरकारों और कंपनियों को लक्षित कर रहा था, विशेष रूप से:
- पूर्वी एशिया में एक दूरसंचार कंपनी
- मध्य एशिया में एक बैंक
- दक्षिण पूर्व एशिया में एक समुद्री उद्योग कंपनी
- मध्य पूर्व में एक सरकारी संस्था
- दक्षिणी अफ्रीका में एक निजी कंपनी
2021-05 से 2022-01 तक देखे गए कार्यों में एक महत्वपूर्ण विराम था, लेकिन 2022-02 में वोरोक गतिविधि वापस आ गई, लक्ष्य:
- मध्य एशिया में एक ऊर्जा कंपनी
- दक्षिण पूर्व एशिया में एक सार्वजनिक क्षेत्र की इकाई
चित्र 1 लक्षित क्षेत्रों और कार्यक्षेत्रों का एक दृश्य हीटमैप प्रस्तुत करता है।
लक्ष्यों की प्रोफाइल और इन पीड़ितों के खिलाफ तैनात किए गए टूल को ध्यान में रखते हुए, हमें लगता है कि वोरोक का मुख्य उद्देश्य जानकारी चोरी करना है।
तकनीकी विश्लेषण
जबकि अधिकांश प्रारंभिक पहुंच अज्ञात हैं, कुछ मामलों में 2021 और 2022 के माध्यम से हमने प्रॉक्सीशेल कमजोरियों के खिलाफ इस्तेमाल किए गए शोषण को देखा है। ऐसे मामलों में, पीड़ितों के नेटवर्क में दृढ़ता प्रदान करने के लिए, इन कमजोरियों का फायदा उठाने के बाद आमतौर पर वेबशेल अपलोड किए गए हैं। फिर ऑपरेटरों ने और क्षमताओं को हासिल करने के लिए विभिन्न प्रत्यारोपणों का इस्तेमाल किया।
एक बार पहुंच प्राप्त हो जाने के बाद, ऑपरेटरों ने टोही के लिए कई, सार्वजनिक रूप से उपलब्ध उपकरण तैनात किए, जिनमें शामिल हैं Mimikatz, केंचुआ, रेजॉर्ज, तथा एनबीटीस्कैन, और फिर उनके कस्टम इम्प्लांट्स को तैनात किया: एक प्रथम-चरण लोडर, उसके बाद दूसरा चरण .NET लोडर (PNGLoad)। दुर्भाग्य से, हम किसी भी अंतिम पेलोड को पुनः प्राप्त करने में सक्षम नहीं हैं। 2021 में, पहला चरण लोडर एक CLR असेंबली (CLRLoad) था, जबकि 2022 में इसे ज्यादातर मामलों में, एक पूर्ण विशेषताओं वाले PowerShell बैकडोर (PowHeartBeat) से बदल दिया गया है - दोनों निष्पादन श्रृंखलाओं को चित्र 2 में दर्शाया गया है। ये तीन निम्नलिखित उपखंडों में उपकरणों का विस्तार से वर्णन किया गया है।
सीएलआर लोड: सीएलआर असेंबली लोडर
CLRLoad एक सामान्य विंडोज पीई है जिसे हमने 32- और 64-बिट दोनों संस्करणों में देखा है। यह C++ में लिखा गया एक लोडर है जो अगले चरण (PNGLoad) को लोड करता है, जो कि a . होना चाहिए सामान्य भाषा रनटाइम (सीएलआर) असेंबली डीएलएल फ़ाइल। उस कोड को एक वैध निर्देशिका में डिस्क पर स्थित फ़ाइल से लोड किया जाता है, संभवतः पीड़ितों या घटना उत्तरदाताओं को यह सोचने के लिए गुमराह करने के लिए कि यह वैध सॉफ़्टवेयर है।
कुछ CLRLoad नमूने फ़ाइल के पूर्ण पथ को डिकोड करके शुरू करते हैं जिसकी सामग्री वे अगले चरण के रूप में लोड करेंगे। ये फ़ाइल पथ एकल-बाइट XOR के साथ एन्कोड किए गए हैं, प्रत्येक नमूने में एक अलग कुंजी के साथ। डिकोडेड या क्लियरटेक्स्ट, ये फ़ाइल पथ पूर्ण हैं, जिनमें निम्नलिखित हैं जिनका हमने सामना किया है:
- सी:प्रोग्राम फ़ाइलेंVMwareVMware ToolsVMware VGAuthxsec_1_5.dll
- सी: प्रोग्राम फ़ाइलें अल्ट्रा व्यूर्म्सvbvm80.dll
- सी: प्रोग्राम फ़ाइलेंइंटरनेट एक्सप्लोररजेएसप्रोफाइल.dll
- सी: प्रोग्राम फ़ाइलेंWinRarRarExtMgt.dll
- सी:प्रोग्राम फ़ाइलें (x86)Foxit SoftwareFoxit Readerlucenelib.dll
इसके बाद, एक म्यूटेक्स बनाया जाता है और हमने प्रत्येक नमूने में एक अलग नाम देखा है। लोडर इस म्यूटेक्स की जांच करता है; यदि पाया जाता है, तो यह बाहर निकल जाता है, क्योंकि लोडर पहले से चल रहा है। नमूनों में से एक में, mutex Wo0r0KGWhYGO का सामना करना पड़ा, जिसने समूह को वोरोक का नाम दिया।
CLRLoad तब संभावित रूप से डिकोड किए गए फ़ाइल पथ से CLR असेंबली लोड करता है। अप्रबंधित कोड के रूप में, CLRLoad इसे प्राप्त करता है CorBindToRuntimeEx विंडोज एपीआई 32-बिट वेरिएंट में कॉल करता है, या सीएलआरक्रिएटइंस्टेंस 64-बिट वेरिएंट में कॉल।
पॉवहार्टबीट: पावरशेल पिछले दरवाजे
पॉवहार्टबीट पावरशेल में लिखा गया एक पूर्ण विशेषताओं वाला पिछला दरवाजा है, जिसे संपीड़न, एन्कोडिंग और एन्क्रिप्शन जैसी विभिन्न तकनीकों का उपयोग करके अस्पष्ट किया गया है। ईएसईटी टेलीमेट्री के आधार पर, हम मानते हैं कि पॉवहार्टबीट ने सीएलआरलोड को हाल ही के वोरोक अभियानों में बदल दिया है क्योंकि पीएनजीलोड को लॉन्च करने के लिए टूल का इस्तेमाल किया गया था।
पिछले दरवाजे के कोड की पहली परत में बेस 64-एन्कोडेड पावरशेल कोड के कई भाग होते हैं। एक बार पेलोड के पुनर्निर्माण के बाद, इसे निष्पादित किया जाता है आईईएक्स. एक बार डिकोड हो जाने के बाद, अस्पष्ट कोड की एक और परत निष्पादित होती है, जिसे हम चित्र 3 में देख सकते हैं।
पिछले दरवाजे की दूसरी परत पहले बेस 64 अपने कोड की अगली परत को डीकोड करती है, जिसे बाद में डिक्रिप्ट किया जाता है ट्रिपल डेस (सीबीसी मोड)। डिक्रिप्शन के बाद, इस कोड का उपयोग करके डीकंप्रेस किया जाता है gzip एल्गोरिदम, इस प्रकार पावरशेल कोड की तीसरी परत दे रहा है, जो वास्तविक पिछले दरवाजे है। इसे दो मुख्य भागों में विभाजित किया गया है: कॉन्फ़िगरेशन, और पिछले दरवाजे के आदेशों को संभालना।
पिछले दरवाजे कोड की मुख्य परत भी पावरशेल में लिखी जाती है और सी एंड सी सर्वर के साथ संचार करने के लिए एचटीटीपी या आईसीएमपी का उपयोग करती है। यह चित्र 4 में दर्शाए अनुसार कार्य करता है।
विन्यास
कॉन्फ़िगरेशन में संस्करण संख्या, वैकल्पिक प्रॉक्सी कॉन्फ़िगरेशन और C&C पते सहित कई फ़ील्ड शामिल हैं। तालिका 1 हमारे द्वारा देखे गए विभिन्न संस्करणों में कॉन्फ़िगरेशन फ़ील्ड के अर्थों का वर्णन करती है।
तालिका 1. कॉन्फ़िगरेशन फ़ील्ड अर्थ
क्षेत्र का नाम | Description |
---|---|
नाक / ikuyrtydyfg (अन्य नमूने) |
अप्रयुक्त। |
ग्राहक ID | ग्राहक पहचानकर्ता, निम्नलिखित उद्देश्यों के लिए उपयोग किया जाता है: निर्माण करते समय एक मूल्य के रूप में कुकी हेडर सी एंड सी संचार के लिए। · भेजे गए डेटा एन्क्रिप्शन के लिए क्रिप्टोग्राफिक आर्टिफैक्ट के रूप में। |
संस्करण | पॉवहार्टबीट का वर्जन नंबर। |
निष्पादन टाइम्स | जारी करते समय अनुमत निष्पादन प्रयासों की संख्या रनसीएमडी (कमांड रनिंग) कमांड। |
उपभोक्ता अभिकर्ता | सी एंड सी संचार के लिए उपयोग किया जाने वाला उपयोगकर्ता एजेंट। |
संदर्भित | संदर्भित सी एंड सी संचार के लिए उपयोग किया जाने वाला हेडर। |
स्वीकार एन्कोडिंग | अप्रयुक्त। |
कुकी क्लाइंट आईडी कुकी टास्क आईडी कुकीटर्मिनलआईडी |
मूल्यों का निर्माण करने के लिए प्रयोग किया जाता है कुकीज सी एंड सी संचार के लिए हेडर। |
यूआरएलएचटीपीएस | सी एंड सी संचार के लिए उपयोग करने के लिए प्रोटोकॉल। |
यूआरएल डोमेन आईपी पता डोमेन |
URL, डोमेन या IP पता जिसका उपयोग C&C सर्वर के रूप में किया जाता है। यदि डोमेन खाली नहीं है, इसके बजाय इसे चुना जाता है आईपी पता। अन्य मामलों में, आईपी पता लिया जाता है। |
यूआरएलसेंडहार्टबीट | URL पथ का उपयोग तब किया जाता है जब पिछले दरवाजे C&C सर्वर से कमांड मांगते हैं। |
UrlSendResult | URL पथ का उपयोग तब किया जाता है जब पिछला दरवाजा कमांड के परिणामों को C&C सर्वर पर वापस भेजता है। |
GetUrl | C&C सर्वर से आदेशों का अनुरोध करने के लिए PowHeartBeat द्वारा उपयोग किया गया पूरा URL। यह उपरोक्त URL तत्वों का संयोजन है। |
पुटयूआरएल | के समान GetUrl लेकिन कमांड के परिणामों को C&C सर्वर पर वापस भेजने के लिए उपयोग किया जाता है। |
वर्तमान पथ | अप्रयुक्त। |
ProxyEnableFlag | यह दर्शाता है कि C&C सर्वर से संचार करने के लिए पिछले दरवाजे को प्रॉक्सी का उपयोग करना चाहिए या नहीं। |
प्रॉक्सीम्सजी | उपयोग करने के लिए प्रॉक्सी का पता if ProxyEnableFlag इसके लिए सेट है $सत्य. |
अंतराल | सेकंड में समय जब स्क्रिप्ट GET अनुरोधों के बीच सोती है। |
बेसिक कॉन्फिगपाथ | एक वैकल्पिक कॉन्फ़िगरेशन फ़ाइल का पथ जिसमें सक्रिय रहने की अवधि, स्र्कना, डिफ़ॉल्टअंतराल, तथा डोमेन. फ़ाइल मौजूद होने पर उन मानों को ओवरराइड कर दिया जाएगा। |
सक्रिय रहने की अवधि | दिन का वह समय जब से पिछले दरवाजे का संचालन शुरू होता है, जिसका अर्थ है कि यह सी एंड सी सर्वर से जीईटी अनुरोध करना शुरू कर देता है। |
स्र्कना | दिन का वह समय जब तक पिछला दरवाजा काम कर सकता है, यानी वह समय जब वह C&C सर्वर से अनुरोध करना बंद कर देता है। |
डोमेन इंडेक्स | C&C सर्वर के साथ संचार के लिए उपयोग किए जाने वाले वर्तमान डोमेन नाम का सूचकांक। यदि कोई अनुरोध एक त्रुटि संदेश देता है जो इससे भिन्न होता है 304 ("बदला हुआ नहीं"), डोमेन इंडेक्स बढ़ गया है। |
गुप्त कुंजी | कॉन्फ़िगरेशन को डिक्रिप्ट/एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी। कॉन्फ़िगरेशन एकाधिक-बाइट XOR के साथ एन्क्रिप्ट किया गया है। |
अगर लॉग | अप्रयुक्त। |
इफलॉगफाइलपाथ | यह दर्शाता है कि लॉगिंग सक्षम है या नहीं। |
लॉगपथ | लॉग फ़ाइल का पथ। |
प्रॉक्सीफ़ाइल | वैकल्पिक प्रॉक्सी कॉन्फ़िगरेशन का फ़ाइल पथ। यदि यह खाली है या फ़ाइल सिस्टम में नहीं मिला है, तो पिछले दरवाजे रजिस्ट्री मान से उपयोगकर्ता की प्रॉक्सी सेटिंग्स को पुनः प्राप्त करता है HKCUSoftwareMicrosoftWindowsCurrentVersionइंटरनेट सेटिंग्सProxyServer . |
अगर कॉन्फिग | यह दर्शाता है कि कॉन्फ़िगरेशन फ़ाइल का उपयोग करना है या नहीं। |
चित्र 5 पॉवहार्टबीट नमूने से निकाले गए कॉन्फ़िगरेशन का एक उदाहरण दिखाता है (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$Script:nouse = 100; if(Test-Path $MyInvocation.MyCommand.Path){Remove-item $MyInvocation.MyCommand.Path -Force;} $Script:ClientId = “83”; $Script:Version = “2.1.3.0003”; $Script:ExecTimes = 10; $Script:UserAgent = “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3487.100 Safari/537.36”; $Script:Referer = “www.adobe.com”; $Script:AcceptEncoding = “text/html,app1ication/xhtml+xml,app1ication/xml;q=0.9,*/*;q=0.8”; $Script:CookieClientId = “s_ecid”; $Script:CookieTaskId = “aam_uuid”; $Script:CookieTerminalId = “AAMC_adobe_0”; $Script:UrlHttps = “http://”; $Script:UrlDomain= ” 118.193.78[.]22:443″; $Script:UrlSendHeartBeat = “/latest/AdobeMessagingClient.js”; $Script:UrlSendResult = “/content/dam/offers-homepage/homepage.jpg”; $Script:GetUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendHeartBeat; $Script:PutUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendResult; $Script:currentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition; $Script:ProxyEnableFlag = $false; $Script:Proxymsg; $Script:Interval = 10 ; $Script:BasicConfigPath = “C:ProgramDataunins.dat”; $Script:UpTime = 0; $Script:DownTime = 24; $Script:Domains; $Script:DomainIndex; $Script:SecretKey = “###ConfigKey###”; #$Script:IfLog = $true; $Script:IfLogFilePath = “C:ProgramDatatpncp.dat”; $Script:logpath = “C:ProgramDataunins000.dat”; $Script:ProxyFile = “C:ProgramDatahwrenalm.dat”; $Script:IfConfig = $false; |
चित्र 5. विन्यास उदाहरण
डेटा एन्क्रिप्शन
PowHeartBeat लॉग और अतिरिक्त कॉन्फ़िगरेशन फ़ाइल सामग्री को एन्क्रिप्ट करता है।
लॉग फ़ाइल सामग्री एन्क्रिप्टेड है, हालांकि नमूने में क्लियरटेक्स्ट में निर्दिष्ट कुंजी के साथ मल्टीपल-बाइट XOR। दिलचस्प है, ग्राहक ID सूचकांक के लिए कुंजी सरणी में नमक के रूप में प्रयोग किया जाता है। कुंजी एक 256-बाइट सरणी है, जो हमारे सामने आए प्रत्येक नमूने में समान थी। अतिरिक्त कॉन्फ़िगरेशन फ़ाइल सामग्री को से मान के साथ एकाधिक-बाइट XOR के माध्यम से एन्क्रिप्ट किया गया है गुप्त कुंजी इसकी कुंजी के रूप में।
सी एंड सी संचार
PowHeartBeat ने संस्करण 2.4 तक C&C संचार के लिए HTTP का उपयोग किया, और फिर ICMP पर स्विच किया। दोनों ही मामलों में संचार एन्क्रिप्टेड नहीं है।
HTTP
एक अनंत लूप में, पिछला दरवाजा सी एंड सी सर्वर को एक जीईटी अनुरोध भेजता है, जो एक आदेश जारी करने के लिए कहता है। एन्क्रिप्टेड उत्तर को पिछले दरवाजे से डिक्रिप्ट किया जाता है, जो कमांड को प्रोसेस करता है, और एक फाइल को कमांड आउटपुट लिखता है जिसकी सामग्री को POST अनुरोध के माध्यम से C&C सर्वर को भेजा जाता है।
GET अनुरोधों का प्रारूप निम्नलिखित है:
GET <UrlSendHeartBeat> HTTP/1.1 User-Agent: <UserAgent> Referer: <Referer> Host: <Domain> Cookie: <CookieClientId>=<ClientId> Connection: close |
ध्यान दें कि अनुरोध उसी नाम के कॉन्फ़िगरेशन फ़ील्ड का उपयोग करके बनाया गया है।
सी एंड सी सर्वर से प्रतिक्रिया में, सामग्री का तीसरा बाइट कमांड पहचानकर्ता है जो पिछले दरवाजे द्वारा संसाधित किए जाने वाले आदेश को इंगित करता है। हम इसे कॉल करेंगे कमांड_आईडी. प्रतिक्रिया की शेष सामग्री को संसाधित होने वाले आदेश के तर्क के रूप में पारित किया जाएगा। यह सामग्री चित्र 6 में दिखाए गए एल्गोरिथम के साथ एन्क्रिप्ट की गई है, कार्य आईडी के नाम पर कुकी का मूल्य होने के नाते कुकी टास्क आईडीकॉन्फ़िगरेशन से का मान।
1 2 3 4 5 6 7 8 9 10 |
o[int] $pos = $taskId % 256; for ($i = 0; $i -lt $tmpBytes.Value.Length; $i++) { $pos = $pos + $clientId; if ($pos -ge 256) { $pos = $pos % 256; } $tmpBytes.Value[$i] = [byte]($tmpBytes.Value[$i] -bxor $hexEnc[$pos]); } |
चित्र 6. सामग्री डेटा एन्क्रिप्शन एल्गोरिथ्म का अनुरोध करता है
सी एंड सी सर्वर से प्रतिक्रिया में एक और कुकी भी शामिल है, जिसका नाम पिछले दरवाजे द्वारा निर्दिष्ट किया गया है कुकीटर्मिनलआईडी विन्यास चर। इस कुकी का मान पिछले दरवाजे से POST अनुरोध में दोहराया गया है, और यह खाली नहीं होना चाहिए। पिछले दरवाजे के आदेश को निष्पादित करने के बाद, पॉवहार्टबीट सी एंड सी सर्वर को POST अनुरोध के रूप में परिणाम भेजता है। परिणाम एक फ़ाइल के रूप में भेजा जाता है जिसका नाम है पीएनजी.
ICMP
पॉवहार्टबीट के संस्करण 2.4 से शुरू होकर, एचटीटीपी को आईसीएमपी द्वारा बदल दिया गया था, छह सेकंड के टाइमआउट वाले पैकेट भेजे गए थे और अखंडित. आईसीएमपी के माध्यम से संचार सबसे अधिक संभावना है कि पहचान से बचने का एक तरीका है।
2.4 और बाद के संस्करणों में कोई बड़ा बदलाव नहीं हुआ है, लेकिन हमने कोड में कुछ संशोधन देखे हैं:
- PowHeartBeat स्ट्रिंग वाले प्रत्येक लूप पर एक दिल की धड़कन पैकेट भेजता है ABCDEFGHIJKLMNOPQRSTU VWXYZ, आदेश का अनुरोध करने से पहले। यह सी एंड सी सर्वर को सूचित करता है कि पिछला दरवाजा कमांड प्राप्त करने के लिए तैयार है।
- पिछले दरवाजे द्वारा निष्पादित आदेश प्राप्त करने के अनुरोधों में स्ट्रिंग शामिल है abcdefghijklmnop.
हार्टबीट पैकेट का प्रारूप चित्र 7 में वर्णित है।
बीच का अंतर ग्राहक ID और ग्राहक झंडा अर्थात ग्राहक ID प्रत्येक नमूने में भिन्न होता है जबकि ग्राहक झंडा आईसीएमपी का उपयोग करने वाले प्रत्येक नमूने में समान है। दिल की धड़कन का झंडा इंगित करता है कि पिछला दरवाजा दिल की धड़कन भेज रहा है। C&C सर्वर की प्रतिक्रिया का प्रारूप चित्र 8 में वर्णित है।
झंडा यहां इंगित करता है कि पिछले दरवाजे को जारी करने का आदेश है या नहीं। आदेश प्राप्त करने के अनुरोधों का प्रारूप चित्र 9 में वर्णित है।
ध्यान दें कि पिछले दरवाजे का ICMP मोड असीमित मात्रा में डेटा प्राप्त करने की अनुमति देता है, जिसे विखंडू और चर में विभाजित किया जाता है डेटा लंबाई, वर्तमान पद और कुल लंबाई प्रेषित डेटा का ट्रैक रखने के लिए उपयोग किया जाता है। इन अनुरोधों के प्रतिसादों का प्रारूप चित्र 10 में वर्णित है।
HTTP प्रतिक्रियाओं की तरह, कमांड आइडेंटिफ़ायर का तीसरा बाइट है तिथि.
खाली या असंगत रूप से स्वरूपित सामग्री के साथ लगातार सात ICMP उत्तरों के बाद, पिछले दरवाजे और C&C सर्वर के बीच स्थानांतरण को समाप्त माना जाता है।
सी एंड सी सर्वर को जारी किए गए कमांड के परिणाम भेजने के अनुरोधों के संबंध में, पोस्ट मोड के लिए सर्वर मोड बदल दिया जाता है, और अंतिम स्ट्रिंग (abcdefghijklmnop) परिणाम डेटा के लिए बदल दिया गया है।
पिछले दरवाजे के आदेश
पॉवहार्टबीट में कमांड/प्रोसेस एक्जीक्यूशन और फाइल मैनिपुलेशन सहित विभिन्न क्षमताएं हैं। तालिका 2 विभिन्न विश्लेषण किए गए नमूनों द्वारा समर्थित सभी आदेशों को सूचीबद्ध करती है।
तालिका 2. पॉवहार्टबीट कमांड विवरण
नाम | कमांड पहचानकर्ता | Description |
---|---|---|
Cmd | 0x02 | पावरशेल कमांड निष्पादित करें। |
प्रोग्राम फ़ाइल | 0x04 | एक कमांड को a . के रूप में निष्पादित करें प्रक्रिया. |
फाइल अपलोड | 0x06 | पीड़ित मशीन पर एक फाइल अपलोड करें। फ़ाइल सामग्री gzip-संपीड़ित है। |
फाइल डाउनलोड | 0x08 | पीड़ित मशीन से एक फ़ाइल डाउनलोड करें, और फ़ाइल पथ, फ़ाइल की लंबाई, निर्माण समय, पहुँच समय, और फ़ाइल सामग्री को C&C सर्वर पर वापस करें। |
फ़ाइल दृश्य | 0x0A | विशिष्ट निर्देशिका की फ़ाइल जानकारी प्राप्त करें, विशेष रूप से: फ़ाइल नाम फ़ाइल विशेषताएँ · अंतिम लिखने का समय फ़ाइल सामग्री |
फ़ाइल हटाएं | 0x0C | एक फ़ाइल हटाएं। |
फ़ाइल का नाम बदलें | 0x0E | फ़ाइल का नाम बदलें या स्थानांतरित करें। |
चेंजडिर | 0x10 | पिछले दरवाजे के वर्तमान कार्य स्थान को बदलें। |
जानकारी | 0x12 | निर्दिष्ट तर्क के अनुसार जानकारी की एक श्रेणी प्राप्त करें: · "मूल जानकारी": ग्राहक ID, संस्करण, होस्ट नाम, आईपी पते, Explorer.exe संस्करण और आकार की जानकारी, ओएस (आर्किटेक्चर और ध्वज इंगित करता है कि मशीन एक सर्वर है), अंतराल, वर्तमान निर्देशिका, ड्राइव जानकारी (नाम, प्रकार, खाली स्थान और कुल आकार), वर्तमान समय · "समय-अंतराल की जानकारी": अंतराल और वर्तमान समय · "डोमेन जानकारी": डिक्रिप्टेड कॉन्फ़िगरेशन फ़ाइल सामग्री |
कॉन्फिग | 0x14 | कॉन्फ़िगरेशन फ़ाइल सामग्री को अपडेट करें और कॉन्फ़िगरेशन को पुनः लोड करें। |
एन / ए | 0x63 | पिछले दरवाजे से बाहर निकलें। |
पिछले दरवाजे पर त्रुटियों के मामले में, पिछले दरवाजे सी एंड सी सर्वर के लिए POST अनुरोध में एक विशिष्ट कमांड पहचानकर्ता 0x00 का उपयोग करता है, इस प्रकार एक त्रुटि हुई है।
ध्यान दें कि सूचना को C&C सर्वर पर वापस भेजने से पहले, डेटा gzip-compressed होता है।
पीएनजी लोड: स्टेग्नोग्राफिक लोडर
PNGLoad दूसरे चरण का पेलोड है जिसे Worok द्वारा समझौता किए गए सिस्टम पर तैनात किया गया है और ESET टेलीमेट्री के अनुसार, CLRLoad या PowHeartBeat द्वारा लोड किया गया है। जबकि हमें पॉवहार्टबीट में ऐसा कोई कोड नहीं दिखता है जो सीधे पीएनजीलोड लोड करता है, पिछले दरवाजे में सी एंड सी सर्वर से अतिरिक्त पेलोड को डाउनलोड करने और निष्पादित करने की क्षमता है, जो संभवत: पॉवहार्टबीट के साथ समझौता किए गए सिस्टम पर हमलावरों ने पीएनजीलोड को कैसे तैनात किया है। PNGLoad एक लोडर है जो निष्पादित करने के लिए पेलोड बनाने के लिए PNG फ़ाइलों से बाइट्स का उपयोग करता है। यह एक 64-बिट .NET निष्पादन योग्य है - के साथ बाधित .NET रिएक्टर - जो वैध सॉफ्टवेयर के रूप में सामने आता है। उदाहरण के लिए, चित्र 11 एक नमूना के CLR हेडर को WinRAR DLL के रूप में दिखाता है।
एक बार deobfuscated, केवल एक वर्ग मौजूद है। इस वर्ग में एक है मेनपाथ निर्देशिका पथ युक्त विशेषता a . के साथ फ़ाइलों के लिए इसकी उपनिर्देशिकाओं सहित पिछले दरवाजे की खोज करती है . Png विस्तार, जैसा कि चित्र 12 में दिखाया गया है।
से प्रत्येक . Png इस खोज द्वारा स्थित फ़ाइल मेनपाथ फिर स्टेग्नोग्राफ़िक रूप से एम्बेडेड सामग्री के लिए जाँच की जाती है। सबसे पहले, प्रत्येक पिक्सेल के आर (लाल), जी (हरा), बी (नीला), और ए (अल्फा) मानों का सबसे कम-महत्वपूर्ण बिट एक बफर में लाया और इकट्ठा किया जाता है। क्या उस बफ़र के पहले आठ बाइट चित्र 13 में देखी गई जादुई संख्या से मेल खाते हैं और अगले आठ-बाइट मान, नियंत्रण, गैर-शून्य होना चाहिए, फ़ाइल PNGLoad की स्टेग्नोग्राफ़िक सामग्री जांच से गुजरती है। ऐसी फ़ाइलों के लिए, PNGLoad's में संग्रहीत कुंजी का उपयोग करके, बहु-बाइट XOR के साथ डिक्रिप्ट किए गए शेष बफर के साथ प्रसंस्करण जारी है सीक्रेटकीबाइट्स विशेषता, और फिर डिक्रिप्टेड बफर gzip-decompressed है। परिणाम एक PowerShell स्क्रिप्ट होने की उम्मीद है, जो तुरंत चलाई जाती है।
दिलचस्प बात यह है कि PNGLoad द्वारा किए गए ऑपरेशन एक फ़ाइल में लॉग इन होते हैं, जिसका पथ वेरिएबल में संग्रहीत होता है लॉगफाइलपथ. संचालन केवल तभी लॉग किया जाता है जब कोई फ़ाइल मौजूद होती है जिसका पथ आंतरिक चर द्वारा निर्दिष्ट किया जाता है इफलॉगफाइलपाथ.
हम एक नमूना प्राप्त करने में सक्षम नहीं हैं . Png PNGLoad के साथ उपयोग की जाने वाली फ़ाइल, लेकिन PNGLoad के संचालन के तरीके से पता चलता है कि इसे मान्य PNG फ़ाइलों के साथ काम करना चाहिए। दुर्भावनापूर्ण पेलोड को छिपाने के लिए, Worok C# में बिटमैप ऑब्जेक्ट का उपयोग करता है, जो केवल फाइलों से पिक्सेल जानकारी लेता है, फ़ाइल मेटाडेटा नहीं। इसका मतलब यह है कि वोरोक अपने दुर्भावनापूर्ण पेलोड को वैध, सहज दिखने वाली पीएनजी छवियों में छुपा सकता है और इस प्रकार सादे दृष्टि में छुपा सकता है।
निष्कर्ष
Worok एक साइबर जासूसी समूह है जो अपने लक्ष्यों से समझौता करने के लिए अपने स्वयं के उपकरण विकसित करता है, साथ ही मौजूदा उपकरणों का लाभ उठाता है। हम मानते हैं कि उनके पीड़ितों से जानकारी चोरी करना है, जो हम मानते हैं कि ऑपरेटरों के पीछे हैं क्योंकि वे एशिया और अफ्रीका में हाई-प्रोफाइल संस्थाओं पर ध्यान केंद्रित करते हैं, निजी और सार्वजनिक दोनों क्षेत्रों को लक्षित करते हैं, लेकिन सरकारी संस्थाओं पर विशेष जोर देते हैं। गतिविधि समय और टूलसेट TA428 के साथ संभावित संबंधों का संकेत देते हैं, लेकिन हम यह आकलन कम आत्मविश्वास के साथ करते हैं। उनके कस्टम टूलसेट में दो लोडर शामिल हैं - एक C++ में और एक C# .NET में - और एक पावरशेल बैकडोर। जबकि हमारी दृश्यता सीमित है, हम आशा करते हैं कि इस समूह पर प्रकाश डालने से अन्य शोधकर्ता इस समूह के बारे में जानकारी साझा करने के लिए प्रोत्साहित होंगे।
ईएसईटी रिसर्च अब निजी एपीटी खुफिया रिपोर्ट और डेटा फीड भी प्रदान करता है। इस सेवा के बारे में किसी भी पूछताछ के लिए, देखें ईएसईटी थ्रेट इंटेलिजेंस इस पृष्ठ पर ज़ूम कई वीडियो ट्यूटोरियल और अन्य साहायक साधन प्रदान करता है।
IOCs
फ़ाइलें
शा 1 | फ़ाइल का नाम | ईएसईटी डिटेक्शन नाम | टिप्पणी |
---|---|---|---|
3A47185D0735CDECF4C7C2299EB18401BFB328D5 | लिपि | पावरशेल/पाउहार्टबीट.बी | पॉवहार्टबीट 2.4.3.0003। |
27ABB54A858AD1C1FF2863913BDA698D184E180D | लिपि | पावरशेल/पाउहार्टबीट.ए | पॉवहार्टबीट 2.4.3.0003। |
678A131A9E932B9436241402D9727AA7D06A87E3 | लिपि | पावरशेल/पाउहार्टबीट.बी | पॉवहार्टबीट 2.4.3.0003। |
757ABA12D04FD1167528FDD107A441D11CD8C427 | लिपि | पावरशेल/पाउहार्टबीट.बी | पॉवहार्टबीट 2.1.3.0003। |
54700A48D934676FC698675B4CA5F712C0373188 | लिपि | पावरशेल/पाउहार्टबीट.ए | पॉवहार्टबीट 1.1.3.0002। |
C2F53C138CB1B87D8FC9253A7088DB30B25389AF | लिपि | पावरशेल/पाउहार्टबीट.ए | पॉवहार्टबीट 1.1.3.0002। |
C2F1954DE11F72A46A4E823DE767210A3743B205 | tmp.ps1 | पावरशेल/पाउहार्टबीट.बी | पॉवहार्टबीट 2.4.3.0004। |
CE430A27DF87A6952D732B4562A7C23BEF4602D1 | tmp.ps1 | पावरशेल/पाउहार्टबीट.ए | पॉवहार्टबीट 2.1.3.0004। |
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF | लिपि | पावरशेल/पाउहार्टबीट.ए | पॉवहार्टबीट 2.4.3.0003। |
4721EEBA13535D1EE98654EFCE6B43B778F13126 | vix64.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
728A6CB7A150141B4250659CF853F39BFDB7A46C | RarExtMgt.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
864E55749D28036704B6EA66555A86527E02AF4A | जेएसप्रोफाइल.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
8DA6387F30C584B5FD3694A99EC066784209CA4C | vssxml.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 | xsec_1_5.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE | MSVBVM80.DLL | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
CDB6B1CAFEE098615508F107814179DEAED1EBCF | lucenelib.dll | एमएसआईएल/पीएनजीलोडर.ए | पीएनजी लोडर। |
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D | vsstrace.dll | Win64/CLRLod.C | सीएलआरलोड। |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | एनक्रिप्ट.dll | Win32/CLRLod.A | सीएलआरलोड। |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | एनक्रिप्ट.dll | Win32/CLRLod.A | सीएलआरलोड। |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLod.E | सीएलआरलोड। |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLod.A | सीएलआरलोड। |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLod.H | सीएलआरलोड। |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLod.C | सीएलआरलोड। |
फ़ाइल पथ
के कुछ मेनपाथ, लॉगफाइलपथ और इफलॉगफाइलपाथ PNGLoad नमूनों में हमें जिन मानों का सामना करना पड़ा:
मेनपाथ | लॉगफाइलपथ | इफलॉगफाइलपाथ |
---|---|---|
सी: प्रोग्राम फ़ाइलेंVMwareVMware उपकरण | सी:प्रोग्राम फ़ाइलेंVMwareVMware ToolsVMware VGAuthreadme.txt | C:प्रोग्राम फ़ाइलेंVMwareVMware ToolsVMware VGAuthVMWSU_V1_1.dll |
सी: प्रोग्राम फ़ाइलेंWinRar | सी: प्रोग्राम फ़ाइलेंWinRarrarinstall.log | सी: प्रोग्राम फ़ाइलेंWinRardes.dat |
सी: प्रोग्राम फ़ाइलें अल्ट्रा व्यूअर | सी:कार्यक्रम फ़ाइलेंअल्ट्राव्यूअरCopyRights.dat | सी: प्रोग्राम फ़ाइलेंUltraVieweruvcr.dll |
नेटवर्क
डोमेन | IP |
---|---|
कोई नहीं | 118.193.78 [।] 22 |
कोई नहीं | 118.193.78 [।] 57 |
हवाई जहाज.यात्रा-विज्ञापन[।]एजेंसी | 5.183.101 [।] 9 |
Central.suhypercloud[.]org | 45.77.36 [।] 243 |
म्यूटेक्स
CLRLoad नमूनों में, हमारे सामने आने वाले म्यूटेक्स नाम हैं:
aB82UduGX0EX
ad8TbUIZl5Ga
श्री2PJVxbIBD4
ओईआरआईक्यूटीकेएलजीपीजीके
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy
समझौता संकेतकों (IoCs) और नमूनों की एक व्यापक सूची में पाया जा सकता है हमारे गिटहब भंडार.
MITER ATT&CK तकनीक
यह तालिका का उपयोग करके बनाई गई थी 11 संस्करण एमआईटीईआर एटीटी एंड सीके ढांचे का।
युक्ति | ID | नाम | Description |
---|---|---|---|
पैमाइश | T1592.002 | पीड़ित मेजबान जानकारी इकट्ठा करें: सॉफ्टवेयर | पॉवहार्टबीट बटोरता है Explorer.exe's जानकारी. |
T1592.001 | पीड़ित मेजबान जानकारी इकट्ठा करें: हार्डवेयर | PowHeartBeat ड्राइव के बारे में जानकारी इकट्ठा करता है। | |
T1590.005 | पीड़ित नेटवर्क की जानकारी इकट्ठा करें: आईपी पते | PowHeartBeat समझौता किए गए कंप्यूटर के IP पते एकत्र करता है। | |
संसाधन विकास | T1583.004 | इन्फ्रास्ट्रक्चर हासिल करें: सर्वर | Worok अपने स्वयं के C&C सर्वर का उपयोग करता है। |
T1588.002 | क्षमता प्राप्त करें: उपकरण | वर्कोक ने समझौता मशीनों पर कई सार्वजनिक रूप से उपलब्ध उपकरण तैनात किए। | |
T1583.001 | इन्फ्रास्ट्रक्चर हासिल करें: डोमेन | C&C संचार और मंचन की सुविधा के लिए Worok के पास पंजीकृत डोमेन हैं। | |
T1588.005 | क्षमता प्राप्त करें: शोषण | Worok ने ProxyShell भेद्यता का उपयोग किया है। | |
T1587.001 | क्षमता विकसित करें: मैलवेयर | Worok ने अपना खुद का मैलवेयर विकसित किया है: CLRLoad, PNGLoad, PowHeartBeat। | |
T1587.003 | क्षमता विकसित करें: डिजिटल प्रमाणपत्र | मैलवेयर के लिए आपसी TLS प्रमाणीकरण को सक्षम करने के लिए Worok ने Let's Encrypt SSL प्रमाणपत्र बनाए हैं। | |
निष्पादन | T1059.001 | कमांड और स्क्रिप्टिंग दुभाषिया: पावरशेल | पॉवहार्टबीट पावरशेल में लिखा गया है। |
हठ | T1505.003 | सर्वर सॉफ्टवेयर घटक: वेब शेल | Worok webshell का उपयोग करता है रेजॉर्ज. |
रक्षा चोरी | T1140 | फाइलों या सूचनाओं को डिओबफसकेट/डीकोड करें | Worok PowHeartBeat, PNGLoad और CLRLoad में स्ट्रिंग्स और लॉग को एन्क्रिप्ट करने के लिए विभिन्न कस्टम XOR- आधारित योजनाओं का उपयोग करता है। |
T1036.005 | बहाना बनाना: वैध नाम या स्थान का मिलान करें | PNGLoad नमूने वैध दिखने वाली VMWare निर्देशिकाओं में तैनात हैं। | |
क्रेडेंशियल एक्सेस | T1003.001 | ओएस क्रेडेंशियल डंपिंग: एलएसएएसएस मेमोरी | LSASS मेमोरी से क्रेडेंशियल डंप करने के लिए Worok Mimikatz का उपयोग करता है। |
खोज | T1082 | सिस्टम सूचना डिस्कवरी | पॉवहार्टबीट ओएस की जानकारी इकट्ठा करता है। |
T1083 | फ़ाइल और निर्देशिका डिस्कवरी | PowHeartBeat फाइलों और निर्देशिकाओं को सूचीबद्ध कर सकता है। | |
T1046 | नेटवर्क सेवा डिस्कवरी | काम करता है एनबीटी स्कैन समझौता मशीनों पर नेटवर्क जानकारी प्राप्त करने के लिए। | |
T1124 | सिस्टम टाइम डिस्कवरी | PowHeartBeat पीड़ित के समय की जानकारी एकत्र करता है। | |
पुस्तक संग्रह | T1005 | स्थानीय सिस्टम से डेटा | PowHeartBeat स्थानीय सिस्टम से डेटा एकत्र करता है। |
T1560.002 | संग्रहित डेटा: पुस्तकालय के माध्यम से संग्रह करें | PowHeartBeat डेटा को C&C सर्वर पर भेजने से पहले gzip-संपीड़ित करता है। | |
आदेश और नियंत्रण | T1071.001 | अनुप्रयोग परत प्रोटोकॉल: वेब प्रोटोकॉल | कुछ पॉवहार्टबीट वेरिएंट सी एंड सी सर्वर के साथ संचार प्रोटोकॉल के रूप में HTTP का उपयोग करते हैं। |
T1090.001 | प्रॉक्सी: आंतरिक प्रॉक्सी | PowHeartBeat पीड़ित की मशीन पर प्रॉक्सी कॉन्फ़िगरेशन को संभालता है। | |
T1001.002 | डेटा अस्पष्टता: स्टेग्नोग्राफ़ी | PNGLoad से पिक्सेल मान निकालता है . Png पेलोड के पुनर्निर्माण के लिए फ़ाइलें। | |
T1573.002 | एन्क्रिप्टेड चैनल: असममित क्रिप्टोग्राफी | PowHeartBeat C&C सर्वर के साथ HTTPS संचार को संभालता है। | |
T1095 | गैर-अनुप्रयोग परत प्रोटोकॉल | कुछ पॉवहार्टबीट वेरिएंट सी एंड सी सर्वर के साथ संचार प्रोटोकॉल के रूप में आईसीएमपी का उपयोग करते हैं। | |
T1132.001 | डेटा एन्कोडिंग: मानक एन्कोडिंग | Worok PowHeartBeat, और PNGLoad में XOR एन्कोडिंग का उपयोग करता है। | |
T1132.002 | डेटा एन्कोडिंग: गैर-मानक एन्कोडिंग | वोरोक एक्सओआर एन्कोडिंग एल्गोरिदम का उपयोग करता है जो अतिरिक्त नमक का उपयोग करता है। | |
exfiltration | T1041 | C2 चैनल पर एक्सफिल्ट्रेशन | PowHeartBeat सूचनाओं को छानने के लिए अपने C&C संचार चैनल का उपयोग करता है। |
- blockchain
- कॉइनजीनियस
- क्रिप्टोकुरेंसी वॉलेट्स
- क्रिप्टोकरंसीज
- साइबर सुरक्षा
- साइबर अपराधी
- साइबर सुरक्षा
- घर की भूमि सुरक्षा का विभाग
- डिजिटल पर्स
- ईएसईटी अनुसंधान
- फ़ायरवॉल
- Kaspersky
- मैलवेयर
- McAfee
- नेक्सब्लॉक
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लेटो गेम
- प्लेटोडाटा
- प्लेटोगेमिंग
- वीपीएन
- हम सुरक्षा जीते हैं
- वेबसाइट सुरक्षा
- जेफिरनेट