Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla

Kun eräänä päivänä pomo esittää kysymyksen: "Miksi joillakin ihmisillä on etäyhteys työtietokoneeseen ilman lisäkäyttöoikeuksia?",
on tehtävä "peittää" porsaanreikä.

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla
Verkossa on paljon sovelluksia kauko-ohjaukseen: Chrome-etätyöpöytä, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control jne. Jos Chrome-etätyöpöydällä on virallinen ohje palvelun käytön estämiseksi, TeamViewerilla on lisenssirajoituksia aika- tai pyyntöihin. verkosta ja käyttäjien "hampaitaan kiristettäessä" jotenkin "loistaa" järjestelmänvalvojien kanssa, niin monien suosikki henkilökohtaiseen käyttöön - AnyDesk vaatii silti erityistä huomiota, varsinkin jos pomo sanoi "Ei!".

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla
Jos tiedät mitä verkkopaketin estäminen sen sisällön perusteella on ja se sopii sinulle, niin muu materiaali
ei ole tarkoitettu Sinulle.

Itse asiassa yrittää mennä päinvastoin Online se sanoo, mitä pitäisi sallia ohjelman toimimiseksi, vastaavasti DNS-tietue estettiin *.net.anydesk.com. Mutta AnyDesk ei ole yksinkertainen, se ei välitä verkkotunnuksen estämisestä.

Kerran ratkaisin "Anyplace Controlin" esto-ongelman, joka tuli meille epäilyttävällä ohjelmistolla, ja se ratkaistiin estämällä vain muutama IP (turvasin virustorjunnan). Ongelma AnyDeskin kanssa, kun keräsin manuaalisesti yli tusina IP-osoitetta, provosoitunut päästä eroon rutiininomaisesta käsityöstä.

Havaittiin myös, että "C: ProgramDataAnyDesk" -ohjelmassa on useita tiedostoja, joissa on asetukset jne., ja tiedostossa ad_svc.trace yhteyksistä ja vioista kerätään tapahtumia.

1. Havainto

Kuten jo mainittiin, *.anydesk.com-sivuston estäminen ei antanut mitään tuloksia ohjelmassa, joten päätettiin analysoida ohjelmoi käyttäytymistä stressaavissa tilanteissa. Sysinternalsin TCPView kädessä ja menoksi!

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla

1.1. Voidaan nähdä, että useita meitä kiinnostavia prosesseja "roikkuu", ja vain se, joka kommunikoi osoitteen kanssa ulkopuolelta, kiinnostaa meitä. Portit, joihin se yhdistää, on siirretty, näkemästäni: 80, 443, 6568. 🙂 80 ja 443 emme todellakaan voi estää.

1.2. Kun osoite on estetty reitittimen kautta, toinen osoite valitaan hiljaa.

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla

1.3. Konsolimme on KAIKKI! Määritämme PID:n ja sitten minulla kävi vähän onnea, että palvelu asensi AnyDeskin, vastaavasti, etsimäni PID on ainoa.
1.4. Määritämme palvelupalvelimen IP-osoitteen prosessin PID:n perusteella.

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla

2. Valmistelu

Koska IP-osoitteiden etsintäohjelma toimii luultavasti vain tietokoneellani, minulla ei ole mitään rajoituksia mukavuuden ja laiskuuden suhteen, joten C#.

2.1. Kaikki menetelmät halutun IP-osoitteen tunnistamiseksi ovat jo tiedossa, se on vielä toteuttamatta.

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

Samoin löydämme palvelun, joka loi yhteyden, annan vain päälinjan

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

Sen tulos tulee olemaan:

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla
Poimimme riviltä, ​​kuten edellisessä vaiheessa, 3. sarakkeen ja poistamme kaikki ":" -merkin jälkeen. Tämän seurauksena meillä on haluttu IP-osoite.

2.2. IP esto Windowsissa. Jos Linuxissa on Blackhole ja iptables, tapa estää IP-osoite yhdellä rivillä ilman palomuuria, osoittautui epätavalliseksi Windowsissa,
Mutta mitkä työkalut olivat...

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

Avainparametri "jos 1" lähetä reitti Loopbackiin (Voit näyttää käytettävissä olevat rajapinnat suorittamalla route print ). Ja TÄRKEÄÄ! Nyt ohjelma on suoritettava ylläpitäjän oikeuksillakoska reitin muuttaminen vaatii korkeutta.

