
Jok3r - Фреймворк для тестирования на проникновение сетей и веб-приложений
.. raw:: html
.. image:: ./pictures/logo.png
.. raw:: html
.. image:: https://img.shields.io/badge/python-3.6-blue.svg :target: https://www.python.org/downloads/release/python-366/ :alt: Python 3.6
.. image:: https://readthedocs.org/projects/jok3r/badge/?version=latest :target: https://jok3r.readthedocs.io/en/latest/ :alt: Documentation ReadTheDocs
.. image:: https://img.shields.io/docker/automated/koutto/jok3r.svg :target: https://hub.docker.com/r/koutto/jok3r/ :alt: Docker Automated build
.. image:: https://img.shields.io/docker/build/koutto/jok3r.svg :alt: Docker Build Status
.. raw:: html
Jok3r — это CLI-приложение на Python3, предназначенное для помощи специалистам по тестированию на проникновение в инфраструктурах сетей и в проведении тестов безопасности веб-приложений методом черного ящика.
Его основная цель — сэкономить время на всем, что можно автоматизировать в процессе аудита сети/веб, чтобы больше времени уделять более интересным и сложным задачам.
Для этого я объединил инструменты аудита с открытым исходным кодом, чтобы выполнять различные проверки безопасности на всех распространенных сетевых сервисах.
Управление инструментами:
Автоматизация атак:
Управление миссиями / локальная база данных:
Jok3r создан с целью быть легко и быстро настраиваемым: инструменты, проверки безопасности, поддерживаемые сетевые сервисы… могут быть легко добавлены/изменены/удалены путем редактирования файлов конфигурации с простым для понимания синтаксисом.
Рекомендуемый способ использования Jok3r — внутри контейнера Docker, не беспокойтесь о проблемах зависимостей при установке различных инструментов аудита.
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Образ Docker доступен на Docker Hub и автоматически пересобирается при каждом обновлении: https://hub.docker.com/r/koutto/jok3r/. Изначально основан на официальном образе Kali/Debian Linux Docker (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg :target: https://microbadger.com/images/koutto/jok3r :alt: Docker Image size
Загрузка образа Jok3r Docker:
.. code-block:: console
sudo docker pull koutto/jok3r
Запуск обновленного контейнера Docker:
.. code-block:: console
sudo docker run -i -t --name jok3r-container -w /root/jok3r --net=host koutto/jok3r
Важно: опция --net=host необходима для общего доступа к интерфейсу хоста. Она нужна для обратных соединений (например, чтобы выполнить ping контейнера при проверке RCE, получить обратную оболочку)
Набор инструментов Jok3r готов к использованию!
.. code-block:: console
sudo docker start -i jok3r-container
.. code-block:: console
sudo docker exec -it jok3r-container bash
Показать все инструменты
.. code-block:: console
python3 jok3r.py toolbox --show-all
Установить все инструменты
.. code-block:: console
python3 jok3r.py toolbox --install-all --fast
Обновить все инструменты
.. code-block:: console
python3 jok3r.py toolbox --update-all --fast
Список поддерживаемых сервисов
.. code-block:: console
python3 jok3r.py info --services
Показать проверки безопасности для HTTP
.. code-block:: console
python3 jok3r.py info --checks http
Создать новую миссию в локальной базе данных.
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Mission "MiAuditoria" Agregado exitosamente
[*] La mision seleccionada es MiAuditoria
jok3rdb[MiAuditoria]>
Выполнить проверки безопасности для URL и добавить результаты в миссию
.. code-block:: console
python3 jok3r.py attack -t https://www.sapos.com/webapp/ --add MiAuditoria
Выполнить проверки безопасности для сервиса MSSQL (без взаимодействия с пользователем) и добавить результаты в миссию.
.. code-block:: console
python3 jok3r.py attack -t 190.212.190.133:1433 -s mssql --add MiAuditoria --fast
Импортировать хосты/сервисы из результатов Nmap в область миссии
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission MiAuditoria
[*] Selected mission is now MiAuditoria
jok3rdb[MiAuditoria]> nmap results.xml
Проверить безопасность сервисов в указанной миссии и сохранить результаты в базу данных
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria --fast
Проверить безопасность только сервисов FTP на портах 21/tcp и 2121/tcp в миссии
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=21,2121;service=ftp" --fast
Проверить безопасность только сервисов FTP на порту 2121/tcp и всех сервисов HTTP на 190.212.190.133 в миссии
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=2121;service=ftp" -f "ip=190.212.190.133;service=http"
Вы начинаете аудит с несколькими серверами. Вот частый пример использования JoK3r:
Запустите Nmap сканирование на целевых серверах
Создайте новую миссию (например, "MiAuditoria") в локальной базе данных:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Mission "MiAuditoria" successfully added
[*] La misión seleccionada es MiAuditoria
jok3rdb[MiAuditoria]>
3. Импортируйте результаты сканирования Nmap:
.. code-block:: console
jok3rdb[MiAuditoria]> nmap resultados.xml
4. Вы можете получить быстрый обзор всех сервисов и хостов, добавить комментарии, добавить некоторые учетные данные, если у вас уже есть знания о целях (тестирование методом серого ящика) и так далее
.. code-block:: console
jok3rdb[MiAuditoria]> hosts
[...]
jok3rdb[MiAuditoria]> services
[...]
5. Теперь выполните проверки безопасности для некоторых целей. Например, чтобы выполнить проверки для сервисов Java-RMI, вы можете выполнить следующую команду:
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "service=java-rmi" --fast
6. Вы можете просмотреть результаты проверок безопасности в реальном времени во время выполнения инструментов или позже из базы данных с помощью следующей команды:
.. code-block:: console
jok3rdb[MayhemProject]> results
Документация доступна: скоро...
Многие проверки еще предстоит реализовать, и необходимо добавить сервисы! Работа продолжается...