AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish

Bir kuni xo'jayin savol tug'dirganda: "Nega ba'zi odamlar foydalanish uchun qo'shimcha ruxsatnomalarsiz ish kompyuteriga masofadan kirishadi?"
Vazifa bo'shliqni "yopish" uchun paydo bo'ladi.

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish
Tarmoqni masofadan boshqarish uchun ko'plab ilovalar mavjud: Chrome masofaviy ish stoli, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control va boshqalar. Agar Chrome masofaviy ish stolida xizmatga kirishga qarshi kurashish bo'yicha rasmiy qo'llanma bo'lsa, TeamViewerda vaqt yoki so'rovlar bo'yicha litsenziyalash cheklovlari mavjud. tarmoq va foydalanuvchilar ma'murlar bilan u yoki bu tarzda "tishlarini g'ijirlatadilar", keyin ko'pchilik shaxsiy foydalanish uchun sevimli - AnyDesk hali ham alohida e'tibor talab qiladi, ayniqsa xo'jayin "Yo'q!"

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish
Tarmoq paketini mazmuniga ko'ra blokirovka qilish nima ekanligini bilsangiz va undan qoniqsangiz, qolgan material
mo'ljallanmagan Siz uchun.

Qarama-qarshi tomondan borishga harakat qilish, aslida сайт unda dastur ishlashi uchun nima ruxsat berilishi kerakligi aytiladi; shunga ko'ra, DNS yozuvi bloklangan *.net.anydesk.com. Ammo AnyDesk oddiy emas; u domen nomini blokirovka qilish haqida qayg'urmaydi.

Bir vaqtlar men bizga qandaydir shubhali dasturiy ta'minot bilan kelgan "Anyplace Control" ni blokirovka qilish muammosini hal qildim va u faqat bir nechta IP-larni blokirovka qilish orqali hal qilindi (men antivirusni zaxira qildim). AnyDesk bilan bog'liq muammo, men o'ndan ortiq IP manzillarni qo'lda to'plaganimdan so'ng, meni qo'zg'atdi muntazam qo'l mehnatidan voz keching.

Bundan tashqari, "C: ProgramDataAnyDesk" da sozlamalari va boshqalar bilan bir qator fayllar va faylda mavjudligi aniqlandi. ad_svc.trace Ulanishlar va nosozliklar haqidagi voqealar to'planadi.

1. Kuzatish

Yuqorida aytib o'tilganidek, *.anydesk.com saytini bloklash dasturning ishlashida hech qanday natija bermadi, tahlil qilishga qaror qilindi. stressli vaziyatlarda dastur xatti-harakati. Sysinternals-dan TCPView sizning qo'lingizda va boring!

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish

1.1. Ko'rinib turibdiki, bizni qiziqtirgan bir nechta jarayonlar "osilgan" va faqat tashqi tomondan manzil bilan aloqa qiladigan narsa bizni qiziqtiradi. U ulanadigan portlar men ko'rganlarimdan tanlangan: 80, 443, 6568. 🙂 Biz, albatta, 80 va 443 ni bloklay olmaymiz.

1.2. Router orqali manzilni bloklagandan so'ng, boshqa manzil jimgina tanlanadi.

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish

1.3. Konsol bizning HAMMA narsamizdir! Biz PID-ni aniqlaymiz va keyin men AnyDesk-ni xizmat tomonidan o'rnatilgani uchun biroz omadim keldi, shuning uchun biz izlayotgan PID yagona edi.
1.4. Biz xizmat serverining IP manzilini PID jarayonidan aniqlaymiz.

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish

2. Tayyorgarlik

IP-manzillarni aniqlash dasturi, ehtimol, faqat mening shaxsiy kompyuterimda ishlaydi, shuning uchun menda qulaylik va dangasalik bo'yicha hech qanday cheklovlar yo'q, shuning uchun C#.

2.1. Kerakli IP-manzilni aniqlashning barcha usullari allaqachon ma'lum, uni amalga oshirish kerak.

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й элемент без кавычек
}

Xuddi shunday, biz ulanishni o'rnatgan xizmatni topamiz, men faqat asosiy yo'nalishni beraman

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

Buning natijasi quyidagicha bo'ladi:

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish
Oldingi bosqichga o'xshash qatordan 3-ustunni chiqarib oling va ":" dan keyin hamma narsani olib tashlang. Natijada, biz xohlagan IP-ga ega bo'lamiz.

2.2. IP-manzilni bloklash Windows... Agarda Linux Agar sizda Blackhole va iptables bo'lsa, unda xavfsizlik devoridan foydalanmasdan bitta satrda IP manzillarini blokirovka qilish usuli mavjud Windows g'ayrioddiy bo'lib chiqdi,
lekin qanday asboblar bor edi ...

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

