Egun batean nagusiak galdera planteatzen duenean: "Zergatik dute pertsona batzuek laneko ordenagailu batera urrutiko sarbidea erabiltzeko baimen gehigarririk lortu gabe?",
zirrikitu bat "estaltzeko" zeregina dago.
Sarean urruneko kontrolerako aplikazio ugari daude: Chrome urruneko mahaigaina, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control, etab. Chrome urruneko mahaigaina zerbitzurako sarbideari aurre egiteko eskuliburu ofiziala badu, TeamViewer-ek lizentzia-murrizketak ditu garaiz edo eskaerak. saretik eta erabiltzaileek "hortzak estutuz" nolabait "distira" egiten dute administratzaileekin, gero askoren gogokoena erabilera pertsonalerako - AnyDesk-ek arreta berezia eskatzen du oraindik, batez ere nagusiak "Ez!" esaten badu.
Badakizu sare pakete baten blokeoa zer den bere edukiaren arabera eta egokitzen zaizun, orduan gainerako materiala
ez asmoa zuretzat.
Alderantziz joan nahian, hain zuzen
Behin zalantzazko software batzuekin iritsi zitzaigun "Anyplace Control" blokeatzeko arazoa konpondu nuen, eta IP batzuk soilik blokeatuz konpondu zen (antibirusa bermatu nuen). AnyDesk-en arazoa, dozena bat IP helbide baino gehiago eskuz bildu ondoren, probokatua urrundu eskuzko lan arruntetik.
Era berean, aurkitu da "C: ProgramDataAnyDesk"-en ezarpenak eta abar dituzten fitxategi batzuk daudela eta fitxategian ad_svc.trace konexioei eta hutsegiteei buruzko gertaerak biltzen dira.
1. Behaketa
Esan bezala, *.anydesk.com blokeatzeak ez zuen programan emaitzarik eman, aztertzea erabaki zen. estres-egoeretan jokabidea programatzea. TCPView Sysinternals-etik eskuan eta joan!
1.1. Ikusten da guretzat interesgarriak diren hainbat prozesu βzintzilikβ daudela, eta kanpotik helbidearekin komunikatzen dena baino ez zaigu interesatzen. Lotzen dituen atakak mugitzen dira, ikusi dudanetik: 80, 443, 6568. π 80 eta 443 ezin ditugu blokeatu.
1.2. Bideratzailearen bidez helbidea blokeatu ondoren, beste helbide bat hautatzen da isilean.
1.3. Gure kontsola DENA da! PID zehazten dugu eta orduan zorte pixka bat izan nuen AnyDesk zerbitzuak instalatu zuela, hurrenez hurren, bilatzen nuen PID bakarra da.
1.4. Zerbitzu-zerbitzariaren IP helbidea prozesuaren PIDaren arabera zehazten dugu.
2. Prestaketa
IP helbideak ezagutzeko programak seguruenik nire ordenagailuan bakarrik funtzionatuko duenez, ez dut erosotasunari eta alferkeriari buruzko mugarik, beraz C#.
2.1. Nahi den IP helbidea identifikatzeko metodo guztiak ezagutzen dira dagoeneko, ezartzeko dago.
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ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±Π΅Π· ΠΊΠ°Π²ΡΡΠ΅ΠΊ
}
Era berean, konexioa ezarri zuen zerbitzua aurkitzen dugu, linea nagusia bakarrik emango dut
p.StartInfo.Arguments = "/c " netstat -n -o | findstr /I " + pid1_ + " | findstr "ESTABLISHED""";
Horren emaitza izango da:
Lerrotik, aurreko urratsaren antzera, 3. zutabea ateratzen dugu, eta ":"-ren ondorengo guztia kenduko dugu. Ondorioz, nahi dugun IPa dugu.
2.2. IP blokeatzea Windows-en. Linuxek Blackhole eta iptables baditu, orduan IP helbide bat lerro batean blokeatzeko metodoa, suebakirik erabili gabe, ezohikoa izan zen Windows-en,
Baina zer tresna ziren...
route add Π½Π°Ρ_Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ_IP_Π°Π΄ΡΠ΅Ρ mask 255.255.255.255 10.113.113.113 if 1 -p
Gako parametroa "1 bada" bidali ibilbidea Loopback-era (erabilgarri dauden interfazeak bistaratu ditzakezu ibilbidearen inprimaketa exekutatuz). Eta GARRANTZITSUA! Orain programa exekutatu behar da administratzaile eskubideekinibilbidea aldatzeak kota eskatzen duelako.
2.3. Identifikatutako IP helbideak bistaratzea eta gordetzea lan hutsala da eta ez du azalpenik behar. Pentsatzen baduzu, fitxategia prozesatu dezakezu ad_svc.trace AnyDesk bera, baina ez nuen berehala pentsatu + agian murrizketa bat dago.
2.4. Programaren portaera desorekatu bitxia zera da: zerbitzu-prozesua "zereginak egiten" direnean Windows 10-n, automatikoki berrabiarazi egiten da, Windows 8-n amaitzen da, kontsola prozesua bakarrik utziz eta berriro konektatu gabe, oro har, logikoa eta zehaztugabea da.
Zerbitzariari konektatu den prozesu bat ezabatzeak hurrengo helbidera berriro konektatzeko aukera ematen du. Aurreko komandoen antzera inplementatzen da, beraz, soilik ematen dut:
p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";
Gainera, abiarazi AnyDesk programa.
//Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎ ΠΏΡΡΠΈ path_pro
if (File.Exists(path_pro)){
Process p1 = Process.Start(path_pro);}
2.5. AnyDesk-en egoera minutuan behin (edo maizago?) egiaztatuko dugu, eta konektatuta badago, alegia. konexioa EZARRITA - blokeatu IP hau, eta berriro berriro - itxaron konektatu arte, blokeatu eta itxaron.
3. Erasoa
Kodea "zirriborroa" izan zen, prozesua bistaratzea erabaki zen "+" zehaztu aurkitutako eta blokeatutako IPa, eta "." - behin eta berriz egiaztatzea AnyDesk-etik konektatu gabe.
Hori dela etaβ¦
Programak Windows OS desberdineko hainbat ordenagailutan funtzionatu zuen, AnyDesk 5 eta 6 bertsioekin. 500 helbide inguru bildu ziren 80 iteraziotan. 2500 - 87 eta abarretarako...
Denborarekin, blokeatutako IP kopurua 100 baino gehiagora iritsi zen.
Finalerako esteka testu fitxategia helbideekin:
Eginda dago! IP helbide multzo bat gehitzen zaio bideratzaile nagusiaren arauei script baten bidez, eta AnyDesk-ek ezin du kanpoko konexiorik sortu.
Momentu arraro bat dago, hasierako erregistroen arabera, argi dago helbidea informazioaren transferentzian parte hartzen duela boot-01.net.anydesk.com. Noski *.net.anydesk.com ostalari guztiak blokeatu ditugu arau orokor gisa, baina hori ez da bitxikeria. Ordenagailu ezberdinetako ping normal batek domeinu-izen honek IP ezberdin bat ematen du. Linux-en egiaztatzea:
host boot-01.net.anydesk.com
DNSLookup bezala, IP helbide bakarra ematen dute, baina helbide hau aldakorra da. TCPView konexio bat analizatzean, IP helbideen PTR erregistroak berreskuratzen ditugu relay-*.net.anydesk.com.
Teorian: ping-a batzuetan blokeatu gabeko ostalari ezezagun batera joaten baita boot-01.net.anydesk.com ip hauek aurki ditzakegu eta blokeatu, inplementazio hau Linux OS pean ohiko script bat bihurtu, hemen ez duzu AnyDesk instalatu behar. Azterketak erakutsi zuen IP hauek askotan "gurutzatu" gure zerrendan aurkitutakoekin. Agian hau ostalari hau besterik ez da, zeinari programa konektatzen den IP ezagunak "ordenatzen" hasi baino lehen. Seguruenik, geroago ostalarien bilaketen 2. zatiarekin osatuko dut artikulua, nahiz eta momentuz. programak berak ez du orokorrean outer join instalatzen.
Espero dut goiko honetan legez kanpoko ezer ez ikusi izana, eta AnyDesk-en sortzaileek nire ekintzak modu kirolean tratatuko dituzte.
Iturria: www.habr.com