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".
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!".
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
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!
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.
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.
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 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.
Ennek eredményeként…
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:
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