- VNC to access Kali Linux on Raspberry Pi
- I. Prerequisites
- II. Install TightVNC
- II.1 Required packages
- II.2 First run
- II.3 Client access
- II.4 Configuration
- III. VNC over SSH
- III.1 Localhost only VNC server
- III.2 SSH Tunnel
- IV. Enable at boot
- IV.1 Startup script
- IV.2 Enable at startup
- Устанавливаем Kali Linux с графическим интерфейсом на виртуальный сервер
- Создание сервера
- Подключение ISO-образа
- Доступ по VNC
- Настройка сети вручную
- Разметка диска и загрузчик
- Завершение установки
- Заключение
- Настройка VNC сервера в Kali с использованием systemd (для оконного менеджера MATE)
- Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры
VNC to access Kali Linux on Raspberry Pi
D 30 May 2016 H 15:24 A Emeric Nasi C 6 messages
License : Copyright Emeric Nasi, some rights reserved
This work is licensed under a Creative Commons Attribution 4.0 International License.
I wrote this how-to because I lastly decided to install and run Kali Linux from a Raspberry Pi. I wanted to install VNC and I found it quite complicated to get the information I needed to be able to do so in a secure and nice way.
I. Prerequisites
First you need to have a running Kali or other Debian based Linux distribution installed on Raspberry PI. I personally installed Kali 2 on Raspberry Pi 3. For that look at instruction on the Kali Official Documentation
The device must be connected to the Internet to install the required packages and be network accessible to the PC or phone where you install the VNC client.
SSH server must be available and running on the Raspberry Pi. The Raspberry Pi will act as SSH and VNC server.
I used Xubuntu as the client OS but any other are possible provided they support SSH tunneling and you can install a VNC client.
Also you should use certificate authentication for SSH or at least change the default password (toor) for the Kali root user.
II. Install TightVNC
II.1 Required packages
Install TightVNC server package:
apt-get install tightvncserver
Install Autocutsel package to enable cut&paste between client and server:
apt-get install autocutsel
II.2 First run
We will make a first run of VncServer to generate configuration files and VNC password.
vncserver :1
We started an X session on display port 1, note that by default vncserver will attempt to start on display 0 which is already taken by the started Kali session used for local access
The first time you run vncserver, it prompts for a password (8 char max). Thats when you realize VNC sessions are not linked to Linux user authentication but relies on a single password (one of VNC insecurity problems)! You can later change that password using the vncpasswd command.
We can check the VNCserver is running by issuing the netstat -tupln command:
Port 5901 is VNC connection port, 6001 is X server for VNC.
II.3 Client access
On the client machine, first install a VNC client such as xtightvncviewer.
apt-get install xtightvncviewer
To connect to the server use the command:
xtightvncviewer :1
You may notice that the remote HMI is not responsive and really slow. To remediate to that, you can use some options to optimize the connection:
xtightvncviewer :1 -compresslevel 9 -quality 4 -depth 8
II.4 Configuration
We will configure VNC startup script to enable cut and paste. For that edit the file /.vnc/xstartup and add autocutsel line as below.
You can restart your VNC server and check it is working.
III. VNC over SSH
As mention on TightVNC man page, the problem about Xvnc is that it is not secure. As they write: “It’s recommended to restrict network access to Xvnc servers from untrusted network addresses. Probably, the best way to secure Xvnc server is to allow only loopback connections . and to use SSH tunneling for remote access to the Xvnc server.”
III.1 Localhost only VNC server
We want all our traffic to go through an SSH tunnel. So we will ensure VNC related ports are not accessible on the network.
We have to start VNC server with next options:
vncserver :1 -geometry 1280×800 -depth 16 -localhost -nolisten tcp
The -locahost option will ensure VNC port 5901 is listening only on local interface, the -nolisten tcp option will disable the port 6001(X Server will not listen on the network).
Now our listening connections are:
III.2 SSH Tunnel
We will create an SSH tunnel by issuing the next command on client machine:
ssh -L 5901:localhost:5901 -N -f @
This command means SSH will listen on local port 5901 on client machine. Any connection to this port will be tunneled to port 5901 or the remote VNC server via SSH (port 22).
Now to connect to our raspberry pi VNC server we use the command:
xtightvncviewer localhost:1 -compresslevel 9 -quality 4 -depth 8
IV. Enable at boot
IV.1 Startup script
This startup script is an adaptation of the one proposed by raspberrypi.org to enable the SSH tunneling.
You can test this script by issuing service vncboot start to start VNC server and service vncboot stop to stop it.
IV.2 Enable at startup
To enable the script at machine boot:
Now enjoy your remote access, and have fun!
Источник
Устанавливаем Kali Linux с графическим интерфейсом на виртуальный сервер
TL;DR в статье описывается установка Kali Linux с графической средой на виртуальный сервер с ISO-образа по VNC. Такой системой можно пользоваться как полноценным десктопом.
Большинство хостеров предоставляют только консольный доступ к виртуальным серверам и ограниченный выбор образов операционных систем. Но что, если вы хотите установить собственную ОС со своего диска, например что-то экзотическое вроде Kali Linux? У нас вы можете подключить собственный ISO-образ и установить с него любую операционную систему, которая поддерживается гипервизором.
С момента установки- управление сервером происходит по VNC в графическом окружении, точно так же, как на десктопной виртуальной машине вроде VirtualBox или Vmwarе. Пользоваться таким сервером можно прямо в браузере без установки дополнительных программ.
Создание сервера
Первым делом нужно создать виртуальный сервер. Установка операционной системы из ISO-образа происходит уже на созданный сервер, а создать пустой сервер нельзя. Поэтому при создании сервера выбираем любой образ ОС, например CentOS. Этот выбор не имеет значения, так как мы все равно будем форматировать жесткий диск.
Графическая среда требует существенно больше системных ресурсов, поэтому выбираем конфигурацию с 4ГБ оперативной памяти для комфортной работы. Могу сказать, что и с 2ГБ тоже работает сносно, но тяжелые программы вроде Burp Suite на Java съедают всю память. Чтобы ресурсов точно хватило, мы подготовили для вас бонус — 1000 рублей при пополнении баланса от 3000 рублей. Чтобы его активировать, перейдите по этой ссылке для регистрации и пополнения.
Добавлять SSH-ключи не нужно, так как мы все равно форматируем диск и все настройки предустановленной системы будут удалены.
Дожидаемся завершения установки сервера, обычно это занимает не более минуты. Если в момент создания сервера оставить вкладку открытой, вы услышите звуковое уведомление о том, что сервер создан. Так же вы получите письмо на электронную почту с реквизитами для SSH-доступа к серверу. Эти реквизиты нам не потребуются, так как мы установим пароль на этапе установки новой системы.
По завершению создания сервера его статус поменяется на «Активно»
Подключение ISO-образа
Теперь, когда сервер создан, мы можем подключить ISO-образ с Kali Linux. Для этого его сперва нужно смонтировать в панели управления, так подключенный ISO-образ будет доступен для подключения ко всем созданным серверам. Услуга подключения ISO-образа стоит 1 рубль в день. Нам он потребуется только на время установки, после чего его можно будет удалить.
Здесь можно загрузить ISO с компьютера, выбрать из нашей библиотеки или указать ссылку на файл с образом, который будет автоматически скачан. Нам не потребуется ничего скачивать, так как в библиотеке уже есть образ с Kali Linux. Не обращаем внимания на версию, так как Kali Linux выпускается по модели «Rolling release», он не имеет определенных мажорных версий, и всегда может быть обновлен до актуального состояния простым запуском apt ugprade.
Монтирование образа займет не более минуты, после чего его статус изменится на «активно». Теперь его можно подключать к существующим серверам. Для этого заходим в свойства сервера и нажимаем кнопку «Подключить ISO». После подключения ISO система будет перезагружена и загрузка системы начнется с образа.
Доступ по VNC
На этом этапе система загружена с ISO-образа и не имеет доступа в интернет. Единственный способ управления сервером, это подключиться к виртуальному экрану по VNC. В нашей панели управления встроен браузерный VNC-клиент, который запускается по нажатию одной кнопки. Никакие пароли при этом вводить не требуется.
При желании, вы можете использовать свой VNC-клиент, например Realvnc. Реквизиты для подключения можно посмотреть нажав на пиктограмму раскрытия пароля. Важно помнить, что адрес VNC-сервера отличается от IP-адреса вашего сервера.
Меню загрузочного диска Kali Linux доступно по VNC
Описывать все этапы установки Kali Linux мы не будем, так как они сводятся к простому нажатию Next -> Next -> Next -> Finish. Остановимся только на неочевидных моментах.
Настройка сети вручную
Виртуальный сервер не получит IP-адрес автоматически, так как в сети нет DHCP-сервера, поэтому его потребуется ввести вручную. На этапе обнаружения DHCP можно нажать Cancel, чтобы не тратить время.
Автоматическую конфигурацию сети нужно пропустить
Выбираем ручную конфигурацию и вводим IP-адрес, шлюз и маску сети. Все нужные настройки для конкретного сервера сразу указаны внизу страницы VNC-клиента.
Разметка диска и загрузчик
На этапе разметки диска достаточно выбрать пункт по-умолчанию. Таким образом мастер установки займет весь диск, отформатирует его и создаст разделы автоматически. В нашем случае нет необходимости использовать сложную разметку диска и создавать отдельные разделы.
Используем весь диск в автоматическом режиме
Аналогичным образом поступаем с вопросом о загрузчике GRUB — выбираем пункт по умолчанию.
Завершение установки
После завершения установки система автоматически перезагрузится и мы снова попадем в загрузочное меню ISO-образа. Чтобы загрузить установленную систему с жесткого диска, нужно извлечь ISO из сервера. После чего сервер автоматически перезагрузится и мы попадем уже в установленный Kali Linux.
Чтобы не платить за смонтированный ISO-образ, его можно удалить из панели управления. Он нам больше не нужен.
Заключение
Готово! Теперь у нас есть дистрибутив Kali Linux, который всегда включен и доступен. Не нужно нагружать основной компьютер виртуальным машинами и страдать, если нужно перезагрузиться.
Это особенно удобно когда нужно запустить какую-то ресурсоемкую программу вроде сканера, и оставить ее выполняться на несколько дней.
Напомним, что VNC не единственный способ управлять сервером. На нем так же можно активировать SSH, который выключен по-умолчанию, или использовать другие программы удаленного рабочего стола, например TeamViewer.
Источник
Настройка VNC сервера в Kali с использованием systemd (для оконного менеджера MATE)
Kali Linux постоянно улучшается и изменяется, поэтому приходится писать похожие статьи. В этот раз рассмотрим обновленный VNC сервер и автоматический запуск его из нового системного менеджера — systemd. Данная статья заменяет вторую часть статьи SSH сервер и VNC сервер в Kali 2 и Kali 2016.
Будем считать, что оконный менеджер MATE уже установлен, если он не установлен, то его можно установить командой:
apt-get install mate-desktop-environment
Один раз запускаем vncserver:
При первом запуске сервер попросит указать пароль для входа.
После первого запуска завершаем vncserver:
vncserver -kill :1
И переходим к настройке:
Открываем файл /etc/X11/Xvnc-session
Находим строку:
test x»$1″ = x»» && set — default
и после нее дописываем:
unset DBUS_SESSION_BUS_ADDRESS
export SHELL=/bin/bash
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
#! /bin/sh
test x»$SHELL» = x»» && SHELL=/bin/bash
test x»$1″ = x»» && set — default
unset DBUS_SESSION_BUS_ADDRESS
export SHELL=/bin/bash
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
vncconfig -iconic &
$SHELL -l
Теперь нужно создать сервис для systemd. Для сервиса создадим файл /etc/systemd/system/vncserver.service и запишем в него:
[Unit] Description=TightVNC remote desktop server
After=syslog.target network.target
[Service] Type=forking
PAMname=login
Restart=on-failure
ExecStart=/usr/bin/vncserver -depth 16 -geometry 1360×768 :10000
User=root
Описание параметров сервиса systemd:
Description — описание сервиса;
After — после каких сервисов должен запускаться наш сервис;
Type=forking — сервис запускается однократно и процесс может разветвляться.
PAMname=login — используемый PAM сервис;
Restart=on-failure — перезапускать сервис в случае ошибки.
ExecStart — команда для запуска сервиса;
User — от имени какого пользователя происходит запуск сервиса;
WantedBy — многопользовательский режим без графики.
Описание параметров запуска vncserver:
-depth 16 — глубина цвета (возможно 8,16,24,32 бита);
-geometry 1360×768 — разрешение экрана;
:10000 — номер виртуального экрана. Порт подключения будет 5900 + номер экрана.
Полное описание всех параметров systemd можно прочитать тут.
Включим автозагрузку сервиса:
systemctl enable vncserver.service
и запустим сервис:
sudo systemctl start vncserver.service
Теперь можно подключаться к Kali по протоколу VNC.
Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры
Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.
Источник