Закончилось лето, наступил новый учебный год и вдруг, сразу же появилось желание попробовать что-то новое. А потому, я решил попробовать поучиться использовать 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 ту же самую команду, но уже на локальной машине.
Что я могу сказать по поводу моего первого опыта? Ну, если выразиться кратко, то восторг… от того, что получилось действительно получить доступ, и, хотя я и понимал, что это тестовая машина, что в реальности все намного сложнее при тестировании на проникновение, чувство того, что вот оно, получилось, еще долго было со мной. А именно это и двигает нами, когда все получается и просто хочется двигаться дальше и дальше.
А на этом все.
Спасибо за внимание. Надеюсь, что информация было полезна
Последнее редактирование модератором: