Содержание статьи

WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный информацией из этой статьи.
Установка Metasploit Framework
В дистрибутивах, предназначенных для тестирования на проникновение (к примеру, Kali или Parrot OS), этот продукт либо предустановлен, либо легко устанавливается следующей командой:
apt install metasploit-framework
Если же ты хочешь использовать Metasploit Framework, например, в Ubuntu, то его можно установить из официального репозитория. Для этого набери в консоли следующие директивы:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
sudo chmod 755 msfinstall
sudo ./msfinstall
База данных Metasploit
Довольно часто пользователям Metasploit приходится ломать сети, содержащие очень много хостов. И наступает момент, когда аккумулирование всей полученной информации занимает непозволительно долгое время. Именно тогда начинаешь ценить возможность работы Metasploit Framework с СУБД PostgreSQL. Metasploit может сам сохранять и удобно формализовать полученную информацию благодаря модулю msfdb. Для работы с базами необходимо запустить службу postgresql
и создать базу для Metasploit.
service postgresql start
msfdb init

Проверить подключение к базе данных можно из самого фреймворка, выполнив команду db_status
.

Чтобы было удобней работать с различными областями (хостами, сетями или доменами) и разделять данные для структуризации, msfdb имеет поддержку так называемого рабочего пространства. Давай добавим новое пространство в наш проект.
> workspace -a xakep

Теперь мы действуем в созданном рабочем пространстве. Представим, что мы находимся в сети 192.168.6.0.24. Давай поищем в ней доступные хосты. Для этого будем использовать Nmap
, но из Metasploit и с привязкой к текущей базе данных — db_nmap
.
> db_nmap -O 192.168.6.0/24
Сам вывод Nmap нам неинтересен: все, что нужно, будет сохранено в базе данных. К примеру, у нас есть уже все просканированные хосты и мы можем их просмотреть одним списком с помощью команды hosts
.

Но заодно с хостами были сохранены и все службы, список которых у нас теперь также всегда будет под рукой. При этом мы можем посмотреть как вообще все службы на портах, так и список служб для определенного хоста.


У базы данных msfdb есть очень крутая возможность — сохранение всех найденных учетных данных. Об этой функции я расскажу позже, а сначала несколько слов о возможностях брутфорса, которыми располагает фреймворк. Полный список перебираемой информации для коллекционирования учетных данных можно получить следующей командой:
> search type auxiliary/scanner -S "_login"

Обрати внимание на SMB. Чтобы узнать, для чего именно предназначен определенный модуль и его описание (со ссылкой на cvedetails), а также посмотреть данные, которые нужно передать в качестве параметров, следует воспользоваться командой info
.
info auxiliary/scanner/smb/smb_login

Давай выберем этот модуль, зададим название домена, имя пользователя, интересующий нас хост и список паролей.
msf5 > use auxiliary/scanner/smb/smb_login
msf5 auxiliary(scanner/smb/smb_login) > set RHOSTS 192.168.6.129
msf5 auxiliary(scanner/smb/smb_login) > set SMBUser root
msf5 auxiliary(scanner/smb/smb_login) > set PASS_FILE /home/ralf/tmp/pass.txt
msf5 auxiliary(scanner/smb/smb_login) > set SMBDomain DOMAIN
msf5 auxiliary(scanner/smb/smb_login) > run


Если найденный пользователь — администратор, Metasploit сообщит нам об этом, что очень удобно. Но ведь в нашей сети может быть 100 машин и даже больше, а на них наверняка запущено множество служб. Как правило, удается собрать много учетных данных, используя только модули брутфорса. Использование msfdb позволяет не тратить время на коллекционирование всех обнаруженных логинов, хешей, паролей, так как они автоматически остаются в хранилище учетных данных, посмотреть которое можно командой creds
.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
b100s
03.07.2020 в 20:43
Что-то у меня db_nmap -O 192.168.6.0/24 не сработал. Всё без ошибок, но hosts пуст
Зато получилось импортировать в базу
$ cd $(mktemp -d); nmap -T5 192.168.1.0/24 -oX foo 2>&1 1>/dev/null; ls $(pwd)/foo
/tmp/tmp.CIPj4nZZwR/foo
и
msf5 > db_import /tmp/tmp.CIPj4nZZwR/foo
[*] Successfully imported /tmp/tmp.CIPj4nZZwR/foo
Тогда hosts выводит что-надо
str_mary
05.07.2020 в 16:09
db_nmap -O не будет работать, если метасплоит запущен не под рутовой учеткой, из-за флага -O. Тогда сам nmap возвращает ошибку, что требуются рутовые привилегии для такого сканирования. Использование флагов, не требующих рутовых привилегий, проблем не вызывает.
Под рутовой учеткой все отрабатывает прекрасно, но я предпочитаю sudo.
NModern
06.07.2020 в 09:49
Годный Контент
Saulg
28.07.2020 в 22:04
Empire был, Metasploit был, жду статью про обход АВ с использованием этих инструментов