Asosiy parametr "agar 1" Loopback ga marshrutni yuboring (Marshrutni chop etish orqali mavjud interfeyslarni ko'rsatishingiz mumkin). VA MUHIM! Endi dasturni ishga tushirish kerak. administrator huquqlari bilan, chunki marshrutni o'zgartirish balandlikni talab qiladi.

2.3. Aniqlangan IP manzillarni ko'rsatish va saqlash arzimas ish bo'lib, tushuntirishni talab qilmaydi. Agar siz bu haqda o'ylab ko'rsangiz, faylni qayta ishlashingiz mumkin ad_svc.trace AnyDesk-ning o'zi, lekin men bu haqda darhol o'ylamagan edim + ehtimol bu borada cheklov bor.

2.4. Dasturning g'alati notekisligi shundaki, siz xizmat jarayonini "taskkill" qilganingizda Windows 10 u avtomatik ravishda qayta ishga tushadi, Windows 8 tugaydi, faqat konsol jarayoni qoladi va qayta ulanmasdan, umuman olganda, bu mantiqsiz va bu noto'g'ri.

Serverga ulangan jarayonni olib tashlash keyingi manzilga qayta ulanishni “majburlash” imkonini beradi. U avvalgi buyruqlar bilan bir xil tarzda amalga oshiriladi, shuning uchun men uni shunchaki beraman:

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

Bundan tashqari, AnyDesk dasturini ishga tushiring.

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

2.5. Biz AnyDesk-ning holatini daqiqada bir marta tekshiramiz (yoki tez-tez?), va agar u ulangan bo'lsa, ya'ni. ulanish o'rnatildi - bu IP-ni bloklang va yana qaytadan - u ulanishini kuting, bloklang va kuting.

3. Hujum

Kod "chizildi" va jarayonni vizualizatsiya qilishga qaror qilindi "+"topilgan va bloklangan IPni ko'rsating va"."— AnyDesk-dan qo'shni muvaffaqiyatli ulanishisiz tekshirishni takrorlang.

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish

Loyiha kodi

Natijada…

AnyDesk misolidan foydalanib, tarmoq orqali kompyuterni masofadan boshqarish uchun dasturni blokirovka qilish imkoniyatini tahlil qilish
Dastur turli xil kompyuterlarda ishladi Windows AnyDesk 5 va 6 versiyalari bilan ishlaydigan operatsion tizim. 500 ta iteratsiyadan so'ng, taxminan 80 ta manzil to'plandi. 2500, 87 va hokazolardan keyin...

Vaqt o'tishi bilan bloklangan IP-lar soni 100+ ga yetdi.

Finalga havola matn fayli manzillar bilan: vaqt и два

Bajarildi! IP-manzillar hovuzi asosiy router qoidalariga skript orqali qo'shilgan va AnyDesk shunchaki tashqi ulanishni yarata olmaydi.

G'alati bir nuqta bor, dastlabki jurnallardan ma'lum bo'lishicha, manzil ma'lumot uzatishda ishtirok etadi boot-01.net.anydesk.comBiz umumiy qoida sifatida barcha *.net.anydesk.com xostlarini blokladik, ammo bu g'alati emas. Har safar biz ushbu domen nomiga turli kompyuterlardan ping yuborganimizda, u turli IP-manzilni qaytaradi. Tekshiruv Linux:

host boot-01.net.anydesk.com

DNSLookup kabi ular faqat bitta IP manzilini beradi, lekin bu manzil o'zgaruvchan. TCPView ulanishini tahlil qilishda bizga IP manzillarining PTR yozuvlari qaytariladi relay-*.net.anydesk.com.

Nazariy jihatdan: ping ba'zan bloklanmagan noma'lum xostga o'tadi boot-01.net.anydesk.com Biz ushbu IP manzillarni topib, ularni bloklashimiz mumkin. Buni OT ostida oddiy skript yordamida amalga oshirish mumkin. Linux, bu yerda AnyDesk ni o'rnatish shart emas. Tahlil shuni ko'rsatdiki, bu IP manzillar ko'pinchakesishadi"Ro'yxatimizdan topilganlar bilan. Ehtimol, dastur ma'lum IP-larni "tartiblash" boshlanishidan oldin aynan shu xostga ulanadi. Men maqolani keyinroq xost qidiruvining 2-qismi bilan to'ldiraman, garchi hozirda dasturning o'zi umuman tashqi ulanishni tarmoq ichida o'rnatmaydi.

Umid qilamanki, siz yuqorida aytilganlarda hech qanday noqonuniy narsani ko'rmadingiz va AnyDesk yaratuvchilari mening harakatlarimga sportchicha munosabatda bo'lishadi.

Manba: www.habr.com

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster