Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján

Amikor egy szép napon a főnök felveti a kérdést: „Miért van néhány embernek távoli hozzáférése a munkahelyi számítógéphez, anélkül, hogy további engedélyt kérne a használatra?”,
felmerül a feladat, hogy "lezárjuk" a kiskaput.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján
Rengeteg távoli vezérlésre szolgáló alkalmazás létezik: Chrome távoli asztal, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control és még sokan mások. Ha a Chrome távoli asztalnak van hivatalos útmutatója a szolgáltatás hozzáférésének korlátozására, a TeamViewer időbeli vagy hálózati kérdésekkel kapcsolatos licenckorlátozásokkal rendelkezik, és a felhasználók "feszítve az állukat" valahogy "felbukkannak" az adminok előtt, akkor a sokak által kedvelt AnyDesk külön figyelmet igényel, főként, ha a főnök azt mondta: „Nem szabad!”.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján
Ha tudja, mi az a hálózati csomag tartalom szerinti blokkolása, és elfogadja azt, akkor a további anyag
nem Önnek szól. az Ön számára.

Megpróbálva fordított irányból megközelíteni, lényegében arról van szó, hogy mit kell engedélyezni a program működéséhez, ezért a DNS rekordot weboldalon *.net.anydesk.com blokkolták. De az AnyDesk nem egyszerű, a domain név blokkolása számára nem jelent akadályt.Egyszer már megoldottam az Anyplace Control blokkolásának feladatát, amely valamilyen gyanús szoftverrel érkezett hozzánk, és ezt csak néhány IP blokkolásával oldottam meg (nagyon figyeltem az antivírusra). Az AnyDesk blokkolásával kapcsolatos probléma, miután manuálisan összegyűjtöttem több mint egy tucat IP címet,

ösztönzött arra, hogy megszabaduljak a rutinszerű kézi munka végzésétől. Azt is felfedeztem, hogy a "C:ProgramDataAnyDesk" mappában van néhány beállításokkal és hasonlókkal kapcsolatos fájl, míg a fájlban

ad_svc.trace az összes kapcsolati és hibás kapcsolódási esemény gyűlik. 1. Megfigyelés

Ahogyan már említettük, a *.anydesk.com blokkolása nem hozott eredményt a program működésében, ezért úgy döntöttünk, hogy

analizáljuk a program viselkedését stresszes helyzetekben. TCPView a Sysinternals-től a kezünkben, és kezdjük el!1.1. Látható, hogy több érdekes folyamat "megáll", és csak az, amelyik kívülről kapcsolódik hozzánk, érdekel minket. Azok a portok, amelyekhez csatlakozik, a következők: 80, 443, 6568. 🙂 A 80 és 443 portot biztosan nem blokkolhatjuk.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján

1.2. A cím routeren keresztüli blokkolása után a program nyugodtan választ egy másik címet.

1.3. A konzol a mi MINDEN! Meghatározzuk a PID-t, és itt egy kis szerencsém volt, hogy az AnyDesk szolgáltatásként volt telepítve, így a keresett PID egyedüli volt.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján

1.4. Meghatározzuk a PID alapján a szolgáltatások szerverének IP címét.
1.4. A folyamat PID-jéből meghatározzuk a szolgáltatások szerverének IP címét.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján

2. Előkészítés

Mivel az IP-címek azonosítására szolgáló program valószínűleg csak a számítógépemen fog működni, nincsenek korlátaim a kényelem és a lustaság miatt, ezért C#.

2.1. Az összes módszer az IP-cím azonosítására már ismert, most már csak meg kell valósítani.

