Эта инструкция небольшая, но очень полезная. Она пригодится:
- тестировщикам на проникновение и хакерам: для сканирования с одной операционной системы (Kali Linux) других операционных систем и серверов, находящихся на этом же компьютере (сканировать веб-сервера, ОС на уязвимости, веб-приложения, тренироваться в перехвате трафика, реализации атак человек-по-середине, XSS и т.д.);
- системным администраторам: для практики в построении сетей, роутинга трафика, отработке взаимодействия между различными компьютерами и операционными системами, настройке веб-серверов, почтовых серверов, DNS;
- разработчикам веб-приложений: для сканирования своих веб-приложений на уязвимости, для отработки взаимодействия веб-приложения с другими узлами в сети.
Надеюсь, я вас не запутал. Чтобы стало чуть понятнее, давайте рассмотрим конкретные примеры. Мы написали программу на PHP на своей рабочей машине под управлением Windows. Мы проверили её работоспособность на локальном сервере под этой самой Windows и теперь мы хотим просканировать программу разнообразными сканерами уязвимостей. Проще всего воспользоваться специализированными дистрибутивами, например Kali Linux. Но если мы загрузимся в Kali Linux с флешки или установим её в качестве второй ОС, то во время работы Kali наш сервер на Windows будет недоступен — напомню, компьютер у нас один.
Самый простой вариант — это установить Kali Linux в виртуальный компьютер и настроить сеть для возможности доступа с виртуальной машины в реальную.
Думаю, это самая распространённая ситуация. Давайте вместе настроем наш один компьютер на возможность сканирования веб-сервера под Windows с виртуального компьютера на VirtualBox под управлением Kali Linux. На самом деле, вариаций может быть множество, и взаимодействующих виртуальных компьютеров может быть множество. Главное — понять принцип.
Как из виртуальной машины с Kali Linux просканировать веб-сервер Windows
Предполагается, что Kali Linux уже установлена в виртуальную машину.
Первое: узнайте локальный адрес вашей Windows-машины. Если этот адрес динамический (каждый раз новый при включении компьютера, т.е. он получается от DHCP), то рекомендуется прописать статический адрес, иначе после перезагрузки компьютера сервер может стать недоступным (для Kali).
Чтобы узнать локальный адрес Windows, в командной строке Windows наберите
ipconfig
В моём случае это 192.168.1.35 (его я и буду использовать в примерах, чтобы было понятнее).
Второе: в файле настроек сервера (C:ServerbinApache24confhttpd.conf) найдите строку
Listen 127.0.0.1:80
Можно сделать две вещи:
- переправить эту строку на Listen *:80 (не рекомендуется, после этого ваш веб-сервер будет доступен для внешних сетей!);
- добавить строку Listen локальный_IP_Windows:80 (рекомендуется);
В моём случае я добавляю строку
Listen 192.168.1.35:80
Сохраняем изменения, перезапускаем сервер.
Третье: в настройках виртуальной машины перейдите к «настройкам сети». Там по умолчанию стоит NAT, вместо него выберите «сетевой мост». Там, где «неразборчивый режим», выберите «разрешить всё».
Четвёртое: после этого можно тестировать. Для обращения к серверу используйте локальный адрес Windows. Например, в Kali я набираю в строке браузера 192.168.1.35 и… Должно работать, но у меня не работает.
Пятое: Если не получается открыть страницу сервера, то нужно отключить/настроить файервол на Windows.
После отключения файервола, теперь из Kali виден сервер на Windows.
Сеть из нескольких виртуальных компьютеров
Можно настроить множество виртуальных компьютеров с различными операционными системами. Их можно запускать и одновременно. Таким образом можно потренироваться в настройке программ, серверов на различных дистрибутивах Linux. Можно один из компьютеров назначить DNS серверов, поиграться с роутингом трафика и т. д.
Чтобы узнать IP адрес виртуальной машины под управлением Linux, наберите в командной строке:
ifconfig
Каких-то ограничений на количество виртуальных машин нет. Главное, чтобы хватало ресурсов реального компьютера. В первую очередь, имеет свойство заканчиваться оперативная память. Если вы устанавливаете Linux без графической оболочки, то, как правило, достаточно 512 мегабайт оперативной памяти. С графической оболочкой я бы рекомендовал выбирать 1-1,3 гигабайта оперативной памяти — чтобы работало пошустрее. Если на какие-то системы предполагается повышенная нагрузка, то можно им вместо одного процессора, выделить 2 или даже 3. Также каждому виртуальному компьютеру можно назначить более чем одну сетевую карту — до четырёх.
Можно настраивать взаимодействие с различными виртуальными ОСями, установленными в virtualbox и без сетевого моста.
Хорошо это описано, например, в статье:
http://yapro.ru/web-master/unix/virtualbox-statichniy-ip.html
У меня так два сервера одновременно работает через виртуальные адаптеры хоста и я к ним имею доступ как с установленной на виртуалку kali linux, так и с основной ОС windows 7, на которой так же крутится сервер OpenServer.
Всё достаточно удобно и все виртуальные оси имеют свободный доступ в интернет….