AnyDesk мысалын қолдана отырып, желі арқылы компьютерді қашықтан басқаруға арналған қолданбаны блоктау мүмкіндігін талдау

Бір күні бастық: «Неге кейбір адамдар пайдалану үшін қосымша рұқсаттарсыз жұмыс компьютеріне қашықтан қол жеткізе алады?» Деген сұрақты көтергенде.
Тапсырма саңылауды «жабу» үшін туындайды.

AnyDesk мысалын қолдана отырып, желі арқылы компьютерді қашықтан басқаруға арналған қолданбаны блоктау мүмкіндігін талдау
Желіде қашықтан басқаруға арналған көптеген қолданбалар бар: Chrome қашықтағы жұмыс үстелі, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control және т.б.. Егер Chrome қашықтағы жұмыс үстелінде қызметке кіруге қарсы күресуге арналған ресми нұсқаулық болса, TeamViewer уақытында немесе сұрауларында лицензиялау шектеулері бар. желіден және пайдаланушылардан әкімшілермен «тістерін қайрайды» немесе басқаша «жарқырайды», содан кейін жеке пайдалану үшін көпшіліктің сүйіктісі - AnyDesk әлі де ерекше назар аударуды қажет етеді, әсіресе егер бастық «Жоқ!» Десе.

AnyDesk мысалын қолдана отырып, желі арқылы компьютерді қашықтан басқаруға арналған қолданбаны блоктау мүмкіндігін талдау
Мазмұны бойынша желілік пакетті бұғаттаудың не екенін білсеңіз және оған қанағаттансаңыз, онда қалған материал
арналмаған Сіз үшін.

Қарама-қарсы жолмен жүруге тырысу, шын мәнінде сайт ол бағдарламаның жұмыс істеуі үшін не рұқсат беру керектігін айтады, сәйкесінше, DNS жазбасы бұғатталды *.net.anydesk.com. Бірақ AnyDesk қарапайым емес; ол домендік атауды бұғаттау туралы ойламайды.

Бір кездері мен бізге қандай да бір күмәнді бағдарламалық қамтамасыз етумен келген «Кез келген жерде басқаруды» блоктау мәселесін шештім және ол бірнеше 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-бағанды ​​шығарып, «:» белгісінен кейін бәрін алып тастаңыз. Нәтижесінде біз қалаған IP-ге ие болдық.

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" маршрутты кері циклге жіберіңіз (Бағдарламаны басып шығару арқылы қол жетімді интерфейстерді көрсете аласыз). ЖӘНЕ МАҢЫЗДЫ! Енді бағдарламаны іске қосу керек. әкімші құқықтарымен, өйткені бағытты өзгерту биіктікті қажет етеді.

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 операциялық жүйесі әртүрлі бірнеше компьютерлерде жұмыс істеді. 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.

Теориялық тұрғыдан: өйткені ping кейде белгісіз блоктан шығарылған хостқа өтеді boot-01.net.anydesk.com біз бұл IP-терді тауып, оларды блоктай аламыз, бұл іске асыруды Linux ОЖ астында кәдімгі сценарийге айналдырамыз, мұнда AnyDesk орнатудың қажеті жоқ. Талдау көрсеткендей, бұл IP жиі «қиылысу"Біздің тізімнен табылғандармен. Мүмкін, бағдарлама белгілі IP мекенжайларын "сұрыптауды" бастамас бұрын дәл осы хостқа қосылатын шығар. Мен мақаланы кейінірек хост іздеулерінің 2-ші бөлігімен толықтыратын шығармын, дегенмен қазіргі уақытта бағдарламаның өзі жалпы желіге сыртқы қосылуға орнатылмайды.

Жоғарыда айтылғандардан заңсыз ештеңе көрмедіңіз деп үміттенемін және AnyDesk жасаушылар менің әрекеттеріме спорттық тұрғыдан қарайды.

Ақпарат көзі: www.habr.com

пікір қалдыру