Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik

Wanneer die baas eendag die vraag stel: "Hoekom het sommige mense afstandtoegang tot 'n werkrekenaar sonder om bykomende toestemmings vir gebruik te verkry?",
daar is 'n taak om 'n skuiwergat te "toesmeer".

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik
Daar is baie toepassings vir afstandbeheer oor die netwerk: Chrome remote desktop, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control, ens. As Chrome remote desktop 'n amptelike handleiding het om toegang tot die diens te bekamp, ​​het TeamViewer lisensiebeperkings op tyd of versoeke van die netwerk af en gebruikers wat op hul tande "kners" op een of ander manier "skyn" saam met die admins, dan is die gunsteling van baie vir persoonlike gebruik - AnyDesk vereis steeds spesiale aandag, veral as die baas "Nee!" gesê het.

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik
As jy weet wat blokkering van 'n netwerkpakkie is volgens die inhoud en dit pas by jou, dan is die res van die materiaal
nie bedoel nie vir jou.

Om eintlik van die teenoorgestelde te probeer gaan Online dit sê wat onderskeidelik toegelaat moet word vir die program om te werk, die DNS-rekord is geblokkeer *.net.anydesk.com. Maar AnyDesk is nie eenvoudig nie, dit gee nie om om 'n domeinnaam te blokkeer nie.

Ek het een keer die probleem opgelos om "Enigeplekbeheer" te blokkeer wat na ons toe gekom het met 'n paar twyfelagtige sagteware, en dit is opgelos deur slegs 'n paar IP's te blokkeer (ek het die antivirus beveilig). Die probleem met AnyDesk, nadat ek meer as 'n dosyn IP-adresse handmatig versamel het, uitgelok wegkom van roetine handearbeid.

Daar is ook gevind dat daar in "C: ProgramDataAnyDesk" 'n aantal lêers met instellings, ens., en in die lêer is ad_svc.trace gebeure oor verbindings en mislukkings word versamel.

1. Waarneming

Soos reeds genoem, het die blokkering van *.anydesk.com geen resultate in die program opgelewer nie, daar is besluit om te ontleed programmeer gedrag in stresvolle situasies. TCPView van Sysinternals in die hand en gaan!

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik

1.1. Daar kan gesien word dat verskeie prosesse van belang vir ons “hang”, en net die een wat van buite af met die adres kommunikeer, is vir ons van belang. Die poorte waaraan dit verbind word, word geskuif, van wat ek dit gesien het: 80, 443, 6568. 🙂 80 en 443 kan ons beslis nie blokkeer nie.

1.2. Nadat die adres deur die router geblokkeer is, word 'n ander adres stilweg gekies.

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik

1.3. Ons konsole is ALLES! Ons bepaal die PID en toe het ek 'n bietjie gelukkig dat AnyDesk onderskeidelik deur die diens geïnstalleer is, die PID waarna ek gesoek het is die enigste een.
1.4. Ons bepaal die IP-adres van die diensbediener deur die PID van die proses.

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik

2. Voorbereiding

Aangesien die program vir die ontdekking van IP-adresse waarskynlik net op my rekenaar sal werk, het ek geen beperkings op gerief en luiheid nie, so C#.

2.1. Alle metodes om die gewenste IP-adres te identifiseer is reeds bekend, dit moet nog geïmplementeer word.

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

Net so vind ons die diens wat die verbinding tot stand gebring het, ek sal slegs die hooflyn gee

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

Die resultaat daarvan sal wees:

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik
Uit die reël, soortgelyk aan die vorige stap, onttrek ons ​​die 3de kolom en verwyder alles na die ":". As gevolg hiervan het ons ons gewenste IP.

2.2. IP-blokkering in Windows. As Linux Blackhole en iptables het, dan was die metode om 'n IP-adres in een reël te blokkeer, sonder om 'n firewall te gebruik, ongewoon in Windows geblyk te wees,
Maar watter gereedskap was ...

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

Sleutel parameter "as 1" stuur die roete na Loopback (Jy kan die beskikbare koppelvlakke vertoon deur roetedruk te hardloop). En BELANGRIK! Nou moet die program uitgevoer word met administrateur regtewant die verandering van die roete vereis hoogte.

