Отдалечен работен плот през очите на нападател

1. Въведение

Компании, които не разполагаха със системи за отдалечен достъп, ги внедриха по спешност преди няколко месеца. Не всички администратори бяха готови за такава „горещина“, в резултат на това пропуски в сигурността: неправилна конфигурация на услуги или дори инсталиране на остарели версии на софтуер с открити по-рано уязвимости. Някои от тези пропуски вече се върнаха като бумеранг, други имаха повече късмет, но определено всеки трябва да си направи изводи. Лоялността към дистанционната работа се умножи и все повече и повече компании приемат дистанционната работа като приемлив формат на постоянна основа.

Така че има много опции за предоставяне на отдалечен достъп: различни VPN, RDS и VNC, TeamViewer и други. Администраторите имат какво да избират в зависимост от спецификата на изграждане на корпоративна мрежа и устройства в нея. VPN решенията остават най-популярните, но много малки компании избират RDS (Remote Desktop Services), те са по-лесни и по-бързи за внедряване.

В тази статия ще говорим повече за RDS сигурността. Нека направим кратък преглед на известните уязвимости и също така да разгледаме няколко сценария за стартиране на атака срещу мрежова инфраструктура, базирана на Active Directory. Надяваме се, че нашата статия ще помогне на някого да работи върху грешки и да подобри сигурността.

2. Скорошни RDS/RDP уязвимости

Всеки софтуер съдържа бъгове и уязвимости, които се използват от нападателите, и RDS не е изключение. Напоследък Microsoft често съобщава за нови уязвимости, решихме да направим кратък преглед на тях:

Тази уязвимост излага потребителите, свързващи се с компрометиран сървър. Нападателят може да поеме контрола над устройството на потребителя или да стъпи в системата, за да има постоянен отдалечен достъп.

Тази група уязвимости позволява на неупълномощен нападател да изпълни дистанционно произволен код на RDS сървър, използвайки специално изработена заявка. Те могат да се използват и за създаване на червеи - злонамерен софтуер, който сам заразява устройства наблизо в мрежата. По този начин тези уязвимости могат да застрашат цялата мрежа на компанията и само навременен ъпдейт ще ги спаси от тях.

Софтуерът за отдалечен достъп получи повишено внимание както от изследователи, така и от нападатели, така че скоро може да чуем за повече подобни уязвимости.

Добрата новина е, че не всички уязвимости имат достъпни публични експлойти. Лошото е, че няма да е трудно за атакуващ с опит да напише експлойт за уязвимост според описанието или да използва техники като Patch Diffing (наши колеги писаха за това в Статия). Затова ви препоръчваме редовно да актуализирате софтуера и да наблюдавате появата на нови съобщения за открити уязвимости.

3. Атаки

Преминаваме към втората част на статията, където ще покажем как започват атаките срещу мрежовата инфраструктура, базирана на Active Directory.

Описаните методи са приложими за следния модел на атакуващ: атакуващ с потребителски акаунт и достъп до Remote Desktop Gateway - терминален сървър (често достъпен, например, от външна мрежа). Прилагайки тези методи, нападателят ще може да продължи атаката срещу инфраструктурата и да консолидира присъствието си в мрежата.

Конфигурацията на мрежата във всеки случай може да се различава, но описаните техники са доста универсални.

Примери за излизане от ограничена среда и повишаване на привилегията

При достъп до шлюза за отдалечен работен плот има вероятност нападателят да се натъкне на ограничена среда. Когато се свържете с терминален сървър, на него се стартира приложение: прозорец за свързване чрез протокола за отдалечен работен плот за вътрешни ресурси, Explorer, офис пакети или друг софтуер.

Целта на нападателя ще бъде да получи достъп до изпълнението на команди, тоест да стартира cmd или powershell. Няколко класически техники за излизане от пясъчника на Windows могат да помогнат с това. Нека ги разгледаме по-нататък.

Опция 1. Нападателят има достъп до прозореца за връзка с отдалечен работен плот в рамките на шлюза за отдалечен работен плот:

Отдалечен работен плот през очите на нападател

Отваря се менюто „Покажи опции“. Появяват се опции за манипулиране на конфигурационните файлове на връзката:

Отдалечен работен плот през очите на нападател

