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 сайтын бөгөттөө программанын иштешинде эч кандай натыйжа берген жок, талдоо чечими кабыл алынды. стресстик кырдаалдарда программалык жүрүм-туруму. Sysinternals'тен TCPView колуңузда жана барыңыз!

AnyDesk мисалын колдонуу менен тармак аркылуу компьютерди алыстан башкаруу үчүн тиркемени бөгөттөө мүмкүнчүлүгүн талдоо

1.1. Бизди кызыктырган бир нече процесстер “илип” турганын көрүүгө болот, ал эми сырттан дарек менен байланышып жаткан процесс гана бизди кызыктырат. Ал туташкан порттор тандалып алынган, мен көргөнүмдөн: 80, 443, 6568. 🙂 Биз 80 жана 443тү сөзсүз бөгөттөй албайбыз.

1.2. Маршрутизатор аркылуу даректи бөгөттөгөндөн кийин, башка дарек тынч тандалат.

AnyDesk мисалын колдонуу менен тармак аркылуу компьютерди алыстан башкаруу үчүн тиркемени бөгөттөө мүмкүнчүлүгүн талдоо

1.3. Консол бул биздин БААРЫНЫЗ! Биз PIDди аныктайбыз, анан мен AnyDesk кызматы тарабынан орнотулганына бир аз бактылуу болдум, ошондуктан биз издеп жаткан PID жалгыз эле.
1.4. Биз PID процессинен тейлөө серверинин 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 мисалын колдонуу менен тармак аркылуу компьютерди алыстан башкаруу үчүн тиркемени бөгөттөө мүмкүнчүлүгүн талдоо
Мурунку кадамга окшоп, катардан 3-графаны чыгарып, ":" белгисинен кийин баарын алып салыңыз. Натыйжада биз каалаган ИМге ээ болдук.

2.2. Windowsта IP бөгөттөө. Эгерде Linuxда Blackhole жана iptables бар болсо, анда Windows'до брандмауэрди колдонбостон, бир сапта IP даректи бөгөттөө ыкмасы адаттан тыш болуп чыкты,
бирок кандай куралдар бар эле...

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 мисалын колдонуу менен тармак аркылуу компьютерди алыстан башкаруу үчүн тиркемени бөгөттөө мүмкүнчүлүгүн талдоо
Программа AnyDesk 5 жана 6 версиялары менен ар кандай Windows OS менен бир нече компьютерлерде иштеген. 500дөн ашык итерациялар, 80ге жакын даректер чогултулган. 2500 - 87 жана башкалар үчүн ...

Убакыттын өтүшү менен, бөгөттөлгөн IP саны 100+ жетти.

Финалга шилтеме текст файлы даректери менен: убакыт и два

Бул жасалды! IP даректеринин бассейни негизги роутердин эрежелерине скрипт аркылуу кошулган жана AnyDesk жөн гана тышкы байланышты түзө албайт.

Кызык жери бар, алгачкы журналдардан эле дарек маалымат берүүгө катышы бар экени көрүнүп турат boot-01.net.anydesk.com. Албетте, биз бардык *.net.anydesk.com хостторун жалпы эреже катары бөгөттөп койдук, бирок бул таң калыштуу нерсе эмес. Ар бир жолу ар кандай компьютерлерден кадимки пинг менен, бул домен аты башка IP берет. Linux текшерилүүдө:

host boot-01.net.anydesk.com

DNSLookup сыяктуу алар бир гана IP дарегин беришет, бирок бул дарек өзгөрүлмө. TCPView байланышын талдоодо, бизге типтеги IP даректеринин PTR жазуулары кайтарылат relay-*.net.anydesk.com.

Теориялык жактан: пинг кээде белгисиз блоктолбогон хостко кетет boot-01.net.anydesk.com биз бул IP'лерди таап, аларды бөгөттөй алабыз, бул ишке ашырууну Linux OS астында кадимки скрипт кыла алабыз, бул жерде AnyDesk орнотуунун кереги жок. Талдоо көрсөткөндөй, бул IP көп учурда "кесилишет"Биздин тизмеден табылгандар менен. Мүмкүн, программа белгилүү IP'дерди "сорттоо" башталганга чейин дал ушул хост менен туташып жаткандыр. Мен макаланы кийинчерээк хост издөөнүн 2-бөлүгү менен толуктайм, бирок учурда программанын өзү жалпысынан тармактын сырткы кошулуусунун ичинде орнотулбайт.

Жогоруда айтылгандардан мыйзамсыз эч нерсе көргөн жоксуз деп үмүттөнөм жана AnyDeskтин жаратуучулары менин аракеттериме спорттук мамиледе болушат.

Source: www.habr.com

Комментарий кошуу