AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण

जब एक दिन बॉस सवाल उठाता है: "कुछ लोगों के पास उपयोग के लिए अतिरिक्त अनुमति प्राप्त किए बिना कार्य कंप्यूटर तक दूरस्थ पहुंच क्यों है?",
किसी खामी को "छिपाने" का कार्य है।

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

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

दरअसल, विपरीत दिशा से जाने की कोशिश की जा रही है ऑनलाइन यह कहता है कि प्रोग्राम को काम करने के लिए क्रमशः क्या अनुमति दी जानी चाहिए, DNS रिकॉर्ड अवरुद्ध कर दिया गया था *.net.anydesk.com. लेकिन AnyDesk सरल नहीं है, इसे किसी डोमेन नाम को ब्लॉक करने की परवाह नहीं है।

एक बार जब मैंने "एनीप्लेस कंट्रोल" को ब्लॉक करने की समस्या हल की, जो कुछ संदिग्ध सॉफ़्टवेयर के साथ हमारे पास आई थी, और इसे केवल कुछ आईपी को ब्लॉक करके हल किया गया था (मैंने एंटीवायरस सुरक्षित किया था)। AnyDesk के साथ समस्या, जब मैंने मैन्युअल रूप से एक दर्जन से अधिक आईपी पते एकत्र किए, उकसाया नियमित शारीरिक श्रम से दूर हो जाओ.

यह भी पाया गया कि "सी: प्रोग्रामडेटाएनीडेस्क" में सेटिंग्स आदि के साथ कई फाइलें हैं, और फाइल में ad_svc.trace कनेक्शन और विफलताओं के बारे में घटनाएं एकत्र की जाती हैं।

1. अवलोकन

जैसा कि पहले ही उल्लेख किया गया है, *.anydesk.com को ब्लॉक करने से कार्यक्रम में कोई परिणाम नहीं मिला, इसका विश्लेषण करने का निर्णय लिया गया तनावपूर्ण स्थितियों में कार्यक्रम व्यवहार. Sysinternals से TCPView हाथ में लें और जाएँ!

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण

1.1. यह देखा जा सकता है कि हमारी रुचि की कई प्रक्रियाएं "लटकी हुई" हैं, और केवल वही जो बाहर से पते के साथ संचार करता है वह हमारे लिए रुचिकर है। जिन पोर्ट से यह जुड़ता है वे स्थानांतरित हो जाते हैं, जैसा कि मैंने इसे देखा: 80, 443, 6568। 🙂 80 और 443 हम निश्चित रूप से ब्लॉक नहीं कर सकते।

1.2. राउटर के जरिए एड्रेस को ब्लॉक करने के बाद चुपचाप दूसरा एड्रेस चुन लिया जाता है।

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण

1.3. हमारा कंसोल ही सब कुछ है! हम पीआईडी ​​निर्धारित करते हैं और फिर मैं थोड़ा भाग्यशाली रहा कि AnyDesk सेवा द्वारा क्रमशः स्थापित किया गया था, मैं जिस पीआईडी ​​की तलाश कर रहा था वह एकमात्र है।
1.4. हम प्रक्रिया के पीआईडी ​​द्वारा सेवा सर्वर का आईपी पता निर्धारित करते हैं।

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण

2. तैयारी

चूंकि आईपी पते की खोज करने का कार्यक्रम संभवतः केवल मेरे पीसी पर ही काम करेगा, इसलिए मुझे सुविधा और आलस्य पर कोई प्रतिबंध नहीं है, इसलिए सी#।

2.1. वांछित आईपी पते की पहचान करने की सभी विधियाँ पहले से ही ज्ञात हैं, इसे लागू किया जाना बाकी है।

