Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel

Kui ühel päeval ülemus tõstatab küsimuse: "Miks on mõnel inimesel kaugjuurdepääs tööarvutile ilma täiendavaid kasutusõigusi hankimata?",
on ülesanne "varjata" lünk.

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel
Võrgu kaudu kaugjuhtimiseks on palju rakendusi: Chrome'i kaugtöölaud, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control jne. Kui Chrome'i kaugtöölaual on teenusele juurdepääsu vastu võitlemiseks ametlik juhend, on TeamVieweril litsentsipiirangud aja või taotluste kohta. võrgust ja kasutajad "hambaid kiristades" kuidagi "säravad" koos adminitega, siis paljude lemmik isiklikuks kasutamiseks - AnyDesk nõuab ikka erilist tähelepanu, eriti kui ülemus ütles "Ei!".

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel
Kui tead, mis on võrgupaketi blokeerimine selle sisu järgi ja see sulle sobib, siis ülejäänud materjal
pole ette nähtud sinu jaoks.

Püüab minna vastupidist, tegelikult veebisait seal on kirjas, mis peaks olema programmi töötamiseks lubatud, vastavalt DNS-kirje blokeeriti *.net.anydesk.com. Kuid AnyDesk pole lihtne, see ei hooli domeeninime blokeerimisest.

Kord lahendasin mingi kahtlase tarkvaraga meile saabunud "Anyplace Controli" blokeerimise probleemi ja see lahenes vaid mõne IP blokeerimisega (turvasin viirusetõrje). AnyDeski probleem pärast seda, kui kogusin käsitsi rohkem kui tosin IP-aadressi, provotseeritud pääse rutiinsest käsitsitööst.

Samuti leiti, et "C: ProgramDataAnyDesk"-is on hulk faile koos seadistustega jne ning failis ad_svc.trace kogutakse sündmusi ühenduste ja rikete kohta.

1. Vaatlus

Nagu juba mainitud, ei andnud *.anydesk.com blokeerimine programmis tulemusi, otsustati analüüsida programmeerida käitumist stressirohketes olukordades. Sysinternalsi TCPView käes ja minek!

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel

1.1. Näha on, et mitmed meid huvitavad protsessid “ripuvad” ja meile pakub huvi vaid see, mis aadressiga väljastpoolt suhtleb. Portid, millega see ühendub, on teisaldatud, nagu ma nägin: 80, 443, 6568. 🙂 80 ja 443 me kindlasti ei saa blokeerida.

1.2. Pärast aadressi blokeerimist ruuteri kaudu valitakse vaikselt teine ​​aadress.

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel

1.3. Meie konsool on KÕIK! Määrame PID ja siis mul vedas veidi, et vastavalt AnyDesk oli teenuse poolt installitud, otsitud PID on ainuke.
1.4. Teenusserveri IP-aadressi määrame protsessi PID järgi.

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel

2. Ettevalmistus

Kuna IP-aadresside avastamise programm töötab ilmselt ainult minu arvutis, pole mul mugavuse ja laiskuse osas mingeid piiranguid, seega C#.

2.1. Kõik soovitud IP-aadressi tuvastamise meetodid on juba teada, seda tuleb veel rakendada.

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

Samamoodi leiame teenuse, mis ühenduse lõi, annan ainult põhiliini

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

Mille tulemus saab olema:

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel
Sarnaselt eelmisele sammule eraldame realt 3. veeru ja eemaldame kõik pärast ":". Selle tulemusena on meil soovitud IP.

2.2. IP blokeerimine Windowsis. Kui Linuxil on Blackhole ja iptables, siis IP-aadressi blokeerimise meetod ühel real ilma tulemüüri kasutamata osutus Windowsis ebatavaliseks,
Aga mis tööriistad olid...

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

Põhiparameeter "kui 1" saada marsruut Loopbackile (Saate kuvada saadaolevaid liideseid, käivitades marsruudi printimise ). Ja TÄHTIS! Nüüd tuleb programm käivitada administraatori õigustegasest marsruudi muutmine nõuab tõusu.

2.3. Tuvastatud IP-aadresside kuvamine ja salvestamine on triviaalne ülesanne ega vaja selgitusi. Kui järele mõtlete, saate faili töödelda ad_svc.trace AnyDesk ise, kuid ma ei mõelnud sellele kohe + võib-olla on sellel piirang.

2.4. Programmi kummaline ebavõrdne käitumine seisneb selles, et kui teenindusprotsess on Windows 10-s “taskkilled”, käivitub see automaatselt, Windows 8-s lõpeb, jättes alles ainult konsooli protsessi ja ilma uuesti ühendamata, üldiselt on see ebaloogiline ja ebatäpne.

Serveriga ühenduse loonud protsessi kustutamine võimaldab teil "sundida" uuesti ühenduse luua järgmisele aadressile. Seda rakendatakse sarnaselt eelmiste käskudega, seega annan ainult:

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

Lisaks käivitage programm AnyDesk.

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

2.5. AnyDeski olekut kontrollime korra minutis (või sagedamini?) ja kui see on ühendatud, s.t. ühendus LOODUD - blokeerige see IP ja jälle uuesti - oodake, kuni see ühendub, blokeerige ja oodake.

3. Rünnak

Kood koostati, otsustati protsess visualiseerida "+" määrake leitud ja blokeeritud IP ja "." - korduv kontroll ilma AnyDeski eduka ühenduseta.

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel

Projekti kood

Tulemusena…

Arvuti võrgu kaudu kaugjuhtimise rakenduse blokeerimise võimaluse analüüs AnyDeski näitel
Programm töötas mitmel erineva Windows OS-iga arvutil, AnyDeski versioonidega 5 ja 6. 500 iteratsiooniga koguti umbes 80 aadressi. 2500–87 ja nii edasi ...

Aja jooksul jõudis blokeeritud IP-de arv üle 100.

Link finaalile tekstifail aadressidega: aeg и два

See on tehtud! Pearuuteri reeglitesse lisatakse skripti kaudu IP-aadresside kogum ja AnyDesk lihtsalt ei saa välist ühendust luua.

On kummaline moment, esialgsete logide järgi on selge, et aadress on seotud info edastamisega boot-01.net.anydesk.com. Loomulikult oleme üldreeglina blokeerinud kõik *.net.anydesk.com-i hostid, kuid see pole veider. Iga kord, kui tavaline ping erinevatest arvutitest annab see domeeninimi erineva IP. Kontrollimine Linuxis:

host boot-01.net.anydesk.com

nagu DNSLookup, annavad nad ainult ühe IP-aadressi, kuid see aadress on muutuv. TCPView-ühenduse sõelumisel saame tagasi IP-aadresside PTR-kirjed, näiteks relee-*.net.anydesk.com.

Teoreetiliselt: kuna ping läheb mõnikord tundmatule blokeerimata hostile boot-01.net.anydesk.com leiame need IP-d ja blokeeringud, muutke selle teostuse tavaliseks skriptiks Linux OS-i all, siin ei pea te AnyDeski installima. Analüüs näitas, et need IP-d on sageli "ristuvad" meie nimekirjast leitutega. Võib-olla on see just see host, millega programm ühendub enne, kui hakkab teadaolevaid IP-sid "välja sorteerima". Ilmselt hiljem täiendan artiklit hostiotsingu 2. osaga, kuigi hetkel programm ise ei installi välist liitumist üldiselt.

Loodan, et te ei näinud ülaltoodust midagi ebaseaduslikku ja AnyDeski loojad suhtuvad minu tegemistesse sportlikult.

Allikas: www.habr.com

Lisa kommentaar