string pid1_; //megtudjuk az AnyDesk szolgáltatás PID-ját
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(','); //lefordítjuk a választ tömbbé
 pid1_ = pid1[1].Replace(""", ""); //a második elemet vesszük el idézőjelek nélkül
}

Hasonlóan megtaláljuk a szolgáltatást, amely létrehozta a kapcsolatot, csak az alapvető sort fogom bemutatni

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

Ami a következő eredményt adja:

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján
A sorból hasonlóan az előző lépéshez kiemeljük a harmadik oszlopot, és eltávolítunk mindent a ":" után. Az eredmény a keresett IP-címünk.

2.2. IP-cím blokkolása Windowsban. Míg Linuxban van Blackhole és iptables, az IP-cím egyszeri sorban, tűzfal használata nélkül történő blokkolása Windowsban szokatlan volt.
de hát milyen eszközök voltak…

route add a_másolt_IP_cím mask 255.255.255.255 10.113.113.113 if 1 -p

A kulcsfontosságú paraméter "if 1" a Loopback felé irányítja az útvonalat (a hozzáférhető interfészek megtekintéséhez futtassa a route print parancsot). És FONTOS! Most a programot adminisztrátori jogokkal kell futtatni, mivel az útvonal módosítása emelt jogokat 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 belegondolunk, akkor a AnyDesk fájlokat is lehetne feldolgozni, de erre nem gondoltam azonnal + lehet, hogy van rá korlátozás. az összes kapcsolati és hibás kapcsolódási esemény gyűlik. 2.4. A program különös, egyenetlen működése abban rejlik, hogy a Windows 10-ben a szolgáltatás folyamatát "taskkill" esetén automatikusan újraindítja, míg Windows 8-ban leáll, csak a konzol folyamatát hagyva élve, és akár kapcsolatmerülés nélkül, összességében logikátlan és pontatlan.

A szerverhez csatlakozó folyamat eltávolítása lehetővé teszi, hogy "kényszerítsük" az újracsatlakozást a következő címre. Hasonlóan valósítható meg, mint az előző parancsok, ezért csak a következőt említem:

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

Továbbá indítjuk az AnyDesk programot.

Továbbá elindítjuk az AnyDesk programot.

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

2.5. Az AnyDesk állapotát 1 percenként (vagy gyakrabban?) ellenőrizzük, és ha csatlakozott, azaz a kapcsolat ESTABLISHED — ezt az IP-címet blokkoljuk, és újra kezdjük — várni, hogy csatlakozzon, blokkolni, majd várni.

3. Támadás

Készült egy kód, hogy vizualizálja a folyamatot, és úgy döntöttünk, hogy "+" megjelöljük a talált és blokkolt IP-t, valamint a "." — az újrakontrollálás az AnyDesk oldalán történő sikeres csatlakozás nélkül.

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján

→ A projekt kódja

Az eredmény…

Az alkalmazások blokkolásának lehetősége a számítógép távvezérlésére a hálózaton, az AnyDesk példáján
A program több számítógépen futott különböző Windows operációs rendszerekkel, az AnyDesk 5 és 6 verzióival. 500 iteráció alatt körülbelül 80 címet gyűjtöttünk össze. 2500-nál 87, és így tovább…

Idővel a blokkolt IP-k száma meghaladta a 100-at.

Hivatkozás a végső szöveges fájlra címekkel: egyszer és kétszer

A feladat elvégezve! Az IP-címek készletét a szkripttel hozzáadtuk a fő router szabályaihoz, és az AnyDesk egyszerűen nem tud külső kapcsolatot létrehozni.

Van egy furcsa dolog, az eredeti naplók alapján látható, hogy az információ továbbításában részt vesz a cím: boot-01.net.anydesk.com. Természetesen blokkoltuk az összes *.net.anydesk.com hosztot, de a furcsaság nem itt van. Minden alkalommal, amikor normál pinget hajtunk végre különböző számítógépekről, ez a domain név különböző IP-t ad.

host boot-01.net.anydesk.com

ahogy a DNSLookup is csak egy IP címet ad, de ez a cím változó. A TCPView kapcsolatainak elemzésénél olyan PTR rekordokat kapunk, mint például relay-*.net.anydesk.com.

Elméletileg: mivel a ping néha átmegy egy ismeretlen blokkolatlan hoszton, boot-01.net.anydesk.com meg találhatjuk ezeket az IP-ket és blokkolhatjuk őket, ezt a megoldást egy egyszerű Linux szkripttel megvalósíthatjuk, itt nem is szükséges az AnyDesk telepítése. Az elemzés azt mutatta, hogy ezek az IP-k gyakran "kereszteződnek" a listánkról találtakkal. Lehetséges, hogy ez a hoszt éppen az, amelyhez a program csatlakozik, mielőtt elkezdi a már ismert IP-k „átválogatását”. Valószínűleg később kiegészítem a cikket a hosztok keresésének második részével, bár jelenleg a program a hálózaton belül egyáltalán nem létesít külső kapcsolatot.

Remélem, nem láttak semmi jogelleneset a fentiekben, és az AnyDesk készítői sportosan viszonyulnak a cselekedeteimhez.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster