.. raw:: html
.. image:: ./pictures/logo.png
.. raw:: html
Jok3r v3 beta
.. 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/microbadger/image-size/koutto/jok3r.svg
:target: https://hub.docker.com/r/koutto/jok3r/
:alt: Taille Docker
.. image:: https://img.shields.io/docker/cloud/build/koutto/jok3r.svg
:alt: Statut de construction Docker
.. raw:: html
Framework d'automatisation de pentest réseau et web
www.jok3r-framework.com
ATTENTION : Le projet est encore en version 3 BETA. Il est encore en développement actif et des bugs peuvent être présents.
De nombreux tests sont en cours : voir https://github.com/koutto/jok3r/blob/master/tests/TESTS.rst. Les idées, rapports de bugs, contributions sont les bienvenus !
.. contents::
:local:
:depth: 1
=============
Aperçu
Jok3r est une application CLI Python3 qui vise à aider les testeurs d'intrusion pour les tests de sécurité d'infrastructure réseau et de boîte noire web.
L'objectif est de gagner autant de temps que possible lors des pentests réseau/web en automatisant autant de tests de sécurité que possible afin d'identifier rapidement les vulnérabilités faciles, puis de passer plus de temps sur des choses plus intéressantes et complexes !
Il est basé sur l'observation qu'il existe de nombreux outils/scripts de hacking open-source (provenant de diverses sources) ciblant les services réseau courants, qui permettent d'effectuer diverses tâches allant de l'empreinte numérique à l'exploitation. Par conséquent, l'idée de Jok3r est de combiner ces outils open-source de manière intelligente pour obtenir les résultats les plus pertinents.
=============
Fonctionnalités
Gestion de la boîte à outils de pentest
- Sélection d'outils : Compilation de 50+ outils et scripts open-source, provenant de diverses sources.
- Basé sur Docker : Application empaquetée dans une image Docker exécutant Kali OS, disponible sur Docker Hub.
- Prêt à l'emploi : Tous les outils et dépendances installés, il suffit de tirer l'image Docker et d'exécuter un nouveau conteneur.
- Mises à jour simplifiées : Gardez facilement toute la boîte à outils à jour en exécutant une seule commande.
- Personnalisation facile : Ajoutez ou retirez facilement des outils à partir d'un simple fichier de configuration.
Évaluation de la sécurité de l'infrastructure réseau
- De nombreux services pris en charge : Ciblez les services TCP/UDP les plus courants (HTTP, FTP, SSH, SMB, Oracle, MS-SQL, MySQL, PostgreSQL, VNC, etc.).
- Combinez la puissance des outils : Chaque vérification de sécurité est effectuée par un outil de la boîte à outils. Les attaques sont réalisées en enchaînant les vérifications de sécurité.
- Conscience du contexte : Les vérifications de sécurité à exécuter sont sélectionnées et adaptées en fonction du contexte de la cible (c'est-à-dire les technologies détectées, les identifiants, les vulnérabilités, etc.).
- Reconnaissance : L'empreinte numérique automatique (détection de produits) des services ciblés est effectuée.
- Recherche CVE : Lorsque les noms de produits et leurs versions sont détectés, une recherche de vulnérabilités est effectuée sur les bases de données CVE en ligne (en utilisant Vulners et CVE Details).
- Scan de vulnérabilités : Vérifier automatiquement les vulnérabilités courantes et tenter d'effectuer certaines exploitations (auto-pwn).
- Attaque par force brute : Vérifier automatiquement les identifiants par défaut/courants sur le service et effectuer une attaque par dictionnaire si nécessaire. Les listes de mots sont optimisées en fonction des services ciblés.
- Tests post-authentification : Effectuer automatiquement certaines vérifications post-exploitation lorsque des identifiants valides ont été trouvés.
Évaluation de la sécurité web
- Grande focalisation sur HTTP : Plus de 60 vérifications de sécurité différentes ciblant HTTP pour l'instant.
- Détection des technologies web : Un moteur d'empreinte basé sur Wappalyzer est exécuté avant les vérifications de sécurité, permettant de détecter : Langage de programmation, Framework, Bibliothèque JS, CMS, Serveur web et d'application.
- Exploitation de serveur : Scanner et/ou exploiter automatiquement les vulnérabilités les plus critiques (ex. RCE) sur les serveurs web et d'application (ex. JBoss, Tomcat, Weblogic, Websphere, Jenkins, etc.).
- Scan de vulnérabilités CMS : Exécuter automatiquement des scanners de vulnérabilités sur les CMS les plus courants (Wordpress, Drupal, Joomla, etc.).
Base de données locale et rapports
- Base de données locale : Les données relatives aux cibles sont organisées par missions (espaces de travail) dans une base de données Sqlite locale qui est mise à jour pendant les tests de sécurité.
- Shell interactif similaire à Metasploit : Accédez à la base de données via un shell interactif avec plusieurs commandes intégrées.
- Importer des cibles depuis Nmap : Ajouter des cibles à une mission soit manuellement, soit en chargeant les résultats Nmap.
- Importer des cibles depuis Shodan : Ajouter des cibles à une mission manuellement depuis Shodan (nécessite une clé API Shodan).
- Accéder à tous les résultats : Toutes les sorties des vérifications de sécurité, les identifiants détectés et les vulnérabilités sont stockés dans la base de données et peuvent être consultés facilement.
- Rapports : Générer des rapports HTML complets avec un résumé des cibles, des captures d'écran web et tous les résultats des tests de sécurité.
============
Démos
- Exemple 1 : Scanner un service JAVA-RMI (JMX) :
.. image:: pictures/video-01.png
:target: https://www.youtube.com/watch?v=FlbeBj5FPtI
- Exemple 2 : Scanner un site Joomla :
.. image:: pictures/video-02.png
:target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
============
Architecture
.. image:: ./pictures/visio/architecture/jok3r-architecture.png
:alt: Architecture Jok3r
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg
:width: 700px
:alt: Organigramme Jok3r
============
Installation
IMPORTANT : La façon recommandée d'utiliser Jok3r est de tirer l'image Docker afin de ne pas avoir à vous soucier des problèmes de dépendances et d'installation des divers outils de piratage de la boîte à outils. Tout est testé à partir du conteneur Docker disponible sur Docker Hub !
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Une image Docker est disponible sur Docker Hub et automatiquement reconstruite à chaque mise à jour : https://hub.docker.com/r/koutto/jok3r/. Elle est initialement basée sur l'image Docker officielle Kali Linux (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg
:target: https://microbadger.com/images/koutto/jok3r
:alt: Taille de l'image Docker
-
Tirer l'image Docker Jok3r :
.. code-block:: console
sudo docker pull koutto/jok3r
-
Exécuter un nouveau conteneur Docker :
.. code-block:: console
sudo docker run -i -t --name jok3r-container -w /root/jok3r -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2g --net=host koutto/jok3r
Notes :