AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili

Bir gün müdir sual verəndə: "Niyə bəzi insanlar istifadə üçün əlavə icazələr almadan iş kompüterinə uzaqdan daxil olurlar?"
Vəzifə boşluğu "bağlamaq" üçün yaranır.

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili
Şəbəkə üzərində uzaqdan idarəetmə üçün çoxlu proqramlar var: Chrome uzaqdan idarəetmə masası, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control və s. Əgər Chrome uzaqdan idarəetmə masası xidmətə girişlə mübarizə üçün rəsmi təlimata malikdirsə, TeamViewer-də vaxt və ya sorğularla bağlı lisenziya məhdudiyyətləri var. şəbəkədən və istifadəçilər adminlərlə bu və ya digər şəkildə "dişlərini sıxırlar", sonra şəxsi istifadə üçün çoxlarının sevimlisi - AnyDesk hələ də xüsusi diqqət tələb edir, xüsusən də patron "Xeyr!"

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili
Əgər məzmununa görə şəbəkə paketinin bloklanmasının nə olduğunu bilirsinizsə və bundan razısınızsa, qalan material
nəzərdə tutulmayıb sənin üçün.

Əks tərəfdən getməyə çalışmaq, əslində Online proqramın işləməsi üçün nəyə icazə verilməli olduğunu söyləyir; müvafiq olaraq, DNS qeydi bloklandı *.net.anydesk.com. Ancaq AnyDesk sadə deyil; domen adının bloklanmasına əhəmiyyət vermir.

Bir zamanlar bəzi şübhəli proqram təminatı ilə bizə gələn “Anyplace Control” ün bloklanması problemini həll etdim və bu, sadəcə bir neçə IP-nin bloklanması ilə həll olundu (antivirusun ehtiyat nüsxəsini çıxardım). Ondan çox IP ünvanını əl ilə topladıqdan sonra AnyDesk ilə bağlı problem, məni yumurtladı adi əl əməyindən uzaqlaşın.

Həmçinin məlum oldu ki, “C:ProgramDataAnyDesk” proqramında parametrləri olan bir sıra fayllar və s. və faylda ad_svc.trace Əlaqələr və uğursuzluqlar haqqında hadisələr toplanır.

1. Müşahidə

Artıq qeyd edildiyi kimi, *.anydesk.com-un bloklanması proqramın işində heç bir nəticə vermədi, təhlil etmək qərara alındı. stresli vəziyyətlərdə proqram davranışı. Sysinternals-dan TCPView əlinizdədir və gedin!

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili

1.1. Görünür ki, bizi maraqlandıran bir neçə proses “asılır” və yalnız kənardan ünvanla əlaqə saxlayan bizim üçün maraqlıdır. Qoşulduğu portlar gördüyümdən seçilib: 80, 443, 6568. 🙂 Biz qətiliklə 80 və 443-ü bloklaya bilmərik.

1.2. Router vasitəsilə ünvanı blokladıqdan sonra başqa bir ünvan sakitcə seçilir.

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili

1.3. Konsol bizim hər şeyimizdir! PID-i müəyyənləşdiririk və sonra bir az şanslı oldum ki, AnyDesk xidmət tərəfindən quraşdırılıb, ona görə də axtardığımız PID yeganə idi.
1.4. Xidmət serverinin IP ünvanını proses PID-dən təyin edirik.

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili

2. Hazırlıq

IP ünvanlarını müəyyən etmək üçün proqram yəqin ki, yalnız mənim kompüterimdə işləyəcəyi üçün mənim rahatlıq və tənbəlliyə dair heç bir məhdudiyyətim yoxdur, ona görə də C#.

2.1. Tələb olunan IP ünvanını müəyyən etmək üçün bütün üsullar artıq məlumdur, həyata keçirilməlidir.

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

Eynilə, əlaqəni quran xidməti tapırıq, yalnız ana xətti verəcəyəm

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

Bunun nəticəsi olacaq:

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili
Əvvəlki addımda olduğu kimi sətirdən 3-cü sütunu çıxarın və “:” işarəsindən sonra hər şeyi çıxarın. Nəticədə istədiyimiz IP-yə sahib olduq.

2.2. Windows-da IP bloklanması. Əgər Linux-da Blackhole və iptables varsa, onda Windows-da firewall istifadə etmədən bir sətirdə IP ünvanını bloklamaq üsulu qeyri-adi oldu,
amma nə cür alətlər var idi...

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

Əsas parametr "əgər 1" marşrutu Geri Döngüyə göndərin (Marşrut çapını işlətməklə mövcud interfeysləri göstərə bilərsiniz). VƏ VACİB! İndi proqram işə salınmalıdır. administrator hüquqları ilə, çünki marşrutun dəyişdirilməsi yüksəklik tələb edir.

