Pull to refresh
0
Pentestit
Информационная безопасность

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

Reading time3 min
Views11K


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

Вы должны получить случайно сгенерированный пароль. Запомните его.



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



Нас интересует файл 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 мы получаем список доступных ключей



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

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 с максимальным уровнем риска против машины 192.168.1.4, на которой работает Ubuntu.

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

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



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



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



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

Запустим еще одно сканирование в отношении 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.



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

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

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



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



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



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



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

Articles

Change theme settings

Information

Website
www.pentestit.ru
Registered
Founded
Employees
11–30 employees
Location
Россия