2.3. Die vertoon en stoor van die geïdentifiseerde IP-adresse is 'n onbenullige taak en vereis nie verduideliking nie. As jy daaroor dink, kan jy die lêer verwerk ad_svc.trace AnyDesk self, maar ek het nie dadelik daaraan gedink nie + miskien is daar 'n beperking daarop.

2.4. Die vreemde ongelyke gedrag van die program is dat wanneer die diensproses "taskkilled" is in Windows 10, dit outomaties herbegin, in Windows 8 eindig dit, wat net die konsoleproses verlaat en sonder om weer te koppel, is dit oor die algemeen onlogies en onakkuraat.

Deur 'n proses uit te vee wat aan die bediener gekoppel is, kan jy 'n herverbinding na die volgende adres "afdwing". Dit word soortgelyk aan die vorige opdragte geïmplementeer, so ek gee slegs:

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

Begin ook die AnyDesk-program.

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

2.5. Ons sal die status van AnyDesk een keer per minuut (of meer dikwels?) nagaan en as dit gekoppel is, d.w.s. verbinding GEVESTIG - blokkeer hierdie IP, en weer van voor af - wag totdat dit verbind, blokkeer en wag.

3. Aanranding

Die kode is "opgestel", daar is besluit om die proses te visualiseer "+"spesifiseer gevind en geblokkeerde IP, en"." - herhaalde kontrole sonder suksesvolle verbinding vanaf AnyDesk.

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik

Projek kode

As gevolg daarvan…

Ontleding van die moontlikheid om 'n toepassing vir afstandbeheer van 'n rekenaar oor 'n netwerk te blokkeer, deur die voorbeeld van AnyDesk te gebruik
Die program het op verskeie rekenaars met verskillende Windows-bedryfstelsels gewerk, met AnyDesk-weergawes 5 en 6. Ongeveer 500 adresse is in 80 iterasies ingesamel. Vir 2500 - 87 en so aan ...

Met verloop van tyd het die aantal geblokkeerde IP's 100+ bereik.

Skakel na finaal tekslêer met adresse: tyd и два

Dit is gedoen! 'n Poel IP-adresse word deur middel van 'n skrip by die reëls van die hoofroeteerder gevoeg, en AnyDesk kan eenvoudig nie 'n eksterne verbinding skep nie.

Daar is 'n vreemde oomblik, volgens die aanvanklike logs, is dit duidelik dat die adres betrokke is by die oordrag van inligting boot-01.net.anydesk.com. Ons het natuurlik alle *.net.anydesk.com-gashere as 'n algemene reël geblokkeer, maar dit is nie die eienaardigheid nie. Elke keer as 'n normale ping vanaf verskillende rekenaars, gee hierdie domeinnaam 'n ander IP. Kontroleer in Linux:

host boot-01.net.anydesk.com

soos DNSLookup, gee hulle net een IP-adres, maar hierdie adres is veranderlik. Wanneer 'n TCPView-verbinding ontleed word, kry ons PTR-rekords van IP-adresse soos relay-*.net.anydesk.com.

Teoreties: aangesien die ping soms na 'n onbekende ongeblokkeerde gasheer gaan boot-01.net.anydesk.com ons kan hierdie ip vind en blokkeer, maak hierdie implementering 'n gewone script onder Linux OS, hier hoef jy nie AnyDesk te installeer nie. Die ontleding het getoon dat hierdie IP's dikwels "kruis" met dié wat uit ons lys gevind is. Miskien is dit net hierdie gasheer, waaraan die program koppel voordat dit begin om bekende IP's te "uitsorteer". Ek sal waarskynlik later die artikel aanvul met die 2de deel van gasheersoektogte, alhoewel op die oomblik die program self installeer nie outer join in die algemeen nie.

Ek hoop jy het niks onwettigs in die bogenoemde gesien nie, en die skeppers van AnyDesk sal my optrede op 'n sportiewe manier hanteer.

Bron: will.com

Voeg 'n opmerking