Remote Desktop очима атакуючого

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 — термінального сервера (часто він доступний, наприклад, із зовнішньої мережі). Застосувавши ці методи, зловмисник зможе продовжити атаку на інфраструктуру та закріпити свою присутність у мережі.

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

Приклади виходу з обмеженого оточення та підвищення привілеїв

При доступі до Remote Desktop Gateway зловмисник швидше за все зіткнеться з деяким обмеженим середовищем. При підключенні до термінального серверу на ньому запускається програма: вікно для підключення по протоколу Remote Desktop для внутрішніх ресурсів, провідник, офісні пакети або інше програмне забезпечення.

Метою атакуючого буде отримання доступу до виконання команд, тобто запуску cmd або powershell. У цьому можуть допомогти кілька класичних технік втечі з "пісочниці" для Windows. Розгляньмо їх далі.

Варіант 1. Зловмисник має доступ до вікна підключення Remote Desktop у рамках Remote Desktop Gateway:

Remote Desktop очима атакуючого

Відкриється меню "Show Options". З'являються опції для маніпуляції файлами конфігурації підключення:

Remote Desktop очима атакуючого

З цього вікна можна безперешкодно потрапити в Провідник, натиснувши будь-яку з кнопок “Open” або “Save”:

Remote Desktop очима атакуючого

Відкривається Провідник. Його "адресний рядок" дає можливість запуску дозволених файлів, що виконуються, а також лістингу файлової системи. Це може бути корисно для атакуючого у випадку, коли системні диски приховані і доступ до них безпосередньо неможливий:

Remote Desktop очима атакуючого

Демо-відео

Такий сценарій можна відтворити, наприклад, під час використання віддаленого програмного забезпечення Excel з пакета Microsoft Office.

Демо-відео

Крім того, не варто забувати про макроси, які використовуються в даному офісному пакеті. Наші колеги розглядали проблему безпеки макросів у цій статті.

Варіант 2. Використовуючи ті ж вступні, що й у минулому варіанті, атакуючий запускає кілька підключень до віддаленого робочого столу під тим самим акаунтом. При повторному підключенні перша буде закрита, а на екрані з'явиться вікно з повідомленням про помилку. Кнопка допомоги у цьому вікні викликає на сервері Internet Explorer, після чого атакуючий може перейти до Провідника.

Демо-відео

Варіант 3. При налаштованих обмеженнях на запуск виконуваних файлів атакуючий може зіткнутися з ситуацією, коли групові політики забороняють запуск cmd.exe адміністратором.

Є спосіб обійти це за допомогою запуску bat файлу на віддаленому робочому столі із вмістом виду cmd.exe /K <команда>. Помилка під час запуску cmd та успішний приклад виконання bat файлу наведено на малюнку нижче.

Remote Desktop очима атакуючого

Варіант 4. Заборона запуску програм за допомогою чорних списків за назвою файлів, що виконуються, не панацея, їх можна обійти.

Розглянемо наступний сценарій: ми заборонили доступ до командного рядка, заборонили запуск Internet Explorer та PowerShell за допомогою групових політик. Атакуючий намагається викликати довідку – жодного відгуку. Намагається запустити PowerShell через контекстне меню модального вікна, викликане з натиснутою клавішею Shift - повідомлення про заборону запуску адміністратором. Намагається запустити powershell через адресний рядок знову ніякого відгуку. Як же оминути обмеження?

Достатньо скопіювати powershell.exe з папки C:WindowsSystem32WindowsPowerShellv1.0 в папку користувача, змінити ім'я на відмінне від powershell.exe, і можливість запуску з'явиться.

За умовчанням при підключенні до віддаленого робочого столу надається доступ до локальних дисків клієнта, звідки атакуючий може скопіювати powershell.exe і після перейменування запустити.

Демо-відео

Ми привели лише кілька способів обходу обмежень, сценаріїв можна придумати ще дуже багато, але їх об'єднує вихід у Провідник Windows. Додатків, які використовують стандартні засоби Windows для роботи з файлами, безліч, і при поміщенні їх в обмежене середовище можна застосовувати схожі техніки.

4. Рекомендації та висновок

Як бачимо, навіть у обмеженому середовищі є простір розвитку атаки. Однак, можна ускладнити життя атакуючому. Наводимо загальні рекомендації, які стануть у нагоді як у розглянутих нами варіантах, так і в інших випадках.

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

Сподіваємося, вам було як мінімум цікаво, а як максимум – ця стаття допоможе зробити віддалену роботу вашої компанії безпечнішою.

Джерело: habr.com

Додати коментар або відгук