string pid1_;//узнаем PID сервиса AnyDesk
using (var p = new Process()) 
{p.StartInfo.FileName = "cmd.exe";
 p.StartInfo.Arguments = " /c "tasklist.exe /fi "imagename eq AnyDesk.exe" /NH /FO CsV | findstr "Services""";
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.CreateNoWindow = true;
 p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("CP866");
 p.Start();
 string output = p.StandardOutput.ReadToEnd();
 string[] pid1 = output.Split(',');//переводим ответ в массив
 pid1_ = pid1[1].Replace(""", "");//берем 2й элемент без кавычек
}

इसी तरह, हम उस सेवा को ढूंढते हैं जिसने कनेक्शन स्थापित किया है, मैं केवल मुख्य लाइन दूंगा

p.StartInfo.Arguments = "/c " netstat  -n -o | findstr /I " + pid1_ + " | findstr "ESTABLISHED""";

जिसका परिणाम होगा:

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण
लाइन से, पिछले चरण की तरह, हम तीसरा कॉलम निकालते हैं, और ":" के बाद सब कुछ हटा देते हैं। परिणामस्वरूप, हमारे पास अपना वांछित आईपी है।

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

route add наш_найденный_IP_адрес mask 255.255.255.255 10.113.113.113 if 1 -p

मुख्य पैरामीटर "यदि 1"लूपबैक पर रूट भेजें (आप रूट प्रिंट चलाकर उपलब्ध इंटरफेस प्रदर्शित कर सकते हैं)। और महत्वपूर्ण! अब प्रोग्राम को चलाने की जरूरत है व्यवस्थापक अधिकारों के साथक्योंकि मार्ग बदलने के लिए ऊंचाई की आवश्यकता होती है।

2.3. पहचाने गए आईपी पते को प्रदर्शित करना और सहेजना एक मामूली काम है और इसके लिए स्पष्टीकरण की आवश्यकता नहीं है। यदि आप इसके बारे में सोचते हैं, तो आप फ़ाइल को संसाधित कर सकते हैं ad_svc.trace AnyDesk स्वयं, लेकिन मैंने तुरंत इसके बारे में नहीं सोचा + हो सकता है कि इस पर कोई प्रतिबंध हो।

2.4. प्रोग्राम का अजीब असमान व्यवहार यह है कि जब विंडोज 10 में सेवा प्रक्रिया "टास्ककिल्ड" होती है, तो यह स्वचालित रूप से पुनरारंभ हो जाती है, विंडोज 8 में यह समाप्त हो जाती है, केवल कंसोल प्रक्रिया को छोड़कर और पुन: कनेक्ट किए बिना, सामान्य तौर पर, यह अतार्किक और गलत है।

सर्वर से कनेक्ट की गई प्रक्रिया को हटाने से आप अगले पते पर पुनः कनेक्शन को "बलपूर्वक" जोड़ सकते हैं। इसे पिछले आदेशों के समान ही लागू किया गया है, इसलिए मैं केवल यह देता हूं:

p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";

इसके अतिरिक्त, AnyDesk प्रोग्राम लॉन्च करें।

 //запускаем программу которая расположена по пути path_pro
if (File.Exists(path_pro)){ 
Process p1 = Process.Start(path_pro);}

2.5. हम AnyDesk की स्थिति की जांच एक मिनट में एक बार (या अधिक बार?) करेंगे, और यह भी जांचेंगे कि क्या यह कनेक्ट है, यानी। कनेक्शन स्थापित - इस आईपी को ब्लॉक करें, और फिर से - इसके कनेक्ट होने तक प्रतीक्षा करें, ब्लॉक करें और प्रतीक्षा करें।

3. हमला

कोड "मसौदा तैयार किया गया", प्रक्रिया की कल्पना करने का निर्णय लिया गया "+"पाया गया और अवरुद्ध आईपी निर्दिष्ट करें, और"." - AnyDesk से सफल कनेक्शन के बिना बार-बार जांच।

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण

परियोजना का कोड

नतीजतन…

AnyDesk के उदाहरण का उपयोग करके नेटवर्क पर कंप्यूटर के रिमोट कंट्रोल के लिए किसी एप्लिकेशन को ब्लॉक करने की संभावना का विश्लेषण
यह प्रोग्राम AnyDesk संस्करण 5 और 6 के साथ विभिन्न विंडोज़ ओएस वाले कई कंप्यूटरों पर काम करता था। 500 पुनरावृत्तियों में लगभग 80 पते एकत्र किए गए थे। 2500 - 87 वगैरह के लिए...

समय के साथ, अवरुद्ध आईपी की संख्या 100+ तक पहुंच गई।

फाइनल से लिंक करें पाठ फ़ाइल पते के साथ: समय и два

यह किया जाता है! IP पतों का एक पूल एक स्क्रिप्ट के माध्यम से मुख्य राउटर के नियमों में जोड़ा जाता है, और AnyDesk बस एक बाहरी कनेक्शन नहीं बना सकता है।

एक अजीब क्षण है, प्रारंभिक लॉग के अनुसार, यह स्पष्ट है कि पता सूचना के हस्तांतरण में शामिल है Boot-01.net.anydesk.com. हमने निश्चित रूप से एक सामान्य नियम के रूप में सभी *.net.anydesk.com होस्ट को ब्लॉक कर दिया है, लेकिन यह कोई अनोखी बात नहीं है। हर बार विभिन्न कंप्यूटरों से सामान्य पिंग करने पर यह डोमेन नाम एक अलग आईपी देता है। लिनक्स में जाँच हो रही है:

host boot-01.net.anydesk.com

DNSLookup की तरह, वे केवल एक आईपी पता देते हैं, लेकिन यह पता परिवर्तनशील है। टीसीपीव्यू कनेक्शन को पार्स करते समय, हमें आईपी पते के पीटीआर रिकॉर्ड वापस मिलते हैं रिले-*.net.anydesk.com.

सैद्धांतिक रूप से: चूँकि पिंग कभी-कभी किसी अज्ञात अनब्लॉक होस्ट के पास चला जाता है Boot-01.net.anydesk.com हम इन आईपी और ब्लॉक को ढूंढ सकते हैं, इस कार्यान्वयन को लिनक्स ओएस के तहत एक नियमित स्क्रिप्ट बना सकते हैं, यहां आपको AnyDesk इंस्टॉल करने की आवश्यकता नहीं है। विश्लेषण से पता चला कि ये आईपी अक्सर "इंटरसेक्ट" हमारी सूची से पाए गए लोगों के साथ। शायद यह सिर्फ यह होस्ट है, जिससे प्रोग्राम ज्ञात आईपी को "सॉर्ट आउट" करने से पहले कनेक्ट होता है। संभवतः बाद में मैं होस्ट खोजों के दूसरे भाग के साथ लेख को पूरक करूंगा, हालांकि फिलहाल प्रोग्राम स्वयं सामान्य रूप से बाहरी जुड़ाव स्थापित नहीं करता है।

मुझे आशा है कि आपने उपरोक्त में कुछ भी अवैध नहीं देखा है, और AnyDesk के निर्माता मेरे कार्यों को स्पोर्टी तरीके से मानेंगे।

स्रोत: www.habr.com

एक टिप्पणी जोड़ें