Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi

Þegar dag einn varpar yfirmaðurinn upp spurningunni: „Af hverju hafa sumir fjaraðgang að vinnutölvu án þess að fá viðbótarleyfi til notkunar?
það er verkefni að "hylja" glufu.

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi
Það eru fullt af forritum fyrir fjarstýringu yfir netið: Chrome fjarstýring, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control, osfrv. Ef Chrome fjarstýring er með opinbera handbók til að berjast gegn aðgangi að þjónustunni, hefur TeamViewer leyfistakmarkanir á tíma eða beiðnir frá netinu og notendur sem „gnanna tennur“ einhvern veginn „skína“ á stjórnendur, þá er uppáhalds margra til einkanota - AnyDesk krefst samt sérstakrar athygli, sérstaklega ef yfirmaðurinn sagði „Nei!“.

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi
Ef þú veist hvað blokkun á netpakka er með innihaldi hans og það hentar þér, þá er restin af efninu
ekki ætlað fyrir þig.

Reynt að fara úr andstæðunni, reyndar Online það segir hvað ætti að leyfa til að forritið virki, hvort um sig, DNS-skráin var læst *.net.anydesk.com. En AnyDesk er ekki einfalt, það er sama um að loka á lén.

Einu sinni leysti ég vandamálið með að loka á "Anyplace Control" sem kom til okkar með einhverjum vafasömum hugbúnaði, og það var leyst með því að loka á aðeins nokkrar IP-tölur (ég tryggði vírusvörnina). Vandamálið með AnyDesk, eftir að ég safnaði handvirkt meira en tugi IP tölur, ögrað komast í burtu frá hefðbundinni handavinnu.

Einnig kom í ljós að í "C: ProgramDataAnyDesk" er fjöldi skráa með stillingum o.s.frv., og í skránni ad_svc.trace atburðum um tengingar og bilanir er safnað.

1. Athugun

Eins og áður hefur komið fram gaf það engar niðurstöður í forritinu að loka á *.anydesk.com, það var ákveðið að greina forrita hegðun við streituvaldandi aðstæður. TCPView frá Sysinternals í höndunum og farðu!

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi

1.1. Það má sjá að nokkur ferli sem vekur áhuga okkar „hengja“ og aðeins sá sem hefur samskipti við heimilisfangið utan frá vekur áhuga okkar. Gáttirnar sem það tengist eru færðar, miðað við það sem ég sá það: 80, 443, 6568. 🙂 80 og 443 getum við örugglega ekki lokað.

1.2. Eftir að hafa lokað heimilisfanginu í gegnum beininn er annað heimilisfang valið hljóðlega.

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi

1.3. Stjórnborðið okkar er ALLT! Við ákveðum PID og þá varð ég svolítið heppinn að AnyDesk var sett upp af þjónustunni, í sömu röð, PID sem ég var að leita að er sá eini.
1.4. Við ákveðum IP tölu þjónustuþjónsins með PID ferlisins.

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi

2. Undirbúningur

Þar sem forritið til að uppgötva IP tölur mun líklega bara virka á tölvunni minni, hef ég engar takmarkanir á þægindum og leti, svo C#.

2.1. Allar aðferðir til að bera kennsl á viðkomandi IP tölu eru þegar þekktar, það á eftir að útfæra það.

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

Á sama hátt finnum við þjónustuna sem kom á tengingunni, ég mun aðeins gefa upp aðallínuna

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

Niðurstaðan verður:

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi
Úr línunni, svipað og í fyrra skrefi, drögum við út 3. dálkinn og fjarlægjum allt á eftir ":". Fyrir vikið höfum við æskilega IP okkar.

2.2. IP-blokkun í Windows. Ef Linux er með Blackhole og iptables, þá reyndist aðferðin við að loka IP tölu í einni línu, án þess að nota eldvegg, óvenjuleg í Windows,
En hvaða verkfæri voru...

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

