Закончилось лето, наступил новый учебный год и вдруг, сразу же появилось желание попробовать что-то новое. А потому, я решил попробовать поучиться использовать Metasploit для эксплуатации уязвимостей. Для этого организовал небольшой тестовый стенд, скачал нужное и… А вот что было дальше, это уже ниже. Это мой первый опыт, а потому, хотелось бы сказать в свое, так сказать оправдание, если я что-то сделал совсем уж по нубски, словами Равшана и Джамшуда: «Прошу понять и простить...»
Тестовый стенд
Чтобы организовать тестовый стенд, который получился у меня, нужно скачать два образа операционных систем для виртуальной машины. Для какой — выбирать вам. Я пользуюсь VmWare, потому скачивал для них. Но, если использовать VirtualBox, все действия будут точно такими же.
Итак, для скачивания образа Kali Linux, а это будет атакующая машина, идем на сайт вот по этой
Теперь нужно скачать машину, на которой будем эксплуатировать уязвимость. Это довольно известная машина Metasploitable 2. Скачать ее можно вот
Таким образом, мы получили две машины в одной сети: Kali Linux — машина с нужными инструментами для тестирования, Metasploitable 2 — машина со специально сделанными уязвимостями для тестирования. Понятное дело, что это не реальные, то есть боевые, условия, но учиться то на чем-то нужно. И лезть на Пентагон с командой hack, думаю, не самое разумное дело.
Сканирование сети
Запускаем машины. Условно будем считать, что мы не знаем о том, какие машины у нас в сети. Поэтому, переходим в Kali Linux и запускаем Nmap для того, чтобы понять, с чем мы имеем дело. Пишем в терминале команду:
где адрес и маска, это тот диапазон, который нужно просканировать. Я решил сканировать всю подсеть, чтобы видеть полную картину. В итоге у меня нашлось пять активных адресов, один из которых является адресом роутера, а остальные адресами разных устройств, которые подключены к данной сети.
Здесь я, конечно, немного слукавил, так как уже, на самом деле знал адрес атакуемой машины. На скриншоте она отмечена стрелкой.
Двигаемся дальше. С помощью все того же nmap необходимо узнать, какие же службы запущены на целевой машине. Для того, чтобы понять, какую именно уязвимость можно здесь поэксплуатировать. Поэтому, пишем в терминале команду:
и запускаем сканирование. Оно длилось недолго, около трех секунд. После чего мне вывалился довольно внушительный список открытых портов и запущенных на них служб. И это не удивительно, так как Metasploitable для того и создан, чтобы предоставлять уязвимые порты и службы для тестирования. Я выбрал 21 порт и работающий на нем протокол ftp. В правой крайней колонке отображается версия данного протокола. Она то и будет нужна для того, чтобы поискать по ней уязвимости.
Запуск matasploit
А теперь пришла пора для запуска metasploit. Открываем дополнительное окно в терминале и пишем команду:
После этого начнется загрузка и инициализация скрипта.
После того, как metasploite будет запущен, вы увидите приглашение для ввода команд в его консоли.
Возвращаемся в терминале на предыдущую вкладку, где у нас отображены результаты работы сканера nmap. Копируем протокол и возвращаемся во вкладку с metasploite.
В консоли metasploite пишем команду:
И жмем Enter. Если уязвимость присутствует в базе metasploite, она обязательно будет отображена в результатах поиска. И да, такая уязвимость нашлась. Да еще и для нашей версии протокола. Пишем в консоли команду:
Я, для примера, просто написал use, после чего скопировал путь к уязвимости в результатах поиска и нажал Enter.
После того, как будет установлена уязвимость для использования, пишем в консоли команду:
Мы увидим, что для эксплуатации уязвимости нужно указать целевой хост, на котором эта уязвимость находится, то есть, присвоить параметру RHOSTS определенное значение, которое соответствует ip-адресу целевой машины.
Пишем в консоли команду:
Жмем Enter и видим, что адрес целевой машины был установлен. Для того, чтобы убедиться в этом снова выполняем команду:
И видим, что да, все в порядке. Адрес установился.
Что ж, вроде бы все установлено, можно попробовать запустить выполнение. Пишем в консоли команду:
Эксплуатация уязвимости
Скрипт начинает свою работу и спустя какое-то время, если все прошло хорошо, вы увидите надпись: Command shell session 1 opened… Это означает, что все сработало, эксплоит выполнил свое дело и мы получили доступ к удаленной машине. Причем, доступ не просто обычного пользователя, а доступ root. Для того, чтобы убедиться, так ли это, давайте введем команду id. И увидим, что да, мы являемся root. Затем выполним команду who и увидим, что на машине два пользователя. Первый — это пользователь по умолчанию, msfadmin и, суперпользователь root, под которым у нас запущен shell.
Ну и теперь можно посмотреть, что нам доступно вообще. Для начала я выполнил команду ls и получил список всех каталогов. Затем перешел в каталог home и уже там выполнил ls. Все прекрасно работало.
Вот, для примера, выполнение команду ifconfig:
Ну и для того, чтобы выйти из shell я ввел команду exit, а затем, чтобы выйти из metasploit ту же самую команду, но уже на локальной машине.
Что я могу сказать по поводу моего первого опыта? Ну, если выразиться кратко, то восторг… от того, что получилось действительно получить доступ, и, хотя я и понимал, что это тестовая машина, что в реальности все намного сложнее при тестировании на проникновение, чувство того, что вот оно, получилось, еще долго было со мной. А именно это и двигает нами, когда все получается и просто хочется двигаться дальше и дальше.
А на этом все.
Спасибо за внимание. Надеюсь, что информация было полезна
Дисклеймер: Все данные, предоставленные в данной статье, взяты из открытых источников, не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.
Тестовый стенд
Чтобы организовать тестовый стенд, который получился у меня, нужно скачать два образа операционных систем для виртуальной машины. Для какой — выбирать вам. Я пользуюсь VmWare, потому скачивал для них. Но, если использовать VirtualBox, все действия будут точно такими же.
Итак, для скачивания образа Kali Linux, а это будет атакующая машина, идем на сайт вот по этой
Ссылка скрыта от гостей
, скачиваем нужный образ, распаковываем и устанавливаем в виртуальную машину. Установку образа я опущу, потому как здесь на форуме, да и в сети полно инструкций по установке.Теперь нужно скачать машину, на которой будем эксплуатировать уязвимость. Это довольно известная машина Metasploitable 2. Скачать ее можно вот
Ссылка скрыта от гостей
. Как и с предыдущей машиной, установку я тоже пропущу.Таким образом, мы получили две машины в одной сети: Kali Linux — машина с нужными инструментами для тестирования, Metasploitable 2 — машина со специально сделанными уязвимостями для тестирования. Понятное дело, что это не реальные, то есть боевые, условия, но учиться то на чем-то нужно. И лезть на Пентагон с командой hack, думаю, не самое разумное дело.
Сканирование сети
Запускаем машины. Условно будем считать, что мы не знаем о том, какие машины у нас в сети. Поэтому, переходим в Kali Linux и запускаем Nmap для того, чтобы понять, с чем мы имеем дело. Пишем в терминале команду:
nmap -sP 192.168.1.1/24
где адрес и маска, это тот диапазон, который нужно просканировать. Я решил сканировать всю подсеть, чтобы видеть полную картину. В итоге у меня нашлось пять активных адресов, один из которых является адресом роутера, а остальные адресами разных устройств, которые подключены к данной сети.
Здесь я, конечно, немного слукавил, так как уже, на самом деле знал адрес атакуемой машины. На скриншоте она отмечена стрелкой.
Двигаемся дальше. С помощью все того же nmap необходимо узнать, какие же службы запущены на целевой машине. Для того, чтобы понять, какую именно уязвимость можно здесь поэксплуатировать. Поэтому, пишем в терминале команду:
nmap -A 192.168..1.103
и запускаем сканирование. Оно длилось недолго, около трех секунд. После чего мне вывалился довольно внушительный список открытых портов и запущенных на них служб. И это не удивительно, так как Metasploitable для того и создан, чтобы предоставлять уязвимые порты и службы для тестирования. Я выбрал 21 порт и работающий на нем протокол ftp. В правой крайней колонке отображается версия данного протокола. Она то и будет нужна для того, чтобы поискать по ней уязвимости.
Запуск matasploit
А теперь пришла пора для запуска metasploit. Открываем дополнительное окно в терминале и пишем команду:
msfconsole
После этого начнется загрузка и инициализация скрипта.
После того, как metasploite будет запущен, вы увидите приглашение для ввода команд в его консоли.
Возвращаемся в терминале на предыдущую вкладку, где у нас отображены результаты работы сканера nmap. Копируем протокол и возвращаемся во вкладку с metasploite.
В консоли metasploite пишем команду:
search vsftpd
И жмем Enter. Если уязвимость присутствует в базе metasploite, она обязательно будет отображена в результатах поиска. И да, такая уязвимость нашлась. Да еще и для нашей версии протокола. Пишем в консоли команду:
use exploit/unix/ftp/vsftpd_234_backdoor
Я, для примера, просто написал use, после чего скопировал путь к уязвимости в результатах поиска и нажал Enter.
После того, как будет установлена уязвимость для использования, пишем в консоли команду:
show options
Мы увидим, что для эксплуатации уязвимости нужно указать целевой хост, на котором эта уязвимость находится, то есть, присвоить параметру RHOSTS определенное значение, которое соответствует ip-адресу целевой машины.
Пишем в консоли команду:
set RHOSTS 192.168.1.103
Жмем Enter и видим, что адрес целевой машины был установлен. Для того, чтобы убедиться в этом снова выполняем команду:
show options
И видим, что да, все в порядке. Адрес установился.
Что ж, вроде бы все установлено, можно попробовать запустить выполнение. Пишем в консоли команду:
run
Эксплуатация уязвимости
Скрипт начинает свою работу и спустя какое-то время, если все прошло хорошо, вы увидите надпись: Command shell session 1 opened… Это означает, что все сработало, эксплоит выполнил свое дело и мы получили доступ к удаленной машине. Причем, доступ не просто обычного пользователя, а доступ root. Для того, чтобы убедиться, так ли это, давайте введем команду id. И увидим, что да, мы являемся root. Затем выполним команду who и увидим, что на машине два пользователя. Первый — это пользователь по умолчанию, msfadmin и, суперпользователь root, под которым у нас запущен shell.
Ну и теперь можно посмотреть, что нам доступно вообще. Для начала я выполнил команду ls и получил список всех каталогов. Затем перешел в каталог home и уже там выполнил ls. Все прекрасно работало.
Вот, для примера, выполнение команду ifconfig:
Ну и для того, чтобы выйти из shell я ввел команду exit, а затем, чтобы выйти из metasploit ту же самую команду, но уже на локальной машине.
Что я могу сказать по поводу моего первого опыта? Ну, если выразиться кратко, то восторг… от того, что получилось действительно получить доступ, и, хотя я и понимал, что это тестовая машина, что в реальности все намного сложнее при тестировании на проникновение, чувство того, что вот оно, получилось, еще долго было со мной. А именно это и двигает нами, когда все получается и просто хочется двигаться дальше и дальше.
А на этом все.
Спасибо за внимание. Надеюсь, что информация было полезна
Последнее редактирование модератором: