Автоматизируем тестирование на проникновение с apt2

в 10:37, , рубрики: apt2, kali linux, Metasploit, RPC, Блог компании PentestIT, информационная безопасность

Автоматизируем тестирование на проникновение с apt2 - 1

20 сентября состоялся очередной релиз популярного дистрибутива для проведения тестирования на проникновение Kali Linux 2017.2. Среди нововведений мы получили возможность установить из репозитория несколько новых инструментов. В данном тексте мы рассмотрим фреймворк apt2 или Automated Penetration Testing Toolkit.

Установка и настройка

После обновления дистрибутива до версии 2017.2 можно приступать к установке фреймворка.
Напомню, что обновиться до последней версии Kali Linux можно при помощи следующих команд

apt-get update
apt-get upgrade
apt-get dist-upgrade

Установка происходит стандартно

apt-get install apt2

Далее рекомендую провести базовую настройку.

Изучив официальный github проекта становится ясно, что он интегрируется с Metasploit Framework.

Для интеграции с Metasploit нужно запустить его RPC сервис.
Делается это следующим образом

msfconsole
load msgrpc

Вы должны получить случайно сгенерированный пароль. Запомните его.
Автоматизируем тестирование на проникновение с apt2 - 2

Можно посмотреть на структуру конфигурационного файла в каталоге /usr/share/apt2

Автоматизируем тестирование на проникновение с apt2 - 3

Нас интересует файл default.cfg

В блоке [metasploit] указываем наш пароль

[metasploit]
msfhost=127.0.0.1
msfport=55552
msfuser=msf
msfpass=kqVbTlmr
msfexploitdelay=20

Далее вы можете добавить дополнительные ключи для nmap или изменить подсеть. По умолчанию используется SYN сканирование (-sS) и флаг (-A), что указывает Nmap провести определение версий сервисов, типа и версии ОС, выполнить безопасные NSE скрипты и traceroute. В некоторых случаях будет нелишним добавить ключ -Pn, если вы не импортируете в apt2 результат сканирования nmap.

[nmap]
scan_target=192.168.1.0/24
scan_type=S
scan_port_range=1-1024
scan_flags=-A

По умолчанию используется 20 потоков. Это значение можно не менять без необходимости.

[threading]
max_modulethreads=20

Есть настройка для Reponder. Если Вы используете нестандартную конфигурацию, нужно отредактировать блоки [responder] и [default_tool_paths]. Я задам responder_timeout=30, так как не хочу тратить время на этот модуль.

Далее идет блок [searching]

[searching]
file_search_patterns=*.bat,*.sh,*passwd*,*password*,*Pass*,*.conf,*.cnf,*.cfg,*.config

Здесь можно задать маски файлов, которые нас интересуют, если мы получим доступ, например, к NFS ресурсу. Можно добавить что-то свое или не менять.

Также фреймворк позволяет использовать API Shodan. Ключи задаются в отдельном блоке и по умолчанию закомментированы. Я не буду их использовать, так как моя целевая машина находится в локальной сети. Напомню, что процесс получения API ключей для каждого сервиса индивидуален и не всегда бесплатен. API ключ для Shodan можно получить бесплатно после регистрации на сайте.

[apikeys]
#apt2_shodan_apikey=CHANGEME
#apt2_linkedin_apikey=CHANGEME

Запуск

При запуске с ключом -h мы получаем список доступных ключей

Автоматизируем тестирование на проникновение с apt2 - 4

Разберем некоторые из них

SAFE_LEVEL может принимать значения от 1 до 5 и указывает apt2 насколько безопасные модули разрешено запускать. Самые безопасный режим — 5. По умолчанию используется 4.

EXCLUDE_TYPES позволяет исключить определенные типы модулей из списка.

--target задает цели, либо вы можете использовать ключ -f, чтобы загрузить в apt2 XML файл с результатами сканирования nmap. Напомню, что сохранить результат работы nmap в XML можно при помощи ключа -oX.

и ключ --listmodules покажет доступные модули. Давайте посмотрим на этот список

apt2 --listmodules

Получаем список с указанием имени модуля, его типа (используется для EXCLUDE_TYPES), Safety Level и описания. Модули с Safety Level ниже, чем указано ключом -s выполнены не будут, о чем будет дополнительно сказано в выводе apt2 при запуске.

Автоматизируем тестирование на проникновение с apt2 - 5

Давайте запустим apt2 с максимальным уровнем риска против машины 192.168.1.4, на которой работает Ubuntu.

apt2 -v -v -s 1 -b --target 192.168.1.4

Нас предупреждают, что модули, требующие API ключи не будут выполнены и начнется сканирование

Автоматизируем тестирование на проникновение с apt2 - 6

Далее начнут запускаться модули

Автоматизируем тестирование на проникновение с apt2 - 7

Посмотреть, что смог собрать apt2 можно в директории /root/.apt2/proofs

Автоматизируем тестирование на проникновение с apt2 - 8

Здесь вы можете просмотреть результат работы каждого модуля. В моем случае фреймворк не обнаружил ничего стоящего.

Запустим еще одно сканирование в отношении Windows машины 192.168.1.7 и не будем выполнять сканирование nmap через apt2, а загрузим XML файл.

nmap -n -Pn -A -oX scan1 192.168.1.7
apt2 -s 1 -b -v -v -f scan1

Здесь уже запускаются другие модули, например модуль для тестирования на уязвимость к ms08-067.

Автоматизируем тестирование на проникновение с apt2 - 9

Если сервер уязвим, об этом будет сказано в логе

[!] VULN [ms08-067] Found on [192.168.1.7]

и уязвимость будет проэксплуатирована через сервис Metasploit RPC автоматически и мы получим сессию

Автоматизируем тестирование на проникновение с apt2 - 10

Далее через сессию уже будут выполнены другие модули.

Автоматизируем тестирование на проникновение с apt2 - 11

И в конце работы программы будет создан отчет о проделанной работе

Автоматизируем тестирование на проникновение с apt2 - 12

firefox /root/.apt2/reports/reportGenHTML_flcgfsqhji.html

Автоматизируем тестирование на проникновение с apt2 - 13

Если вы хотите написать свои модули для apt2, можно изучить имеющиеся в директории /usr/share/apt2/modules и сделать собственные по аналогии. Сам фреймворк написан на python и модули к нему, соответственно, тоже.

Автор: antgorka

Источник


  1. Evgenii_Shpak:

    Спасибо за статью! Очень информативно. Только я выбрал АПИ spyce.com , у них выдача по интересней)

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js