Lykilbreyta "ef 1" sendu leiðina til Loopback (Þú getur sýnt tiltæk viðmót með því að keyra leiðarprentun ). Og MIKILVÆGT! Nú þarf að keyra forritið með stjórnandaréttindiþví að breyta leiðinni krefst hækkunar.

2.3. Að birta og vista auðkenndar IP tölur er léttvægt verkefni og þarfnast ekki skýringa. Ef þú hugsar um það geturðu unnið úr skránni ad_svc.trace AnyDesk sjálft, en ég hugsaði ekki strax um það + kannski er takmörkun á því.

2.4. Hin undarlega ójöfnu hegðun forritsins er sú að þegar þjónustuferlið er „verkefnalegt“ í Windows 10 endurræsist það sjálfkrafa, í Windows 8 lýkur því, og skilur aðeins eftir stjórnborðsferlið og án þess að tengjast aftur, almennt er það órökrétt og ónákvæmt.

Að eyða ferli sem hefur tengst þjóninum gerir þér kleift að "þvinga" endurtengingu á næsta heimilisfang. Það er útfært á svipaðan hátt og fyrri skipanir, svo ég gef aðeins:

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

Að auki skaltu ræsa AnyDesk forritið.

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

2.5. Við munum athuga stöðu AnyDesk einu sinni á mínútu (eða oftar?), og ef það er tengt, þ.e. tenging komið á fót - lokaðu þessari IP, og aftur allt aftur - bíddu þar til hún tengist, lokaðu og bíddu.

3. Árás

Kóðinn var „saminn“, ákveðið var að sjá ferlið „+" tilgreindu fundið og læst IP, og "." - endurtekin athugun án árangursríkrar tengingar frá AnyDesk.

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi

Verkefnakóði

Þar af leiðandi…

Greining á möguleikanum á að loka á forrit fyrir fjarstýringu á tölvu yfir netkerfi, með því að nota AnyDesk sem dæmi
Forritið virkaði á nokkrum tölvum með mismunandi Windows OS, með AnyDesk útgáfum 5 og 6. Um 500 heimilisföngum var safnað í 80 endurtekningum. Fyrir 2500 - 87 og svo framvegis ...

Með tímanum náði fjöldi lokaðra IP-tölva 100+.

Tengill á úrslitaleikinn textaskrá með heimilisföngum: tími и два

Það er búið! Fjöldi IP-talna er bætt við reglur aðalbeins í gegnum skriftu og AnyDesk getur einfaldlega ekki búið til ytri tengingu.

Það er undarlegt augnablik, samkvæmt fyrstu logs, er ljóst að heimilisfangið á þátt í flutningi upplýsinga boot-01.net.anydesk.com. Við höfum auðvitað lokað á alla *.net.anydesk.com gestgjafa sem almenna reglu, en það er ekki skrítið. Í hvert skipti sem venjulegt ping frá mismunandi tölvum gefur þetta lén annað IP. Athugar í Linux:

host boot-01.net.anydesk.com

eins og DNSLookup gefa þeir aðeins upp eina IP tölu, en þetta heimilisfang er breytilegt. Þegar TCPView tenging er þáttuð fáum við til baka PTR skrár yfir IP tölur eins og relay-*.net.anydesk.com.

Fræðilega séð: þar sem pingið fer stundum á óþekktan opið hýsil boot-01.net.anydesk.com við getum fundið þessa ip og blokk, gert þessa útfærslu að venjulegu handriti undir Linux OS, hér þarftu ekki að setja upp AnyDesk. Greiningin sýndi að þessar IP-tölur eru oft "skerast" með þeim sem fundust af listanum okkar. Kannski er þetta bara þessi gestgjafi, sem forritið tengist áður en það byrjar að "flokka út" þekktar IP-tölur. Sennilega síðar mun ég bæta við greinina með 2. hluta hýsingarleitar, þó að í augnablikinu forritið sjálft setur ekki upp ytri join almennt.

Ég vona að þú hafir ekki séð neitt ólöglegt í ofangreindu, og höfundar AnyDesk munu koma fram við gjörðir mínar á sportlegan hátt.

Heimild: www.habr.com

Bæta við athugasemd