2.3. Tunnistettujen IP-osoitteiden näyttäminen ja tallentaminen on triviaali tehtävä, eikä se vaadi selityksiä. Jos ajattelet sitä, voit käsitellä tiedoston ad_svc.trace AnyDesk itse, mutta en heti ajatellut sitä + ehkä siinä on rajoitus.

2.4. Ohjelman outo epätasainen käyttäytyminen on, että kun palveluprosessi on "tehtävä" Windows 10:ssä, se käynnistyy automaattisesti uudelleen, Windows 8:ssa se päättyy, jättäen vain konsoliprosessin ja ilman uudelleenyhteyttä, se on yleensä epäloogista ja epätarkka.

Palvelimeen yhteyden muodostaneen prosessin poistaminen antaa sinun "pakottaa" yhteyden uudelleen seuraavaan osoitteeseen. Se toteutetaan samalla tavalla kuin edelliset komennot, joten annan vain:

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

Lisäksi käynnistä AnyDesk-ohjelma.

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

2.5. Tarkistamme AnyDeskin tilan kerran minuutissa (vai useammin?), ja jos se on kytketty, ts. yhteys MUODOSTETTU - estä tämä IP ja uudestaan ​​- odota kunnes se muodostaa yhteyden, estä ja odota.

3. Hyökkäys

Koodi "luonnosteltiin", prosessi päätettiin visualisoida "+"määritä löydetty ja estetty IP-osoite ja"." - toistuva tarkistus ilman onnistunutta yhteyttä AnyDeskistä.

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla

Projektikoodi

Tuloksena…

Analyysi mahdollisuudesta estää sovellus tietokoneen kauko-ohjaukseen verkossa AnyDeskin esimerkin avulla
Ohjelma toimi useilla tietokoneilla eri Windows-käyttöjärjestelmillä, AnyDesk versioilla 5 ja 6. Noin 500 osoitetta kerättiin 80 iteraatiossa. 2500-87 ja niin edelleen...

Ajan myötä estettyjen IP-osoitteiden määrä nousi yli 100:aan.

Linkki finaaliin tekstitiedosto osoitteineen: aika и два

Se on tehty! IP-osoitteiden joukko lisätään pääreitittimen sääntöihin komentosarjan avulla, eikä AnyDesk yksinkertaisesti voi luoda ulkoista yhteyttä.

On outo hetki, alustavien lokien mukaan on selvää, että osoite on mukana tiedonsiirrossa boot-01.net.anydesk.com. Olemme tietysti pääsääntöisesti estäneet kaikki *.net.anydesk.com-isännät, mutta se ei ole outoa. Joka kerta kun normaali ping eri tietokoneista tämä verkkotunnus antaa eri IP-osoitteen. Tarkistaminen Linuxissa:

host boot-01.net.anydesk.com

kuten DNSLookup, ne antavat vain yhden IP-osoitteen, mutta tämä osoite on muuttuva. Kun jäsentelemme TCPView-yhteyttä, saamme takaisin PTR-tietueet IP-osoitteista, kuten relay-*.net.anydesk.com.

Teoreettisesti: koska ping menee joskus tuntemattomalle estämättömälle isännälle boot-01.net.anydesk.com voimme löytää nämä ip:t ja lohkot, tehdä tästä toteutuksesta tavallisen skriptin Linux-käyttöjärjestelmässä, täällä sinun ei tarvitse asentaa AnyDeskiä. Analyysi osoitti, että nämä IP-osoitteet ovat usein "leikkaavat" listaltamme löytyneiden kanssa. Ehkä tämä on juuri tämä isäntä, johon ohjelma muodostaa yhteyden ennen kuin se alkaa "selvittää" tunnettuja IP-osoitteita. Luultavasti myöhemmin täydentän artikkelia isäntähakujen 2. osalla, vaikka tällä hetkellä itse ohjelma ei yleensä asenna ulkoista liitosta.

Toivottavasti et nähnyt yllä olevassa mitään laitonta ja AnyDeskin luojat suhtautuvat toimintaani urheilullisesti.

Lähde: will.com

Lisää kommentti