A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával

Amikor egy nap a főnök felteszi a kérdést: „Miért férnek hozzá egyesek távolról egy munkahelyi számítógéphez anélkül, hogy további használati engedélyeket szereznének?”
feladat van egy kiskaput "elfedni".

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával
Rengeteg alkalmazás létezik a hálózaton keresztüli távvezérlésre: Chrome távoli asztal, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control stb. Ha a Chrome távoli asztalnak van hivatalos kézikönyve a szolgáltatáshoz való hozzáférés leküzdésére, a TeamViewer időre és kérésekre korlátozza a licenceket. a hálózattól és a "fogcsikorgató" felhasználók valahogy "ragyognak" az adminokkal, akkor sokak kedvence személyes használatra - az AnyDesk továbbra is kiemelt figyelmet igényel, főleg, ha a főnök azt mondta, hogy "Nem!".

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával
Ha tudja, mi a hálózati csomag blokkolása a tartalma alapján, és megfelel Önnek, akkor az anyag többi része
nem szándékos Neked.

Valójában az ellenkezőjéről próbálok elmenni Online kiírja, hogy mit kell engedélyezni a program működéséhez, illetve a DNS rekord blokkolva lett *.net.anydesk.com. De az AnyDesk nem egyszerű, nem törődik a domain név blokkolásával.

Egyszer megoldottam az "Anyplace Control" blokkolásának problémáját, ami valami kétes szoftverrel érkezett hozzánk, és csak néhány IP blokkolásával oldottam meg (biztosítottam a vírusirtót). Az AnyDesk problémája, miután manuálisan több mint egy tucat IP-címet gyűjtöttem össze, provokált megszabadulni a rutin kétkezi munkától.

Azt is megállapították, hogy a "C: ProgramDataAnyDesk"-ben számos fájl található beállításokkal stb., és a fájlban ad_svc.trace a kapcsolatokról és meghibásodásokról szóló eseményeket gyűjtik össze.

1. Megfigyelés

Mint már említettük, az *.anydesk.com blokkolása nem hozott eredményt a programban, úgy döntöttek, hogy elemzik programozza be a viselkedést stresszes helyzetekben. TCPView a Sysinternalstól a kézben, és menj!

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával

1.1. Látható, hogy több, számunkra érdekes folyamat is „lóg”, és csak az érdekel minket, amelyik kívülről kommunikál a címmel. A portok, amelyekhez csatlakozik, át vannak helyezve, abból, amit láttam: 80, 443, 6568. 🙂 80 és 443 biztosan nem tudjuk blokkolni.

1.2. Miután blokkolta a címet az útválasztón keresztül, egy másik cím csendben kiválasztásra kerül.

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával

1.3. A mi konzolunk MINDEN! Meghatározzuk a PID-t, majd egy kis szerencsém volt, hogy az AnyDesk-et a szerviz telepítette, illetve az általam keresett PID az egyetlen.
1.4. A szolgáltatás szerver IP-címét a folyamat PID-je alapján határozzuk meg.

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával

2. Előkészítés

Mivel az IP-címeket feltáró program valószínűleg csak a PC-n fog működni, a kényelem és a lustaság tekintetében nincs korlátozásom, ezért a C#.

2.1. A kívánt IP-cím azonosítására szolgáló összes módszer már ismert, ezt még végre kell hajtani.

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

Hasonlóan megtaláljuk a kapcsolatot létrehozó szolgáltatást, csak a fővonalat adom meg

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

Aminek az eredménye lesz:

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával
A sorból az előző lépéshez hasonlóan kivonjuk a 3. oszlopot, és a ":" után mindent eltávolítunk. Ennek eredményeként megvan a kívánt IP-címünk.

2.2. IP-blokkolás a Windows rendszerben. Ha a Linuxnak van Blackhole és iptables, akkor az IP-cím egy sorban történő blokkolásának módja tűzfal használata nélkül szokatlannak bizonyult a Windowsban,
De milyen eszközök voltak...

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

