Я тут всё экспериментирую с нейронкой и нашел такую итересную штуку, называется PentestGPT...
Это агент предназначенный для автоматизации таких целей:
- определять открытые порты и сервисы;
- анализировать версии ПО;
- исследовать веб-приложения;
- искать директории, поддомены и точки входа;
- выделять потенциально уязвимые компоненты;
- предлагать дальнейшие проверки.
Есть сервер 192.168.50.20, просканируй порты, проанализируй структуру сервера, сделай дерево атак.
Нейронка автоматически делает анализ, запускает нужный софт и т.д. и получается какой-то такой ответ:
Дерево гипотез:
Получить доступ к серверу
├── Веб-приложение
│ ├── Проверить загрузку файлов
│ ├── Проверить SQL-инъекции
│ └── Проверить устаревшие компоненты
├── SSH
│ ├── Проверить конфигурацию
│ └── Проверить найденные учётные данные
└── Внутренняя сеть
└── Доступна только после получения точки входа
У каждого узла:
- статус;
- вероятность;
- уровень риска;
- доказательства;
- связанные команды;
- причина, почему гипотеза закрыта или подтверждена.
- описание уязвимости;
- затронутый узел;
- условия эксплуатации;
- доказательства;
- влияние;
- CVSS;
- CWE;
- рекомендации;
- команды для проверки исправления.
Решил сделать более безобидную штуку, а именно Zer0Kernel Hacker Mentor:
Zer0Kernel Hacker Mentor - интерактивный AI-наставник по информационной безопасности, авторизованному пентесту и учебным лабораториям.
Он помогает пошагово проводить аудит, анализирует результаты инструментов, объясняет команды, ведёт дерево задач и показывает, как обнаруживать, подтверждать и устранять проблемы безопасности.
Что умеет Zer0Kernel Hacker Mentor
Пошагово вести аудит
Вместо большого списка случайных рекомендаций наставник предлагает один логичный следующий шаг, ждёт результат и только потом продолжает.
Пример:
Пользователь:
Провожу аудит учебной машины 192.168.56.20.
Scope — только этот адрес. С чего начать?
Mentor:
Что известно:
— цель: 192.168.56.20;
— разрешён внешний аудит;
— открытые порты пока неизвестны.
Следующий шаг:
nmap -Pn --top-ports 1000 --open 192.168.56.20
Команда проверит наиболее распространённые TCP-порты.
Выполните её самостоятельно и пришлите полный результат.
Анализировать вывод инструментов
Можно присылать результаты:
- Nmap;
- Nuclei;
- Nikto;
- ffuf и Gobuster;
- curl;
- testssl.sh;
- Burp Suite;
- OpenVAS и Nessus;
- LinPEAS и WinPEAS;
- Semgrep;
- логи Linux, Windows, Nginx и Apache.
Наставник может ответить:Пользователь:
22/tcp open ssh OpenSSH 8.9p1
80/tcp open http nginx 1.18.0
Подтверждённые факты:
— открыт SSH на порту 22;
— открыт HTTP на порту 80;
— веб-сервер определён как nginx 1.18.0.
Следующий шаг:
Получить HTTP-заголовки и начальную страницу.
curl -i http://192.168.56.20/
Обратите внимание на:
— HTTP-код;
— заголовок Server;
— редиректы;
— cookies;
— HTML-комментарии;
— ссылки и формы.
Объяснять команды и параметры
Он не просто выдаёт команду, а объясняет её.
nmap -sV -p 22,80 192.168.56.20
Наставник объяснит:
-sV определяет версии найденных сервисов;
-p 22,80 ограничивает проверку двумя уже известными портами;
цель соответствует разрешённому scope.
Это активная проверка. Она создаёт сетевой трафик и может быть
зафиксирована IDS, firewall и журналами сервисов.
Вести дерево задач
Внутри одного чата наставник может поддерживать состояние аудита:
[DONE] 1. Проверить scope
[DONE] 2. Найти открытые TCP-порты
[TODO] 3. Исследовать HTTP на порту 80
[TODO] 4. Исследовать SSH на порту 22
[BLOCKED] 5. Проверить локальные настройки системы
Это помогает не повторять выполненные проверки и не переходить к действиям, для которых ещё нет оснований.
Отделять факты от предположений
Например, наличие версии сервиса ещё не доказывает наличие уязвимости.
Подтверждено:
— сервер сообщил версию nginx 1.18.0.
Предположение:
— версия может быть устаревшей.
Пока не подтверждено:
— наличие конкретной эксплуатируемой уязвимости;
— отсутствие backport-исправлений от дистрибутива.
Помогать с веб-аудитом
Можно спрашивать:
Я обнаружил форму входа по адресу /login.
Как исследовать её безопасно?
Наставник предложит проверить:
- методы запросов;
- cookies и атрибуты безопасности;
- обработку ошибок;
- CSRF-защиту;
- rate limiting;
- управление сессиями;
- раскрытие информации;
- контроль доступа.
Анализировать конфигурации
Можно вставлять:
- Nginx;
- Apache;
- Docker Compose;
- SSH;
- Fail2ban;
- systemd;
- PHP;
- Redis;
- MySQL;
- firewall;
- Kubernetes.
Проверь этот серверный блок Nginx.
Найди проблемы безопасности и предложи минимальные исправления.
Mentor сможет обратить внимание на:
- устаревшие TLS-протоколы;
- доверие к пользовательским заголовкам;
- неправильное проксирование;
- доступ к внутренним маршрутам;
- раскрытие служебной информации;
- отсутствие защитных заголовков.
Анализировать исходный код
Поддерживаются типичные задачи:
- поиск SQL-инъекций;
- XSS;
- command injection;
- SSRF;
- path traversal;
- небезопасная десериализация;
- ошибки аутентификации;
- неправильная проверка прав;
- утечки токенов и секретов;
- небезопасная работа с файлами.
Проверь этот обработчик загрузки файлов.
Покажи потенциальные уязвимости, сценарий риска и исправленный код.
Помогать в Blue Team-задачах
Наставник подходит не только для атакующей стороны.
Он может:
- анализировать логи;
- строить временную линию инцидента;
- искать признаки компрометации;
- объяснять подозрительные процессы;
- создавать правила Sigma, YARA и Suricata;
- предлагать меры защиты;
- проверять исправление проблемы.
В auth.log вижу много попыток SSH, а затем успешный вход.
Помоги разобрать последовательность событий.
Объяснять защиту
Для каждой найденной проблемы наставник может показывать полный цикл:
Как обнаружить
↓
Как безопасно подтвердить
↓
Какие следы останутся в логах
↓
Как исправить
↓
Как проверить исправление
Для использования, нужно выбрать эту модель:
