تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk

عندما يطرح الرئيس السؤال في أحد الأيام: "لماذا يتمتع بعض الأشخاص بوصول عن بُعد إلى كمبيوتر العمل دون الحصول على أذونات إضافية للاستخدام؟" ،
هناك مهمة "للتستر" على ثغرة.

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk
هناك الكثير من التطبيقات للتحكم عن بعد في الشبكة: سطح المكتب البعيد من Chrome ، AmmyAdmin ، LiteManager ، TeamViewer ، Anyplace Control ، إلخ. إذا كان سطح المكتب البعيد من Chrome يحتوي على دليل رسمي لمكافحة الوصول إلى الخدمة ، فإن برنامج TeamViewer لديه قيود ترخيص في الوقت أو الطلبات من الشبكة والمستخدمين "يطحنون أسنانهم" بطريقة ما "يلمع" مع المشرفين ، ثم المفضل لدى الكثيرين للاستخدام الشخصي - لا يزال AnyDesk يتطلب اهتمامًا خاصًا ، خاصة إذا قال الرئيس "لا!"

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk
إذا كنت تعرف ما هو حظر حزمة الشبكة من خلال محتوياتها وما يناسبك ، فإن بقية المواد
لا يقصد لك.

تحاول أن تذهب من العكس ، في الواقع على الانترنت يقول ما يجب السماح به للبرنامج للعمل ، على التوالي ، تم حظر سجل DNS * .net.anydesk.com. لكن AnyDesk ليس بسيطًا ، فهو لا يهتم بحظر اسم المجال.

بمجرد حل مشكلة حظر "Anyplace Control" التي جاءت إلينا مع بعض البرامج المشبوهة ، وتم حلها عن طريق حظر عدد قليل فقط من عناوين IP (قمت بتأمين مضاد الفيروسات). مشكلة AnyDesk ، بعد أن جمعت يدويًا أكثر من عشرة عناوين IP ، استفزاز الابتعاد عن العمل اليدوي الروتيني.

وجد أيضًا أنه في "C: ProgramDataAnyDesk" يوجد عدد من الملفات ذات الإعدادات وما إلى ذلك ، وفي الملف ad_svc.trace يتم جمع الأحداث المتعلقة بالاتصالات والفشل.

1. الملاحظة

كما ذكرنا سابقًا ، فإن حجب * .anydesk.com لم يعطِ أي نتائج في البرنامج ، فقد تقرر التحليل برنامج السلوك في المواقف العصيبة. TCPView من Sysinternals في متناول اليد وانطلق!

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk

1.1 يمكن ملاحظة أن العديد من العمليات التي تهمنا "معلقة" ، ولا يهمنا سوى العملية التي تتواصل مع العنوان من الخارج. تم نقل المنافذ التي يتصل بها ، مما رأيته: 80 ، 443 ، 6568. 🙂 80 و 443 لا يمكننا بالتأكيد منعها.

1.2 بعد حظر العنوان من خلال جهاز التوجيه ، يتم تحديد عنوان آخر بهدوء.

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk

1.3 وحدة التحكم لدينا هي كل شيء! لقد حددنا PID ثم حالفني الحظ قليلاً لأن AnyDesk قد تم تثبيته بواسطة الخدمة ، على التوالي ، PID الذي كنت أبحث عنه هو الوحيد.
1.4 نحدد عنوان IP لخادم الخدمة بواسطة معرف المنتج للعملية.

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk

2. التحضير

نظرًا لأن برنامج اكتشاف عناوين IP سيعمل على الأرجح فقط على جهاز الكمبيوتر الخاص بي ، فليس لدي قيود على الملاءمة والكسل ، لذلك C #.

2.1. جميع طرق تحديد عنوان IP المطلوب معروفة بالفعل ، ولا يزال يتعين تنفيذها.

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
من السطر ، على غرار الخطوة السابقة ، نستخرج العمود الثالث ، ونزيل كل شيء بعد ":". نتيجة لذلك ، لدينا عنوان IP الذي نريده.

2.2. حظر IP في Windows. إذا كان لدى Linux Blackhole و iptables ، فإن طريقة حظر عنوان IP في سطر واحد ، دون استخدام جدار حماية ، تبين أنها غير عادية في Windows ،
لكن ما هي الأدوات ...

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