Kulcsparaméter "ha 1" küldje el az útvonalat a Loopback-nek (Az elérhető felületeket a route print futtatásával jelenítheti meg). És FONTOS! Most már le kell futtatni a programot rendszergazdai jogokkalmert az útvonal megváltoztatása magasságot igényel.

2.3. Az azonosított IP-címek megjelenítése és mentése triviális feladat, és nem igényel magyarázatot. Ha gondolja, feldolgozhatja a fájlt ad_svc.trace Maga az AnyDesk, de nem gondoltam azonnal rá + talán van rá korlátozás.

2.4. A program furcsa, egyenlőtlen viselkedése az, hogy amikor Windows 10-ben a szervizfolyamatot „feladatozzák”, akkor automatikusan újraindul, Windows 8-ban pedig véget ér, csak a konzolos folyamatot hagyja hátra, újracsatlakozás nélkül, általában logikátlan és pontatlan.

A szerverhez csatlakozó folyamat törlése lehetővé teszi a következő címre történő újracsatlakozás „kényszerítését”. Az előző parancsokhoz hasonlóan valósul meg, ezért csak a következőket adok:

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

Ezenkívül indítsa el az AnyDesk programot.

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

2.5. Az AnyDesk állapotát percenként egyszer (vagy gyakrabban?) ellenőrizzük, és ha csatlakozik, pl. kapcsolat LÉPTETT - blokkolja ezt az IP-címet, és újra az egészet - várja meg, amíg csatlakozik, blokkolja és várjon.

3. Roham

A kódot „megszövegezték”, úgy döntöttek, hogy vizualizálják a folyamatot "+" adja meg a talált és blokkolt IP-címet, és"." - ismételt ellenőrzés sikeres csatlakozás nélkül az AnyDesktől.

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával

Projekt kód

Ennek eredményeként…

A számítógép hálózaton keresztüli távvezérlésére szolgáló alkalmazás blokkolásának lehetőségének elemzése az AnyDesk példájával
A program több különböző Windows operációs rendszerű számítógépen működött, az AnyDesk 5-ös és 6-os verziójával. Körülbelül 500 címet gyűjtöttek össze 80 iteráció során. 2500-87 és így tovább...

Idővel a blokkolt IP-címek száma elérte a 100-at.

Link a döntőhöz szöveges fájl címekkel: idő и два

Ez kész! Az IP-címek készlete egy szkripten keresztül hozzáadódik a fő útválasztó szabályaihoz, és az AnyDesk egyszerűen nem tud külső kapcsolatot létrehozni.

Van egy furcsa momentum, a kezdeti naplók szerint egyértelmű, hogy a cím részt vesz az információtovábbításban boot-01.net.anydesk.com. Természetesen általános szabályként letiltottuk az összes *.net.anydesk.com gazdagépet, de nem ez a furcsa. Minden alkalommal, amikor egy normál ping különböző számítógépekről történik, ez a tartománynév más IP-t ad. Ellenőrzés Linux alatt:

host boot-01.net.anydesk.com

a DNSLookuphoz hasonlóan csak egy IP-címet adnak meg, de ez a cím változó. A TCPView kapcsolat elemzésekor visszakapjuk az IP-címek PTR rekordjait, mint pl relay-*.net.anydesk.com.

Elméletileg: mivel a ping néha ismeretlen feloldott gazdagéphez megy boot-01.net.anydesk.com megtaláljuk ezeket az ip-ket és blokkokat, tegyük ezt a megvalósítást normál szkriptgé Linux OS alatt, itt nem kell telepíteni az AnyDesk-et. Az elemzés kimutatta, hogy ezek az IP-k gyakran "metszik egymást" a listánkból találtakkal. Talán ez csak ez a gazdagép, amelyhez a program csatlakozik, mielőtt elkezdené az ismert IP-címek "kiválogatását". Valószínűleg később kiegészítem a cikket a gazdagépkeresések 2. részével, bár jelenleg maga a program általában nem telepíti a külső csatlakozást.

Remélem, a fentiekben nem láttál semmi illegálisat, és az AnyDesk készítői sportszerűen kezelik a tetteimet.

Forrás: will.com

Hozzászólás