2.3. Müəyyən edilmiş IP ünvanlarının göstərilməsi və saxlanması mənasız bir işdir və izahat tələb etmir. Bu barədə düşünsəniz, faylı emal edə bilərsiniz ad_svc.trace AnyDesk özü, amma bu barədə dərhal düşünmədim + bəlkə də bununla bağlı bir məhdudiyyət var.

2.4. Proqramın qəribə qeyri-bərabər davranışı ondan ibarətdir ki, Windows 10-da xidmət prosesini “taskkilling” edərkən avtomatik olaraq yenidən başlayır, Windows 8-də o, yalnız konsol prosesini tərk edərək və yenidən qoşulmadan bitir, ümumiyyətlə, məntiqsizdir və bu, qeyri-dəqiqdir.

Serverə qoşulmuş prosesin silinməsi növbəti ünvana yenidən qoşulmağa “məcbur etməyə” imkan verir. Əvvəlki əmrlərlə eyni şəkildə həyata keçirilir, ona görə də verəcəyəm:

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

Bundan əlavə, AnyDesk proqramını işə salın.

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

2.5. AnyDesk-in vəziyyətini dəqiqədə bir dəfə yoxlayacağıq (yaxud daha tez-tez?), Və əgər o, bağlıdırsa, yəni. əlaqə QURULDU - bu IP-ni bloklayın və yenidən yenidən - qoşulana qədər gözləyin, bloklayın və gözləyin.

3. Hücum

Kod "çizildi" və prosesi vizuallaşdırmaq qərara alındı ​​"+"tapılmış və bloklanmış IP-ni göstərin və"."— AnyDesk-dən uğurlu qonşu bağlantısı olmadan yoxlamanı təkrarlayın.

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili

Layihə kodu

Nəticə olaraq…

AnyDesk nümunəsindən istifadə edərək şəbəkə üzərindən kompüteri uzaqdan idarə etmək üçün proqramın bloklanması imkanının təhlili
Proqram AnyDesk 5 və 6-nın versiyaları ilə müxtəlif Windows OS-li bir neçə kompüterdə işləyirdi. 500-dən çox təkrarlama, 80-ə yaxın ünvan toplandı. 2500 - 87 və sair üçün...

Vaxt keçdikcə bloklanmış IP-lərin sayı 100+-ə çatdı.

Finala keçid mətn faylı ünvanları ilə: vaxt и два

Hazırdır! IP ünvanlarının hovuzu skript vasitəsilə əsas marşrutlaşdırıcının qaydalarına əlavə edildi və AnyDesk sadəcə olaraq xarici əlaqə yarada bilmir.

Qəribə bir məqam var, ilkin qeydlərdən məlum olur ki, ünvan informasiyanın ötürülməsində iştirak edir boot-01.net.anydesk.com. Əlbəttə ki, biz bir qayda olaraq bütün *.net.anydesk.com hostlarını blokladıq, lakin bu qəribə bir şey deyil. Hər dəfə fərqli kompüterlərdən normal ping ilə bu domen adı fərqli bir IP verir. Linux-da yoxlanılır:

host boot-01.net.anydesk.com

DNSLookup kimi onlar yalnız bir IP ünvanı verirlər, lakin bu ünvan dəyişkəndir. TCPView bağlantısını təhlil edərkən bizə bu tip IP ünvanlarının PTR qeydləri qaytarılır relay-*.net.anydesk.com.

Teorik olaraq: çünki ping bəzən naməlum bloklanmamış hosta gedir boot-01.net.anydesk.com biz bu ip-ləri tapıb bloklaya bilərik, bu tətbiqi Linux OS altında adi bir skript halına gətirə bilərik, burada AnyDesk-i quraşdırmağa ehtiyac yoxdur. Təhlil göstərdi ki, bu IP-lər tez-tez "kəsişmək"Siyahımızdan tapılanlarla. Bəlkə də proqram məlum İP-ləri "çeşidləməyə" başlamazdan əvvəl məhz bu hostla əlaqə saxlayır. Yəqin ki, məqaləni daha sonra host axtarışlarının 2-ci hissəsi ilə əlavə edəcəyəm, baxmayaraq ki, hazırda proqramın özü ümumiyyətlə şəbəkə xarici qoşulma daxilində quraşdırılmır.

Ümid edirəm ki, yuxarıda göstərilənlərdə qeyri-qanuni heç nə görməmisiniz və AnyDesk yaradıcıları mənim hərəkətlərimə idmançı kimi yanaşacaqlar.

Mənbə: www.habr.com

Добавить комментарий