Deep Exploit - Metasploit на Arch Linux ARM. Работа с реальным сервером
@webwareПриветствую всех, жителей и гостей форума, в одной из моих предыдущих статей, а именно тут.
Я показал, как установить и довольно успешно пользоваться замечательным инструментом Deep Exploit, он включает в себя машинное обучение, нейросеть TensorFlow и ну и кучу всего разного, в статье все описано, рекомендую прочесть.
В самом конце, статьи Deep Exploit успешно применял эксплойты на виртуальной машине Metasploitable 2, сессии открывались, отчеты формировались (правда, не совсем, так как ожидалось, но я понял почему...)

Прошло время, нейронная сеть обучалась, и стала очень умной (sarcasm), в общем, на нескольких машинах она успела потренироваться. А мне захотелось посмотреть, как она справится с реальным сервером, в меру обновленным, со следующим списком сервисов:
- SSH
- SQL
- Zoneminder
- FTP
- VNC
- Apache
Помимо этого, сервер Metasploit будет располагаться на совершенно независимом сервере, под управлением Black Arch Linux ARM.
Только атакуемый сервер будет находиться в одной сети с нейросетью, он мой домашний.
Сервер с Deep Exploit подготовлен, осталось немного (совсем), расположить Metasploit на Black Arch ARM.

Установка
Обновим и синхронизируем пакеты:
pacman –Syyu

Устанавливаем Postgresql:
pacman -S postgresql

Устанавливаем необходимые в дальнейшем компоненты:
- wget
- git gcc
- patch
- curl
- zlib
- readline
- autoconf
- automake
- diffutils
- make
- libtool
- bison
- subversion
- gnupg
- python
- python2-pysqlite-legacy
- gtk2
- pygtk
- libpcap j
- dk7-openjdk
Выполняем установку Ruby, используя RVM:
curl -L https://get.rvm.io | bash -s stable

Скачиваем Metasploit с Github:
git clone https://github.com/rapid7/metasploit-framework.git cd Metasploit-framework

bundle install

Настройка PostgreSQL
Сначала необходимо установить нужную локализацию для базы данных.
nano /etc/locale.gen
Раскомментируем строку с нужной нам - en_US.utf8.

Сгенерируем новые локализации:
locale-gen

Конфигурируем базу данных:
chown -R postgres:postgres /var/lib/postgres/ su postgresinitdb –locale en_US.UTF-8 -D ‘/var/lib/postgres/data’exit systemctl start postgresql systemctl enable postgresql

Создаем пользователя и базу данных для Metasploit:
su postgres createuser msf -P -S -R -D createdb -O msf msf

Запускаем Metasploit и коннектимся к созданной базе данных:
db_connect msf@msf db_rebuild_cache db_status

Metasploit нуждается в команде db_connect при каждом запуске msfconsole. Чтобы избежать этих манипуляций при каждом запуске, просто используйте этот alias в вашем файле автозапуска, например, ~/.bashrc:
- alias msfconsole="msfconsole --quiet -x \"db_connect ${USER}@msf\""
Где опция quiet отключит баннер MSF при запуске, а команда -x произведёт операцию прямо после запуска.
Теперь, когда все готово к тестированию нейросети, инициируем запуск RPC Server:
load msgrpc ServerHost=192.168.0.104 ServerPort=55553 User=test Pass=test1234

Все работает корректно, можно запустить сканирование Deep Exploit моего сервера базирующегося на Raspbian.
Меняем настройки Deep Exploit в файле config.ini.
nano config.ini

И запускаем сканирование:
python DeepExploit.py -t 192.168.0.100 -m train

К сожалению, (но вообще норм) Deep Exploit ничего не смог сделать с моим сервером, много эксплоитов было перебрано, но безрезультатно.
Переключившись на тестирование другой, по умолчанию уязвимой машины, результаты не заставили себя долго ждать, плюс ко всему я разобрался, как формировать отчет формате HTML.
Для этого необходимо, после завершения сканирования запустить скрипт CreateReport.py, перед этим убедившись в наличии CSV файлов в директории /report Deep Exploit.
python CreateReport.py

И откроем его в браузере:

Используя эти данные, можно легко проэксплуатировать хост, надеюсь, репорт в пояснениях не нуждается.
Итог:
- Arch Linux – занимательно и познавательно. На все дополнительные вопросы вы найдете ответы в Arch Wiki.
- Эксплойты находящиеся в базе Metasploit не сработали на реальном сервере, это конечно зависит от хозяина, но все же.
- Deep Exploit совершает меньше ошибок подбирая модули непосредственно под ОС, а не как в начале, учимся.
- Репорты реально крутые.
- Deep Exploit облегчил прохождение CTF, но это не метод))
На этом все, спасибо за внимание, через пару дней будет статья о другом инструменте использующем Машинное Обучение.
До новых встреч. Специально для Codeby.net.