
Открытый все-в-одном CLI-инструмент для полуавтоматизации пентестинга.
Penta — это инструмент полуавтоматизации пентестинга на Python3. Он предоставляет расширенные возможности для извлечения информации об уязвимостях, найденных на конкретных серверах. Сейчас я разрабатываю систему сканирования с использованием vuln-db.



penta требует следующие пакеты.
Установите зависимости Python.
$ pipenv install
Если вы не любите pipenv
$ pip install -r requirements.txt
$ pipenv run start <options>
ИЛИ
$ python penta/penta.py <options>
$ pipenv run start -h
usage: penta.py [-h] [-v] [--proxy PROXY]
Penta is Pentest semi-automation tool
optional arguments:
-h, --help show this help message and exit
-v, --verbose Increase verbosity logging level
--proxy PROXY Proxy[IP:PORT]
======= MAIN MENU ===========================================
> Menu list for IP-based scan
Menu list for building VulnDB
[Exit]
======= PENTEST MENU LIST ===================================
> Port scan
Nmap & vuln scan
Check HTTP option methods
Grab DNS server info
Shodan host search
FTP connect with anonymous
SSH connect with Brute Force
Metasploit Frame Work
Change target host
[Return]
Сканирование портов
Проверяет состояние портов целевого хоста и определяет активные сервисы.
Nmap
Проверяет порты дополнительными средствами с помощью Nmap.
Проверка методов HTTP
Проверяет методы (например, GET, POST) для целевого хоста.
Получение информации о DNS-сервере
Отображает и извлекает информацию whois DNS и полезные записи.
Поиск хостов через Shodan
Для сбора информации о сервисах хоста из Shodan.
Запросите ключ API Shodan, чтобы включить эту функцию.
Подключение к FTP с анонимным доступом
Проверяет, активирован ли анонимный доступ на порту 21.
Пользователи FTP могут аутентифицироваться с помощью протокола входа в открытом виде (обычно в формате имени пользователя и пароля), но они могут подключиться анонимно, если сервер настроен соответствующим образом. Любой может войти на сервер, если администратор разрешил FTP-соединение с анонимным входом.
Подключение SSH с помощью Brute Force
Проверяет SSH-соединение с помощью брутфорса.
Словарные данные находятся в data/dict.
Metasploit Framework [Автоматическое сканирование — будущая работа]
Проверяет полезные модули msf на основе открытых портов.
База данных модулей находится в data/msf/module_list.db.
Сейчас я создал базу данных списка модулей и перехожу к методу её использования.
======= REPORT MENU LIST ====================================
> Daily report: CVE,EDB,MSF...
View report
Fetch CVEs
Fetch Exploits
Fetch Msf modules
Menu list for DB
[Return]
Создание ежедневного отчёта
Извлекает изменённые CVE, модули Metasploit Framework и последние записи ExploitDB онлайн и выводит информацию в терминал.
Просмотр отчёта
Информация об уязвимостях, записанная в локальной БД vuln_db.sqlite3, выводится в терминал без извлечения данных.
Загрузка CVE
Загружает CVE за указанный год из NVD Data Feeds и записывает их в БД.
Загрузка эксплойтов (Экспериментальная функция)
Извлекает информацию об эксплойтах из ExploitDB с онлайн-сайта.
Загрузка модулей Metasploit Framework
Каждый модуль msf содержит жёстко заданную информацию о CVE и другие данные, полезные для сканирования. Эта функция агрегирует информацию, записанную в каждом модуле (как онлайн, так и офлайн), и обеспечивает связь с CVE и EDB.
Если у вас есть ещё вопросы по penta, вики очень подробна и объясняет penta во всех деталях.
Penta выпущен под лицензией MIT, см. LICENSE.