По умолчанию RFB использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с :0 по :6).
Java Viewer и HTTP VNC используют порт 5800.
Просмотрщик (клиент) VNC в режиме прослушивания (Listening mode) прослушивает порт 5500.
Для сканирования сети в поисках VNC серверов и клиентов в режиме прослушивания:
Анализ VNC трафика
Сессии VNC могут быть записаны, например, во время атак человек-посередине.
Для извлечения challenge и response VNC сессии можно использовать :
ettercap -Tq -r ФАЙЛ.pcapng
С помощью можно провести детальный анализ VNC сессии:
Чтобы показать только трафик VNC сессий:
Можно использовать разные приёмы для взлома VNC пароля:
Из захваченной VNC сессии нужно извлечь Authentication challenge и Authentication response. Способ, требующий чуть большей подготовки, но зато использующий скорость (самый быстрый офлайн взломщик).
Если вы не хотите разбираться с методом, описанным для Hashcat, то используйте программу .
Установка VNCrack
Установка в Kali Linux
Скачайте файл
и запустите его в командной строке.
Для взлома с VNCrack достаточно указать вызов, ответ и файл словаря, например, взлом пароля из перехваченной VNC сессии содержащий вызов (-c 894443629f4a9675809cff5da2e84651) и ответ (-r 271d94eb610b5c42588dc53506419e6a), пароли для брут-форса берутся из словаря (-w passwords.txt):
Брут-форс серверов VNC
Рассмотрим программы для брут-форса пароля серверов VNC.
Сервера VNC отклоняют подключения после нескольких неудачных попыток, поэтому брут-форс VNC нужно выполнять в один поток с большим интервалом между запросами.
patator
это одна из самых универсальных и гибких в настройке программа для брут-форса.
В следующем примере время ожидания между запросами установлено на 61 секунду:
Crowbar
(ранее известный как Levye) — это инструмент для брут-форса, который может использоваться во время тестов на проникновение. Он создан для поддержки протоколов, которые в настоящее время не поддерживаются в и другими популярными инструментами брут-форса.
Установка Crowbar
Установка в Kali Linux
Об установке программы VNCrack сказано чуть выше.
Пример запуска брут-форса:
Сервер VNC хранит пароль на компьютере в закодированном виде. Имеется множество способов извлечь этот пароль. Рассмотрим программы и способы расшифровки сохранённого пароля VNC сервера.
VNCPassView
— это ебольшая утилита для восстановления паролей, сохранённых инструментами VNC.
Где Windows хранить VNC пароли
Пароли VNC в Windows хранятся в реестре в следующих ветках (список может быть неполным):
Для чтения пароля из реестра можно воспользоваться командами для сохранения фрагментов реестра в файлы .reg, например:
С помощью VNCrack можно извлечь закодированный пароль, для этого запустите программу в интерактивном режиме:
В результате будет выведена итоговая строка и закодированный пароль:
В Linux пароли могут храниться где угодно, но файлом по умолчанию является ~/.vnc/passwd. Для его просмотра откройте его любым редактором, способным отображать шестнадцатеричные данные:
Расшифровка пароля в Linux
В Linux также можно воспользоваться помощью VNCrack:
Либо можете воспользоваться способом, который описал Bill Chaison: . Для этого достаточно запустить команду следующего вида:
Скрипты nmap для аудита VNC
Страница с перечнем NSE (скрипты Nmap): . На ней присутствуют следующие скрипты:
Для запуска нужно использовать опцию --script, после которой можно указать скрипт, либо несколько скриптов через запятую:
Java Viewer и HTTP VNC используют порт 5800.
Просмотрщик (клиент) VNC в режиме прослушивания (Listening mode) прослушивает порт 5500.
Для сканирования сети в поисках VNC серверов и клиентов в режиме прослушивания:
Например:sudo nmap -p 5500,5800,5900-5906 --open СЕТЬ
sudo nmap -p 5500,5800,5900-5906 --open 192.168.43.0/24
Анализ VNC трафика
Сессии VNC могут быть записаны, например, во время атак человек-посередине.
Для извлечения challenge и response VNC сессии можно использовать :
ettercap -Tq -r ФАЙЛ.pcapng
С помощью можно провести детальный анализ VNC сессии:
Чтобы показать только трафик VNC сессий:
VNC challenge (вызов):
VNC response (ответ):vnc.auth_challenge
Результат попытки аутентификации на VNC сервере:vnc.auth_response
Вызов, ответ и результат попытки аутентификации на VNC сервере:vnc.auth_result
Имя компьютера с VNC сервером:vnc.auth_challenge or vnc.auth_response or vnc.auth_result
Позиция кнопок мыши:vnc.desktop_name
Выбранный тип безопасности:vnc.button_1_pos
vnc.button_2_pos
…………...
vnc.button_8_pos
Тип кодирования:vnc.client_security_type
Версия VNC протокола клиента:vnc.client_set_encodings_encoding_type
Версия VNC протокола сервера:vnc.client_proto_ver
Ширина Framebuffer:vnc.server_proto_ver
Клавиша:vnc.width
Нажатие клавиши:vnc.key
Данные передаваемого видео в формате H.264:vnc.key_down
Вырезанный текст:vnc.h264_data
Взлом VNC пароляvnc.client_cut_text
Можно использовать разные приёмы для взлома VNC пароля:
- Взлом пароля VNC сессии
- Расшифровка сохранённого пароля VNC сервера
- Брут-форс пароля сервера VNC
Из захваченной VNC сессии нужно извлечь Authentication challenge и Authentication response. Способ, требующий чуть большей подготовки, но зато использующий скорость (самый быстрый офлайн взломщик).
Если вы не хотите разбираться с методом, описанным для Hashcat, то используйте программу .
Установка VNCrack
Установка в Kali Linux
Установка в BlackArchwget
gunzip vncrack_s.gz
chmod +x vncrack_s
./vncrack_s
Установка в Widnowssudo pacman -S vncrack
Скачайте файл
и запустите его в командной строке.
Для взлома с VNCrack достаточно указать вызов, ответ и файл словаря, например, взлом пароля из перехваченной VNC сессии содержащий вызов (-c 894443629f4a9675809cff5da2e84651) и ответ (-r 271d94eb610b5c42588dc53506419e6a), пароли для брут-форса берутся из словаря (-w passwords.txt):
vncrack -c 894443629f4a9675809cff5da2e84651 -r 271d94eb610b5c42588dc53506419e6a -w passwords.txt
Брут-форс серверов VNC
Рассмотрим программы для брут-форса пароля серверов VNC.
Сервера VNC отклоняют подключения после нескольких неудачных попыток, поэтому брут-форс VNC нужно выполнять в один поток с большим интервалом между запросами.
patator
это одна из самых универсальных и гибких в настройке программа для брут-форса.
В следующем примере время ожидания между запросами установлено на 61 секунду:
Примеры ошибок, когда сервер отверг ваше подключение без проверки пароля:patator vnc_login host=192.168.43.250 password=FILE0 0=passwords.txt -t 1 -x quit:code=0 -x ignore:fgrep='authentication rejected' -x ignore:fgrep='Authentication failure' --rate-limit=61
- Session setup failed: "Your connection has been rejected.
- password check failed!
Crowbar
(ранее известный как Levye) — это инструмент для брут-форса, который может использоваться во время тестов на проникновение. Он создан для поддержки протоколов, которые в настоящее время не поддерживаются в и другими популярными инструментами брут-форса.
Установка Crowbar
Установка в Kali Linux
Установка в BlackArchsudo apt install crowbar freerdp2-x11 openvpn nmap
Пример брут-форса службы VNC на единичном хосте (-s 192.168.86.61/32) со словарём паролей (-C /root/words.txt) используя 1 поток (-n 1):sudo pacman -S crowbar freerdp openvpn nmap
VNCrackcrowbar -b vnckey -s 192.168.86.61/32 -C /root/words.txt -n 1
Об установке программы VNCrack сказано чуть выше.
Пример запуска брут-форса:
Расшифровка хранимых VNC паролейvncrack -h 192.168.43.250 -w passwords.txt
Сервер VNC хранит пароль на компьютере в закодированном виде. Имеется множество способов извлечь этот пароль. Рассмотрим программы и способы расшифровки сохранённого пароля VNC сервера.
VNCPassView
— это ебольшая утилита для восстановления паролей, сохранённых инструментами VNC.
Где Windows хранить VNC пароли
Пароли VNC в Windows хранятся в реестре в следующих ветках (список может быть неполным):
- \HKEY_LOCAL_MACHINE\SOFTWARE\TigerVNC\WinVNC4
- \HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server
- \HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default
- \HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4\
- \HKEY_CURRENT_USER\Software\TightVNC
- \HKEY_CURRENT_USER\Software\TurboVNC
- \HKEY_CURRENT_USER\Software\ORL\WinVNC3\Password
- \HKEY_USERS\.DEFAULT\Software\ORL\WinVNC3\Password
Для чтения пароля из реестра можно воспользоваться командами для сохранения фрагментов реестра в файлы .reg, например:
Расшифровка пароля в VNCrackregedit.exe /E winvnc3.reg "HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\"
regedit.exe /E winvnc4.reg "HKEY_LOCAL_MACHINE\Software\RealVNC\WinVNC4\"
С помощью VNCrack можно извлечь закодированный пароль, для этого запустите программу в интерактивном режиме:
Затем введите байты пароль — два байта на строку, например так:.\x4.exe -W
14
cc
ac
84
2f
6f
8d
0d
В результате будет выведена итоговая строка и закодированный пароль:
Где Linux хранить VNC паролиEntered HEX String: 14 cc ac 84 2f 6f 8d d
VNC Password: 222222
В Linux пароли могут храниться где угодно, но файлом по умолчанию является ~/.vnc/passwd. Для его просмотра откройте его любым редактором, способным отображать шестнадцатеричные данные:
Расшифровка пароля в Linux
В Linux также можно воспользоваться помощью VNCrack:
Восстановление пароля VNC сервера, хранимого в файле ~/.vnc/passwd:vncrack -C ~/.vnc/passwd
Либо можете воспользоваться способом, который описал Bill Chaison: . Для этого достаточно запустить команду следующего вида:
Например:echo -n БАЙТЫ_ПАРОЛЯ | xxd -r -p | openssl enc -des-cbc --nopad --nosalt -K e84ad660c4721ae0 -iv 0000000000000000 -d | hexdump -Cv
echo -n F0E43164F6C2E373 | xxd -r -p | openssl enc -des-cbc --nopad --nosalt -K e84ad660c4721ae0 -iv 0000000000000000 -d | hexdump -Cv
Скрипты nmap для аудита VNC
Страница с перечнем NSE (скрипты Nmap): . На ней присутствуют следующие скрипты:
Проверяет, уязвим ли VNC-сервер к обходу аутентификации RealVNC (CVE-2006-2369).realvnc-auth-bypass
Выполняет брут-форс пароля VNC серверов.vnc-brute
Запрашивает у сервера VNC версию протокола и поддерживаемые типы безопасности.vnc-info
Пытается войти на сервер VNC и получить имя его рабочего стола. Использует учетные данные, обнаруженные типами аутентификации vnc-brute или None. Если realvnc-auth-bypass был запущен и возвращен VULNERABLE, этот сценарий будет использовать эту уязвимость для обхода аутентификации.vnc-title
Для запуска нужно использовать опцию --script, после которой можно указать скрипт, либо несколько скриптов через запятую:
Также можно задействовать все скрипты следующим образом:sudo nmap -p 5500,5800,5900-5906 --script realvnc-auth-bypass,vnc-brute,vnc-info,vnc-title ХОСТ_ИЛИ_СЕТЬ
sudo nmap -p 5500,5800,5900-5906 --script 'vnc-*' ХОСТ_ИЛИ_СЕТЬ