Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul

Kui ühel ilusal päeval tõstatab ülem küsimuse: „Miks on mõnel kaugjuurdepääs tööarvutile, ilma et oleks saadud lisalubasid?“,
tekib ülesanne „lekkekoha sulgemiseks“.

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul
Kaugjuhtimise rakendusi on küllaga: Chrome Remote Desktop, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control jms. Kui „Chrome Remote Desktopil“ on ametlik juhend selle teenuse juurdepääsu kontrollimiseks, siis TeamVieweril on ajapiirangud või võrgu päringute puhul piirangud ning kasutajad on „hambad kokku viies“ mis tahes mõttes adminnide jaoks nähtavad, siis paljude seas armastatud isiklikuks kasutamiseks AnyDesk nõuab veel erilist tähelepanu, eriti kui ülem on öelnud „Ei ole lubatud!“.

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul
Kui teate, mis on võrgu paketi blokeerimine selle sisu järgi ja see sobib teile, siis ülejäänud materjal
ei ole mõeldud teile.

Püüdes minna vastupidise tee, räägitakse sellest, mis peaks olema lubatud rakenduse toimimiseks, seega blokeeriti DNS-kirje veebisaidil *.net.anydesk.com . Kuid AnyDesk pole lihtne, domeeninime blokeerimine teda ei heiduta.Kunagi lahendasin ülesande „Anyplace Control“ blokeerimiseks, mis pääses meile mingist kahtlasest tarkvarast ja selle lahendasin mõningate IP-de blokeerimisega (ma kaitsesin end viirusetõrjega). Ülesanne AnyDeski puhul, pärast seda, kui kogusin käsitsi rohkem kui tosin IP-aadressi,

innustas mind lahkuma rutiinsest käsitsi tööst. Samuti avastati, et „C:ProgramDataAnyDesk“ kaustas on rida seadete ja muude sarnaste failide, ning faili

ad_svc.trace kogutakse ühenduste ja ebaõnnestumiste kohta sündmusi. 1. Jälgimine

Kuidas juba öeldud, *.anydesk.com blokeerimine ei andnud rakenduse töös mingeid tulemusi, otsustati analüüsida

rakenduse käitumist stressiolukordades. . TCPView Sysinternalsest kätte ja edasi!1.1. On nähtavad mitu huvitavat protsessi, ja ainult see, mis on seotud välise aadressiga, on meie jaoks huvitav. Portid, millele ühendatakse, vahelduvad, sellest, mida nägin, on need: 80, 443, 6568. 🙂 80 ja 443 ei tohi kindlasti blokeerida.

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul

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

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

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul

1.3. Konsool on meie kõik! Määrame PID ja mulle natuke vedas, et AnyDesk oli installitud teenusena, seega otsitav PID on ainus.
1.4. Määrame teenuse PID järgi serveri IP-aadressi.

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul

2. Valmistamine

Kuna IP-aadresside leidmise programm töötab tõenäoliselt ainult minu arvutis, ei ole mul mugavuse ja laiskuse osas mingeid piiranguid, seega C#.

2.1. Kõik meetodid otsitava IP-aadressi tuvastamiseks on juba teada, jääb vaid need ellu viia.