المعلمة الرئيسية "إذا 1"أرسل المسار إلى Loopback (يمكنك عرض الواجهات المتاحة عن طريق تشغيل طباعة المسار). ومهم! الآن يحتاج البرنامج إلى التشغيل مع حقوق المسؤوللأن تغيير المسار يتطلب ارتفاعًا.

2.3 يعد عرض عناوين IP المحددة وحفظها مهمة تافهة ولا تتطلب شرحًا. إذا كنت تفكر في الأمر ، يمكنك معالجة الملف ad_svc.trace AnyDesk نفسها ، لكنني لم أفكر في الأمر على الفور + ربما هناك قيود على ذلك.

2.4 السلوك غير المتكافئ الغريب للبرنامج هو أنه عندما تكون عملية الخدمة "مُهلكة" في نظام التشغيل Windows 10 ، تتم إعادة التشغيل تلقائيًا ، في Windows 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 مرة واحدة في الدقيقة (أو في كثير من الأحيان؟) ، وإذا كان متصلاً ، أي تم إنشاء الاتصال - قم بحظر عنوان IP هذا ، ومرة ​​أخرى مرة أخرى - انتظر حتى يتم الاتصال ، وحظره وانتظر.

3. الاعتداء

تمت "صياغة" الكود ، وتقرر تصور العملية "+"تحديد IP الذي تم العثور عليه والمحظور ، و"."- الفحص المتكرر بدون اتصال ناجح من AnyDesk.

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk

رمز المشروع

نتيجة ل…

تحليل إمكانية حجب تطبيق للتحكم عن بعد بجهاز كمبيوتر عبر شبكة باستخدام مثال AnyDesk
عمل البرنامج على العديد من أجهزة الكمبيوتر بنظام تشغيل Windows مختلف ، مع إصدارات AnyDesk 5 و 6. تم جمع حوالي 500 عنوانًا في 80 تكرار. ل 2500 - 87 وهلم جرا ...

بمرور الوقت ، وصل عدد عناوين IP المحظورة إلى 100+.

رابط للنهائي ملف نصي بالعناوين: وقت и اثنان

تم! تتم إضافة مجموعة من عناوين IP إلى قواعد جهاز التوجيه الرئيسي من خلال برنامج نصي ، ولا يمكن لـ AnyDesk ببساطة إنشاء اتصال خارجي.

هناك لحظة غريبة ، حسب السجلات الأولية ، فمن الواضح أن العنوان متورط في نقل المعلومات التمهيد-01.net.anydesk.com. لقد حظرنا بالطبع جميع مضيفي * .net.anydesk.com كقاعدة عامة ، لكن هذا ليس أمرًا شاذًا. في كل مرة يتم إجراء اختبار ping عادي من أجهزة كمبيوتر مختلفة ، يعطي اسم المجال هذا عنوان IP مختلفًا. التحقق في Linux:

host boot-01.net.anydesk.com

مثل DNSLookup ، يعطون عنوان IP واحدًا فقط ، لكن هذا العنوان متغير. عند تحليل اتصال TCPView ، نحصل على سجلات PTR لعناوين IP مثل التتابع - *. net.anydesk.com.

نظريًا: نظرًا لأن ping يذهب أحيانًا إلى مضيف غير محظور غير معروف التمهيد-01.net.anydesk.com يمكننا العثور على عناوين IP والحظر هذه ، وجعل هذا التطبيق نصًا عاديًا في نظام التشغيل Linux ، ولا تحتاج هنا إلى تثبيت AnyDesk. أظهر التحليل أن عناوين IP هذه غالبًا ما تكون "تتقاطع"مع تلك الموجودة في قائمتنا. ربما يكون هذا هو المضيف فقط ، الذي يتصل به البرنامج قبل أن يبدأ في" فرز "عناوين IP المعروفة. ربما سأكمل المقالة لاحقًا بالجزء الثاني من عمليات البحث عن المضيف ، على الرغم من أنه في الوقت الحالي لا يقوم البرنامج نفسه بتثبيت الصلة الخارجية بشكل عام.

أتمنى ألا ترى أي شيء غير قانوني في ما سبق ، وسيتعامل مبتكرو AnyDesk مع أفعالي بطريقة رياضية.

المصدر: www.habr.com

إضافة تعليق