Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а

Када једног дана шеф постави питање: „Зашто неки људи имају даљински приступ радном рачунару, без добијања додатних дозвола за коришћење?“
Поставља се задатак да се „затвори” рупа.

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а
Постоји много апликација за даљинско управљање преко мреже: Цхроме удаљена радна површина, АммиАдмин, ЛитеМанагер, ТеамВиевер, Аниплаце Цонтрол, итд. Ако Цхроме удаљена радна површина има званични приручник за борбу против приступа услузи, ТеамВиевер има ограничења лиценцирања на време или захтеве са мреже и корисници на овај или онај начин „брусе зубима“ код администратора, тада многима омиљени за личну употребу – АниДеск и даље захтева посебну пажњу, посебно ако је шеф рекао „Не!“

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а
Ако знате шта је блокирање мрежног пакета његовим садржајем и задовољни сте тиме, онда остатак материјала
није намењен За тебе.

Покушавајући да идемо од супротног, у ствари Онлине каже шта се мора дозволити да би програм радио, сходно томе је ДНС запис блокиран *.нет.анидеск.цом. Али АниДеск није једноставан; није га брига за блокирање имена домена.

Једном давно сам решио проблем блокирања „Аниплаце Цонтрол“ који нам је дошао са неким сумњивим софтвером, а решио сам га блокирањем само неколико ИП адреса (направио сам резервну копију антивируса). Проблем са АниДеском, након што сам ручно прикупио више од десетак ИП адреса, подстакао ме удаљите се од рутинског ручног рада.

Такође је откривено да у „Ц:ПрограмДатаАниДеск“ постоји велики број датотека са подешавањима итд., а у датотеци ад_свц.траце Прикупљају се догађаји о везама и кваровима.

1. Посматрање

Као што је већ поменуто, блокирање *.анидеск.цом није дало никакве резултате у раду програма, одлучено је да се анализира програмско понашање у стресним ситуацијама. ТЦПВиев од Сисинтерналс у вашим рукама и напред!

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а

1.1. Види се да „виси“ неколико процеса који нас занимају, а интересује нас само онај који са адресом комуницира споља. Одабрани су портови на које се повезује, од онога што сам видео: 80, 443, 6568. 🙂 Дефинитивно не можемо блокирати 80 и 443.

1.2. Након блокирања адресе преко рутера, тихо се бира друга адреса.

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а

1.3. Конзола је наше СВЕ! Одређујемо ПИД и онда сам имао мало среће да је АниДеск инсталирао сервис, тако да је ПИД који смо тражили био једини.
1.4. Одређујемо ИП адресу сервисног сервера из ПИД-а процеса.

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а

2. Припрема

Пошто ће програм за идентификацију ИП адреса вероватно радити само на мом рачунару, немам ограничења у погледу погодности и лењости, тако да Ц#.

2.1. Све методе за идентификацију потребне ИП адресе су већ познате, остаје да се имплементира.

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

Слично, налазимо услугу која је успоставила везу, даћу само главну линију

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

Резултат тога ће бити:

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а
Из реда, слично као у претходном кораку, издвојите 3. колону и уклоните све после „:“. Као резултат, имамо жељени ИП.

2.2. Блокирање ИП-а у Виндовс-у. Ако Линук има Блацкхоле и иптаблес, онда се начин блокирања ИП адресе у једном реду, без употребе заштитног зида, у Виндовс-у показао необичним,
али какви су алати били...

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

Кључни параметар "ако 1" пошаљи руту на Лоопбацк (можете приказати доступне интерфејсе покретањем штампања руте). И ВАЖНО! Сада је потребно покренути програм са администраторским правима, пошто промена руте захтева надморску висину.

2.3. Приказивање и чување идентификованих ИП адреса је тривијалан задатак и не захтева објашњење. Ако размислите о томе, можете обрадити датотеку ад_свц.траце Сам АниДеск, али нисам одмах размишљао о томе + можда постоји ограничење на њему.

2.4. Чудно неуједначено понашање програма је то што се приликом „укидања задатака“ сервисни процес у Виндовс-у 10 аутоматски поново покреће, у Виндовс-у 8 завршава, остављајући само процес конзоле и без поновног повезивања, генерално је нелогично и то је нетачно.

Уклањање процеса који се повезао са сервером омогућава вам да „присилите“ поновно повезивање на следећу адресу. Имплементирано је на исти начин као и претходне команде, па ћу га само дати:

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

Поред тога, покрените програм АниДеск.

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

2.5. Статус АниДеска провераваћемо једном у минуту (или чешће?), а да ли је повезан, тј. конекција ЕСТАБЛИСХЕД - блокирајте ову ИП адресу, и опет све изнова - сачекајте док се не повеже, блокирајте и сачекајте.

3. Напад

Шифра је „скицирана“ и одлучено је да се визуализује процес „+" означава пронађену и блокирану ИП адресу, и ".„—поновите проверу без успешне везе са суседом са АниДеска.

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а

Шифра пројекта

Као резултат…

Анализа могућности блокирања апликације за даљинско управљање рачунаром преко мреже, на примеру АниДеск-а
Програм је радио на неколико рачунара са различитим оперативним системом Виндовс, са верзијама АниДеск 5 и 6. Преко 500 итерација, прикупљено је око 80 адреса. За 2500 - 87 и тако даље...

Временом је број блокираних ИП адреса достигао 100+.

Линк до финала текстуалну датотеку са адресама: време и два

Урађено је! Скуп ИП адреса је додат у правила главног рутера преко скрипте и АниДеск једноставно не може да створи спољну везу.

Постоји чудна ствар, из почетних евиденција је јасно да је адреса укључена у пренос информација боот-01.нет.анидеск.цом. Наравно, по правилу смо блокирали све *.нет.анидеск.цом хостове, али то није чудна ствар. Сваки пут са нормалним пингом са различитих рачунара, ово име домена даје другачији ИП. Проверавам на Линук-у:

host boot-01.net.anydesk.com

као ДНСЛоокуп дају само једну ИП адресу, али ова адреса је променљива. Када анализирамо ТЦПВиев везу, враћају нам се ПТР записи ИП адреса тог типа релаи-*.нет.анидеск.цом.

Теоретски: пошто пинг понекад иде ка непознатом деблокираном хосту боот-01.нет.анидеск.цом можемо пронаћи ове ИП-ове и блокирати их, учинити ову имплементацију редовном скриптом под Линук ОС-ом, овде нема потребе да инсталирате АниДеск. Анализа је показала да ове ИП адресе често "пресецати„са онима који су пронађени са наше листе. Можда је управо овај хост на који се програм повезује пре него што почне да „разређује“ познате ИП адресе. Вероватно ћу касније допунити чланак другим делом претрага хостова, иако је тренутно сам програм се уопште не инсталира унутар спољног споја мреже.

Надам се да нисте видели ништа противзаконито у горе наведеном, а креатори АниДеска ће се према мојим поступцима односити на спортски начин.

Извор: ввв.хабр.цом

Додај коментар