string pid1_; //saame teada AnyDeski teenuse PID
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(','); //muudame väljundi massiiviks
 pid1_ = pid1[1].Replace(""", ""); //võtame 2. elemendi ilma jutumärkideta
}

Sarnaselt leiame teenuse, mis luuakse ühendus, toome välja vaid peamise rea

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

Mille tulemuseks on:

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul
Väljundist sarnaselt eelnevale sammule võtame 3. veeru ja eemaldame kõik pärast ":". Nii saame meie otsitud IP.

2.2. IP-aadressi blokeerimine Windowsis. Kui Linuxis on Blackhole ja iptables, siis IP-aadressi blokeerimise meetod ühe reaga, ilma tulemüüri kasutamata, osutus Windowsis harjumatuks,
aga mis iganes tööriistad olid…

route add meie_leitud_IP_aadress mask 255.255.255.255 10.113.113.113 if 1 -p

Oluline parameeter "if 1" suunab marsruudi Loopbacki (saate näha saadaolevaid liidesi, käivitades route print). Ja OLULINE! Nüüd on programm vaja käivitada administraatori õigustega, kuna marsruudi muutmine nõuab kõrgendatud õigusi.

2.3. Tuvastatud IP-aadresside kuvamine ja salvestamine on triviaalne ülesanne, mis ei vaja selgitusi. Kui natuke mõelda, saab töödelda ka kogutakse ühenduste ja ebaõnnestumiste kohta sündmusi. isegi AnyDeski faili, kuid ma ei mõelnud selle peale kohe + võib-olla kehtib sellele piirang.

2.4. Probleemne ebaühtlane käitumine programmis seisneb selles, et Windows 10-s teenuse protsessi "taskkill" korral käivitub see automaatselt uuesti, Windows 8-s lõpetab see, jättes alles ainult konsooliprotsessi ilma uuesti ühendamata, kokkuvõttes ebaotstarbekas ja ebatäpne.

Serveri külge ühendatud protsessi eemaldamine võimaldab "sundida" uue ühenduse loomist järgmise aadressiga. See viiakse ellu sarnaselt varasematele käskudele, seetõttu toon välja ainult:

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

Käivitame täiendavalt programmi AnyDesk.

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

2.5. Kontrollime AnyDeski olekut 1 kord minutis (või sagedamini?), ja kui see on ühendatud, st ühendus on ESTABLISHED - blokeerime selle IP ja alustame kõik uuesti - ootame, kuni see ühendub, blokeerime ja ootame.

3. Rünnak

Kood on "visandatud", et visualiseerida protsessi otsustati "+" märkida leitud ja blokeeritud IP, ja "." - kontrollimise kordus ilma AnyDeski poolt eduka ühenduseta.

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul

Projekti kood

Kuna tulemus…

Analüüs kaugjuhtimise rakenduse blokeerimise võimalusest, näiteks AnyDeski puhul
Programm töötas mitmel arvutil erinevate Windowsi operatsioonisüsteemidega, AnyDeski versioonidega 5 ja 6. 500 iteratsiooni jooksul koguti umbes 80 aadressi. 2500 puhul - 87 ja nii edasi…

Aja möödudes jõudis blokeeritud IP-de arv üle 100+.

Link lõplikule tekstifailile aadressidega: üks ja kaks

Töö on tehtud! IP-aadresside loend skripti kaudu on lisatud põhisuunajate reeglitesse ja AnyDesk ei suuda lihtsalt luua välist ühendust.

On kummaline hetk, et algsete logide põhjal näib, et andmete edastamisel osaleb aadress boot-01.net.anydesk.com. Loomulikult blokeerisime kõik hostid *.net.anydesk.com üldise reegliga, kuid kummalisus ei ole selles. Iga kord, kui tavaline ping toimub erinevatelt arvutitelt, annab see domeeninimi erineva IP. Kontrollimine Linuxis:

host boot-01.net.anydesk.com

nagu ka DNSLookup annab ainult ühe IP aadressi, kuid see aadress on varieeruv. TCPView ühenduste analüüsimisel tagastavad meile PTR-recordid IP aadressid, mis on tüüpi relay-*.net.anydesk.com.

Teoreetiliselt: kuna ping mõnikord läheb tundmatule, mitte blokeeritud hostile boot-01.net.anydesk.com võime leida need IP-d ja blokeerida, seda rakendust saab teha tavalise skriptina Linuxi operatsioonisüsteemis, pole vaja isegi AnyDeskit installida. Analüüs näitas, et need IP-d sageli "ristuvad" meie loendist leitud IP-dega. Võib-olla on see just see host, millega programm ühendub enne, kui hakkab "katsetama" tuntud IP-sid. Tõenäoliselt täiendan ma hiljem artiklit teise osaga hostide otsingust, kuigi hetkel ei loo programm sisesüsteemis üldse välist ühendust.

Loodan, et Te ei näinud ühtegi seaduse rikkumist eespooltoodust, ning et AnyDeski loojad suhtuvad minu tegevustesse sportlikult.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster