Ցանցի միջոցով համակարգչի հեռակառավարման հավելվածի արգելափակման հնարավորության վերլուծություն՝ օգտագործելով AnyDesk-ի օրինակը

Երբ մի օր ղեկավարը հարց է բարձրացնում. «Ինչո՞ւ են որոշ մարդիկ հեռակա մուտք ունեն աշխատանքային համակարգիչ՝ առանց օգտագործման լրացուցիչ թույլտվություններ ստանալու»:
խնդիր կա «ծածկել» սողանցքը.

Ցանցի միջոցով համակարգչի հեռակառավարման հավելվածի արգելափակման հնարավորության վերլուծություն՝ օգտագործելով AnyDesk-ի օրինակը
Ցանցի հեռակառավարման համար շատ հավելվածներ կան՝ Chrome remote desktop, 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 հասցեն գործընթացի PID-ով:

Ցանցի միջոցով համակարգչի հեռակառավարման հավելվածի արգելափակման հնարավորության վերլուծություն՝ օգտագործելով 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-ի օրինակը
Տողից, նախորդ քայլի նման, մենք հանում ենք 3-րդ սյունակը և հանում ենք ամեն ինչ «:»-ից հետո: Արդյունքում մենք ունենք մեր ցանկալի IP-ն։

2.2. IP-ի արգելափակում Windows-ում. Եթե ​​Linux-ն ունի Blackhole և iptables, ապա IP հասցեն մեկ տողով արգելափակելու մեթոդը, առանց firewall-ի օգտագործման, պարզվեց, որ անսովոր է Windows-ում,
Բայց ինչ գործիքներ էին...

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

Հիմնական պարամետր "եթե 1«ուղարկեք երթուղին Loopback-ին (կարող եք ցուցադրել հասանելի միջերեսները՝ գործարկելով route print ): Եվ ԿԱՐԵՎՈՐ է: Այժմ ծրագիրը պետք է գործարկվի: ադմինիստրատորի իրավունքներովքանի որ երթուղին փոխելը պահանջում է բարձրություն:

2.3. Նույնացված IP հասցեների ցուցադրումն ու պահպանումը չնչին խնդիր է և բացատրություն չի պահանջում: Եթե ​​մտածեք դրա մասին, կարող եք մշակել ֆայլը ad_svc.trace AnyDesk ինքնին, բայց ես անմիջապես չմտածեցի դրա մասին + միգուցե դրա վրա սահմանափակում կա:

2.4. Ծրագրի տարօրինակ անհավասար պահվածքն այն է, որ երբ Windows 10-ում սպասարկման գործընթացը «taskkilled» է, այն ինքնաբերաբար վերագործարկվում է, 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-ը պարզապես չի կարող արտաքին կապ ստեղծել։

Տարօրինակ պահ կա, ըստ նախնական տեղեկամատյանների՝ պարզ է, որ հասցեն ներգրավված է տեղեկատվության փոխանցման մեջ boot-01.net.anydesk.com. Մենք, իհարկե, արգելափակել ենք բոլոր *.net.anydesk.com հոսթերը որպես ընդհանուր կանոն, բայց դա տարօրինակ չէ: Ամեն անգամ, երբ տարբեր համակարգիչներից սովորական ping այս դոմենի անունը տալիս է տարբեր IP: Ստուգում Linux-ում.

host boot-01.net.anydesk.com

ինչպես DNSLookup-ը, նրանք տալիս են միայն մեկ IP հասցե, բայց այս հասցեն փոփոխական է: TCPView կապը վերլուծելիս մենք հետ ենք ստանում IP հասցեների PTR գրառումներ, ինչպիսիք են ռելե-*.net.anydesk.com.

Տեսականորեն. քանի որ պինգը երբեմն գնում է անհայտ ապաշրջափակված հոսթին boot-01.net.anydesk.com մենք կարող ենք գտնել այս ip-ն և արգելափակել, այս իրականացումը դարձնել սովորական սցենար Linux OS-ի ներքո, այստեղ ձեզ հարկավոր չէ տեղադրել AnyDesk-ը: Վերլուծությունը ցույց է տվել, որ այդ IP-ները հաճախ «հատվում են«Մեր ցուցակից գտնվածների հետ: Թերևս սա հենց այս հոսթն է, որին ծրագիրը միանում է մինչ կսկսի «դասավորել» հայտնի IP-երը: Հավանաբար ավելի ուշ հոդվածը կլրացնեմ հոսթինգի որոնումների 2-րդ մասով, թեև այս պահին. Ծրագիրն ինքնին ընդհանրապես չի տեղադրում արտաքին միացում:

Հուսով եմ, որ վերը նշվածում ոչ մի անօրինական բան չտեսաք, և AnyDesk-ի ստեղծողները սպորտային կվերաբերվեն իմ գործողություններին:

Source: www.habr.com

Добавить комментарий