От този прозорец е възможно да получите свободен достъп до Explorer, като натиснете някой от бутоните „Отвори“ или „Запиши“:

Отдалечен работен плот през очите на нападател

Отваря се Explorer. Неговата "адресна лента" ви дава възможност да изпълнявате разрешени изпълними файлове, както и да изброявате файловата система. Това може да бъде полезно за нападател, когато системните дискове са скрити и не могат да бъдат достъпни директно:

Отдалечен работен плот през очите на нападател

Демо видео

Подобен сценарий може да бъде възпроизведен например при използване на Excel като отдалечен софтуер от пакета Microsoft Office.

Демо видео

Освен това не забравяйте за макросите, използвани в този офис пакет. Нашите колеги разгледаха въпроса за макро сигурността в това Статия.

Опция 2. Използвайки същите входове като в предишната версия, атакуващият стартира множество връзки към отдалечен работен плот под един и същи акаунт. При повторно свързване първият ще бъде затворен и на екрана ще се появи прозорец за известие за грешка. Бутонът за помощ в този прозорец ще извика Internet Explorer на сървъра, след което атакуващият може да отиде в Explorer.

Демо видео

Опция 3. С конфигурирани ограничения за стартиране на изпълними файлове, нападателят може да попадне в ситуация, при която груповите правила забраняват на администратора да стартира cmd.exe.

Има начин да заобиколите това, като стартирате bat файл на отдалечен работен плот със съдържание като cmd.exe /K <command>. Грешка при стартиране на cmd и успешен пример за изпълнение на bat файл е показан на фигурата по-долу.

Отдалечен работен плот през очите на нападател

Опция 4. Забраната за стартиране на приложения, използващи черни списъци по име на изпълними файлове, не е панацея, те могат да бъдат заобиколени.

Помислете за следния сценарий: отказахме достъп до командния ред, предотвратихме стартирането на Internet Explorer и PowerShell с помощта на групови правила. Нападателят се опитва да извика за помощ - без отговор. Опит за стартиране на powershell чрез контекстното меню на модален прозорец, извикан с натиснат клавиш Shift - съобщение за забраната за стартиране от администратора. Опитва се да стартира powershell през адресната лента - отново няма отговор. Как да заобиколите ограничението?

Достатъчно е да копирате powershell.exe от папката C:WindowsSystem32WindowsPowerShellv1.0 в потребителската папка, да промените името на нещо различно от powershell.exe и стартирането ще се появи.

По подразбиране при свързване към отдалечен работен плот се предоставя достъп до локалните дискове на клиента, откъдето атакуващият може да копира powershell.exe и да го стартира след преименуване.

Демо видео

Дадохме само няколко начина за заобикаляне на ограниченията, има много повече сценарии, но всички те са обединени от достъп до Windows Explorer. Има много приложения, които използват стандартните инструменти за манипулиране на файлове на Windows и когато се поставят в ограничена среда, могат да се прилагат подобни техники.

4. Препоръки и заключение

Както виждаме, дори в ограничена среда има място за развитие на атака. Въпреки това е възможно да се усложни живота на нападателя. Даваме общи препоръки, които ще бъдат полезни както във вариантите, които разгледахме, така и в други случаи.

  • Ограничете стартирането на програми чрез черни / бели списъци, като използвате групови правила.
    В повечето случаи обаче остава възможно да се изпълни кодът. Препоръчваме ви да се запознаете с проекта ЛОЛБАСза да получите представа за недокументираните начини за манипулиране на файлове и изпълнение на код в системата.
    Препоръчваме ви да комбинирате двата типа ограничения: например можете да разрешите стартирането на изпълними файлове, подписани от Microsoft, но да ограничите стартирането на cmd.exe.
  • Деактивирайте разделите с настройки на Internet Explorer (може да се направи локално в системния регистър).
  • Деактивирайте вградената помощ на Windows чрез regedit.
  • Деактивирайте възможността за монтиране на локални устройства за отдалечени връзки, ако такова ограничение не е критично за потребителите.
  • Ограничете достъпа до локалните дискове на отдалечената машина, оставете достъп само до потребителските папки.

Надяваме се поне да сте се заинтересували и като максимум тази статия ще ви помогне да направите дистанционната работа на вашата компания по-безопасна.

Източник: www.habr.com

Добавяне на нов коментар