
Jok3r v3 BETA 2 - Framework d'automatisation de pentest réseau et web
.. 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/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
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
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.
.. image:: pictures/video-01.png :target: https://www.youtube.com/watch?v=FlbeBj5FPtI
.. image:: pictures/video-02.png :target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
.. image:: ./pictures/visio/architecture/jok3r-architecture.png :alt: Architecture Jok3r
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg :width: 700px :alt: Organigramme Jok3r
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 !
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 :
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix est nécessaire pour pouvoir lancer une application graphique à partir du conteneur Docker (par exemple, ouvrir un navigateur web pour lire les rapports). Cela nécessite d'exécuter xhost +local:root sur l'hôte.
--shm-size 2g est utilisé pour augmenter la taille de la mémoire partagée, nécessaire pour éviter les plantages du navigateur web lors de la lecture des rapports depuis le conteneur Docker.
--net=host est nécessaire pour partager l'interface de l'hôte. Il est requis pour les connexions inverses (par exemple, Ping vers le conteneur lors du test de RCE, obtention d'un reverse shell).
Pour relancer un conteneur arrêté :
.. code-block:: console
sudo docker start -i jok3r-container
Pour ouvrir plusieurs shells dans le conteneur :
.. code-block:: console
sudo docker exec -it jok3r-container bash
Pour mettre à jour, il suffit de tirer la dernière image Docker de Docker Hub et d'exécuter un nouveau conteneur à partir de cette nouvelle image :
.. code-block:: console
sudo docker pull koutto/jok3r
sudo docker run -i -t --name jok3r-container-updated -w /root/jok3r -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2g --net=host koutto/jok3r
Note : Bien sûr, vous pouvez récupérer votre base de données locale local.db (avec vos missions sauvegardées, cibles...) depuis un ancien conteneur en utilisant la commande sudo docker cp.
.. code-block:: console
python3 jok3r.py toolbox --show-all
.. code-block:: console
python3 jok3r.py toolbox --install-all --auto
.. code-block:: console
python3 jok3r.py toolbox --update-all
.. code-block:: console
python3 jok3r.py toolbox --update-all --auto
.. code-block:: console
python3 jok3r.py info --services
.. code-block:: console
python3 jok3r.py info --checks <service>
.. code-block:: console
python3 jok3r.py info --attack-profiles <service>
.. code-block:: console
python3 jok3r.py info --products
Créer une nouvelle mission dans la base de données locale :
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] Mission "mayhem" successfully added
[*] Selected mission is now mayhem
jok3rdb[mayhem]>
Cible unique :
.. code-block:: console
python3 jok3r.py attack -t https://www.example.com/ --add2db mayhem
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.42:1433 -s mssql --add2db mayhem --fast
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.142:21 -s ftp --cat-only recon,vulnscan --add2db mayhem
Cibles multiples :
.. code-block:: console
python3 jok3r.py attack -m mayhem --profile red-team --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "port=21,2121;service=ftp" --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "port=2121;service=ftp" -f "ip=192.168.1.42;service=http"
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission mayhem
[*] Selected mission is now mayhem
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
.. code-block:: console
jok3rdb[mayhem]> shodan ip
.. code-block:: console
jok3rdb[mayhem]> services
jok3rdb[mayhem]> hosts
jok3rdb[mayhem]> products
jok3rdb[mayhem]> creds
.. code-block:: console
jok3rdb[mayhem]> results --search '<search_string>'
.. code-block:: console
jok3rdb[mayhem]> vulns
.. code-block:: console
jok3rdb[mayhem]> report
Vous commencez un pentest avec plusieurs serveurs dans le périmètre. Voici un exemple typique d'utilisation de JoK3r :
Vous exécutez un scan Nmap sur les serveurs dans le périmètre.
Vous créez une nouvelle mission (disons "mayhem") dans la base de données locale :
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] Mission "mayhem" successfully added
[*] Selected mission is now mayhem
jok3rdb[mayhem]>
3. Vous importez vos résultats du scan Nmap dans la base de données :
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
4. Vous pouvez ensuite avoir un aperçu rapide de tous les services et hôtes du périmètre, ajouter des commentaires, ajouter des identifiants si vous avez déjà des connaissances sur les cibles (pentest en boîte grise), etc.
.. code-block:: console
jok3rdb[mayhem]> hosts
[...]
jok3rdb[mayhem]> services
[...]
5. Maintenant, vous pouvez exécuter des vérifications de sécurité sur certaines cibles du périmètre. Par exemple, si vous souhaitez exécuter des vérifications sur tous les services Java-RMI du périmètre, vous pouvez exécuter la commande suivante :
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "service=java-rmi" --fast
6. Vous pouvez visualiser les résultats complets des vérifications de sécurité soit en direct lors de l'exécution des outils, soit ultérieurement depuis la base de données en utilisant la commande suivante :
.. code-block:: console
jok3rdb[mayhem]> results
7. À tout moment, il est possible d'afficher les données extraites automatiquement des sorties des vérifications de sécurité, c'est-à-dire les produits, identifiants et vulnérabilités détectés.
.. code-block:: console
jok3rdb[mayhem]> products
[...]
jok3rdb[mayhem]> creds
[...]
jok3rdb[mayhem]> vulns
[...]
8. À tout moment, vous pouvez générer un rapport HTML avec un résumé de toutes les cibles dans le périmètre de la mission, des captures d'écran des pages web pour les services HTTP et les sorties complètes de toutes les vérifications de sécurité qui ont été exécutées :
.. code-block:: console
jok3rdb[mayhem]> report
Rédaction de la documentation en cours...
Mis à jour le : 12/07/2019
De nombreuses vérifications restent à implémenter et des services doivent être ajoutés !! Travail en cours ...
AJP (par défaut 8009/tcp)_FTP (par défaut 21/tcp)_HTTP (par défaut 80/tcp)_Java-RMI (par défaut 1099/tcp)_JDWP (par défaut 9000/tcp)_MSSQL (par défaut 1433/tcp)_MySQL (par défaut 3306/tcp)_Oracle (par défaut 1521/tcp)_PostgreSQL (par défaut 5432/tcp)_RDP (par défaut 3389/tcp)_SMB (par défaut 445/tcp)_SMTP (par défaut 25/tcp)_SNMP (par défaut 161/udp)_SSH (par défaut 22/tcp)_Telnet (par défaut 21/tcp)_VNC (par défaut 5900/tcp)_.. code-block:: console
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Nom | Catégorie | Description | Outil utilisé |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Reconnaissance à l'aide des scripts AJP de Nmap | nmap |
| tomcat-version | recon | Empreinte de la version Tomcat via AJP | ajpy |
| vulners-lookup | vulnlookup | Recherche de vulnérabilités sur Vulners.com (nécessite produit+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Recherche de vulnérabilités sur Cvedetails.com (nécessite produit+version) | cvedetails-lookup |
| default-creds-tomcat | defaultcreds | Vérification des identifiants par défaut pour le gestionnaire d'applications Tomcat via AJP | ajpy |
| deploy-webshell-tomcat | exploit | Déploiement d'un webshell sur Tomcat via AJP et liste des applications | ajpy |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Nom | Catégorie | Description | Outil utilisé |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Reconnaissance à l'aide des scripts FTP de Nmap | nmap |
| ftpmap-scan | vulnscan | Identification du logiciel/version du serveur FTP et vérification des vulns connues | ftpmap |
| vulners-lookup | vulnlookup | Recherche de vulnérabilités sur Vulners.com (nécessite produit+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Recherche de vulnérabilités sur Cvedetails.com (nécessite produit+version) | cvedetails-lookup |
| default-creds | defaultcreds | Vérification des identifiants par défaut/courants sur le serveur FTP | hydra |
| bruteforce-creds | bruteforce | Attaque par force brute des comptes FTP | hydra |
| ftp-dirlisting | postexploit | Liste des répertoires/fichiers sur le serveur FTP (maxdepth=4) | lftp |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console+------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | Nom | Catégorie | Description | Outil utilisé | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | nmap-recon | recon | Reconnaissance à l'aide des scripts HTTP de Nmap | nmap | | load-balancing-detection | recon | Détection d'équilibreur de charge HTTP | halberd | | waf-detection | recon | Identifier et prendre l'empreinte des produits WAF protégeant le site web | wafw00f | | waf-detection2 | recon | Identifier et prendre l'empreinte des produits WAF protégeant le site web | identifywaf | | cloudmare-recon | recon | Récupération de l'IP réelle derrière CloudFlare | cloudmare | | fingerprinting-multi-whatweb | recon | Identifier CMS, plateformes de blog, bibliothèques JS, serveurs web | whatweb | | fingerprinting-appserver | recon | Prendre l'empreinte du serveur d'applications (JBoss, ColdFusion, Weblogic, Tomcat, Railo, Axis2, Glassfish) | clusterd | | webdav-detection-msf | recon | Détecter WebDAV sur le serveur web | metasploit | | fingerprinting-multi-wig | recon | Prendre l'empreinte de plusieurs CMS et serveurs web/d'applications | wig | | fingerprinting-cms-cmseek | recon | Détecter le CMS (130+ pris en charge), détecter la version sur Drupal, scan avancé sur Wordpress/Joomla | cmseek | | fingerprinting-cms-fingerprinter | recon | Prendre l'empreinte précise des versions CMS (basée sur les checksums de fichiers) | fingerprinter | | fingerprinting-drupal | recon | Prendre l'empreinte de Drupal 7/8 : énumération des utilisateurs, nœuds, fichiers par défaut, modules, thèmes | drupwn | | fingerprinting-domino | recon | Prendre l'empreinte du logiciel IBM/Lotus Domino | domiowned | | crawling-fast | recon | Explorer rapidement le site web, analyser les fichiers/répertoires intéressants | dirhunt | | crawling-fast2 | recon | Explorer le site web et extraire les URL, fichiers, informations et points d'accès | photon | | vulners-lookup | vulnlookup | Recherche de vulnérabilités (langage, framework, bibliothèque JS, CMS, serveur, serveur d'applications) sur Vulners.com | vulners-lookup | | cvedetails-lookup | vulnlookup | Recherche de vulnérabilités (langage, framework, bibliothèque JS, CMS, serveur, serveur d'applications) sur Cvedetails.com | cvedetails-lookup | | default-creds-web-multi | defaultcreds | Vérifier les identifiants par défaut sur diverses interfaces web | changeme | | default-creds-appserver | defaultcreds | Vérifier les identifiants par défaut/courants sur les serveurs d'applications | web-brutator | | ssl-check | vulnscan | Vérifier la configuration SSL/TLS | testssl | | headers-analysis | vulnscan | Vérifier les en-têtes HTTP | h2t | | vulnscan-multi-nikto | vulnscan | Vérifier les multiples vulnérabilités/mauvaises configurations web | nikto | | webdav-scan-davscan | vulnscan | Scanner le WebDAV HTTP | davscan | | webdav-internal-ip-disclosure | vulnscan | Vérifier la divulgation d'IP interne via WebDAV | metasploit | | webdav-website-content | vulnscan | Détecter les serveurs web divulguant leur contenu via WebDAV | metasploit | | http-put-check | vulnscan | Détecter la prise en charge de la méthode HTTP PUT dangereuse | metasploit | | apache-optionsbleed-check | vulnscan | Tester le bug Optionsbleed dans Apache httpd (CVE-2017-9798) | optionsbleed | | shellshock-scan | vulnscan | Détecter si le serveur web est vulnérable à Shellshock (CVE-2014-6271) | shocker | | iis-shortname-scan | vulnscan | Scanner la vulnérabilité de divulgation de noms de fichiers courts IIS (8.3) | iis-shortname-scanner | | iis-internal-ip-disclosure | vulnscan | Vérifier la divulgation d'IP interne IIS | metasploit | | tomcat-user-enum | vulnscan | Énumérer les utilisateurs sur Tomcat 4.1.0-4.1.39, 5.5.0-5.5.27 et 6.0.0-6.0.18 | metasploit | | jboss-vulnscan-multi | vulnscan | Scanner le serveur d'applications JBoss pour de multiples vulnérabilités | metasploit | | jboss-status-infoleak | vulnscan | Interroger le servlet d'état JBoss pour collecter des informations sensibles (JBoss 4.0, 4.2.2 et 4.2.3) | metasploit | | jenkins-infoleak | vulnscan | Énumérer une installation distante Jenkins-CI de manière non authentifiée | metasploit | | cms-multi-vulnscan-cmsmap | vulnscan | Vérifier les vulnérabilités dans les CMS Wordpress, Drupal, Joomla | cmsmap | | wordpress-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS Wordpress | wpscan | | wordpress-vulnscan2 | vulnscan | Rechercher les vulnérabilités dans le CMS Wordpress | wpseku | | joomla-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS Joomla | joomscan | | joomla-vulnscan2 | vulnscan | Rechercher les vulnérabilités dans le CMS Joomla | joomlascan | | joomla-vulnscan3 | vulnscan | Rechercher les vulnérabilités dans le CMS Joomla | joomlavs | | drupal-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS Drupal | droopescan | | magento-vulnscan | vulnscan | Vérifier les mauvaises configurations dans le CMS Magento (fonctionne partiellement) | magescan | | silverstripe-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS Silverstripe | droopescan | | vbulletin-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS vBulletin | vbscan | | liferay-vulnscan | vulnscan | Rechercher les vulnérabilités dans le CMS Liferay | liferayscan | | angularjs-csti-scan | vulnscan | Rechercher l'injection de modèles côté client AngularJS (CSTI) | angularjs-csti-scanner | | jquery-fileupload-rce-cve2018-9206 | exploit | Exploiter le téléchargement arbitraire de fichiers dans le widget jQuery File Upload <= 9.22 (CVE-2018-9206) | jqshell | | struts2-rce-cve2017-5638 | exploit | Exploiter la RCE du parseur Jakarta Multipart d'Apache Struts2 (CVE-2017-5638) | jexboss | | struts2-rce-cve2017-9791 | exploit | Exploiter la RCE OGNL du plugin Showcase Apache Struts2 (CVE-2017-9791) | metasploit | | struts2-rce-cve2017-9805 | exploit | Exploiter la RCE XStream du plugin REST Apache Struts2 (CVE-2017-9805) | struts-pwn-cve2017-9805 | | struts2-rce-cve2018-11776 | exploit | Exploiter la RCE due à une mauvaise configuration d'Apache Struts2 (CVE-2018-11776) | struts-pwn-cve2018-11776 | | rails-rce-cve2019-5420 | exploit | Exploiter la divulgation de contenu de fichier (CVE-2019-5418) + RCE (CVE-2019-5420) sur Ruby on Rails | jok3r-pocs | | appserver-auth-bypass | exploit | Tenter d'exploiter un contournement d'authentification sur les serveurs d'applications | clusterd | | tomcat-rce-cve2017-12617 | exploit | Exploit pour la RCE par contournement de téléchargement JSP Apache Tomcat (CVE-2017-12617) | jok3r-pocs | | jboss-misconfig-exploit | exploit | Tenter d'exploiter une mauvaise configuration sur JBoss appserver (pré-authentification) (jmx|web|admin-console, JMXInvokerServlet) | jexboss | | jboss-path-traversal-cve2014-7816 | exploit | Exploiter un traversée de répertoire sur Jboss Wildfly 8.1.0 (Windows uniquement) (CVE-2014-7816) | metasploit | | jboss-deserialize-cve2015-7501 | exploit | Exploit pour la RCE par désérialisation JBoss (CVE-2015-7501) | jok3r-pocs | | glassfish-path-traversal-cve2017-1000028 | exploit | Exploiter un traversée de répertoire sur Glassfish <= 4.1 (CVE-2017-1000028) | metasploit | | jenkins-unauthenticated-console | exploit | Détecter et exploiter une console de scripts Jenkins-CI non authentifiée | metasploit | | jenkins-cli-deserialize-cve2015-8103 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Jenkins CLI RMI (CVE-2015-8103) | jexboss | | jenkins-cli-deserialize2-cve2015-8103 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Jenkins CLI RMI (CVE-2015-8103) | jok3r-pocs | | jenkins-groovy-xml-rce-cve2016-0792 | exploit | Exploiter la RCE Jenkins Groovy XML (CVE-2016-0792) | jok3r-pocs | | jenkins-deserialize-cve2017-1000353 | exploit | Exploiter la RCE par désérialisation Java Jenkins (CVE-2017-1000353) | jok3r-pocs | | jenkins-rce-cve2018-1000861 | exploit | Exploiter la RCE non authentifiée Jenkins via invocation de méthode (CVE-2018-1000861) | jok3r-pocs | | weblogic-t3-open-jdbc-datasource | exploit | Lister les JNDI disponibles via Weblogic T3(s) et tenter d'obtenir un shell SQL via une source de données JDBC ouverte | jndiat | | weblogic-t3-deserialize-cve2015-4852 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Weblogic T3(s) (CVE-2015-4852) | jok3r-pocs | | weblogic-t3-deserialize-cve2016-3510 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Weblogic T3 (CVE-2016-3510) | jok3r-pocs | | weblogic-t3-deserialize-cve2017-3248 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Weblogic T3(s) (CVE-2017-3248) | exploit-weblogic-cve2017-3248 | | weblogic-t3-deserialize-cve2018-2628 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Weblogic T3(s) (CVE-2018-2628) | jok3r-pocs | | weblogic-t3-deserialize-cve2018-2893 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Weblogic T3(s) (CVE-2018-2893) | jok3r-pocs | | weblogic-rce-cve2018-2894 | exploit | Exploiter une vulnérabilité dans Weblogic permettant le déploiement d'un webshell (CVE-2018-2894) | jok3r-pocs | | weblogic-wls-wsat-cve2017-10271 | exploit | Exploiter WLS-WSAT (non authentifié) dans Weblogic (CVE-2017-10271) | jok3r-pocs | | websphere-deserialize-cve2015-7450 | exploit | Exploiter la désérialisation Java (non authentifiée) dans Websphere (CVE-2015-7450) | jok3r-pocs | | coldfusion-xxe-cve2009-3960 | exploit | Exploiter XXE dans Coldfusion 7/8/9 (CVE-2009-3960) | metasploit | | coldfusion-path-traversal-cve2010-2861 | exploit | Exploiter un traversée de répertoire dans Coldfusion (CVE-2010-2861) | metasploit | | coldfusion-path-traversal-cve2013-3336 | exploit | Exploiter un traversée de répertoire dans Coldfusion 9/10 et extraire les identifiants (CVE-2013-3336) | metasploit | | iis-webdav-win2003-bof | exploit | Exploiter un débordement de tampon dans WebDAV de IIS 6.0 sur Windows 2003 R2 (CVE-2017-7269) | metasploit | | drupal-sqli-drupalgeddon | exploit | Exploiter SQLi Drupalgeddon pour ajouter un administrateur dans CMS Drupal 7.x <= 7.31 (CVE-2014-3704) | jok3r-pocs | | drupal-rce-drupalgeddon2 | exploit | Exploiter la RCE Drupalgeddon2 dans CMS Drupal 7.x < 7.58 & 8.x < 8.1 (CVE-2018-7600) | drupwn | | drupal-rce-rest-cve2019-6340 | exploit | Exploiter la RCE REST dans CMS Drupal 8.5.x < 8.5.11 & 8.6.x < 8.6.10 (CVE-2019-6340) | drupwn | | joomla-comfields-sqli-rce | exploit | Exploiter une injection SQL vers RCE dans le composant com_fields de Joomla >= 3.7.0 (CVE-2017-8917) | metasploit | | bruteforce-htaccess | bruteforce | Bruteforcer l'authentification HTTP (htaccess) si 401 Unauthorized est retourné | web-brutator | | bruteforce-appserver | bruteforce | Bruteforcer l'authentification sur le serveur d'applications (si aucun verrouillage par défaut) | web-brutator | | bruteforce-domino | bruteforce | Bruteforcer l'authentification sur le logiciel IBM/Lotus Domino | domiowned | | bruteforce-wordpress | bruteforce | Bruteforcer les comptes Wordpress (nécessite un ou plusieurs noms d'utilisateur détectés) | wpseku | | bruteforce-joomla | bruteforce | Bruteforcer le compte 'admin' de Joomla | xbruteforcer | | bruteforce-drupal | bruteforce | Bruteforcer le compte 'admin' de Drupal | xbruteforcer | | bruteforce-opencart | bruteforce | Bruteforcer le compte 'admin' d'Opencart | xbruteforcer | | bruteforce-magento | bruteforce | Bruteforcer le compte 'admin' de Magento | xbruteforcer | | discovery-server | discovery | Bruteforcer les chemins web spécifiques aux serveurs web/d'applications détectés | dirsearch | | discovery-cms | discovery | Bruteforcer les chemins web spécifiques aux CMS détectés | dirsearch | | discovery-language-directories | discovery | Bruteforcer les chemins web spécifiques à la langue et aux répertoires détectés | dirsearch | | discovery-general | discovery | Bruteforcer les chemins web liés à la configuration, base de données, fichiers statiques, divers... | dirsearch | | appserver-postauth-deploy | postexploit | Déployer un webshell sur le serveur d'applications (nécessite des identifiants) | clusterd | | wordpress-shell-upload | postexploit | Télécharger un shell sur Wordpress (nécessite des identifiants admin) | wpforce | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+
.. code-block:: console+--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | Name | Category | Description | Tool used | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | nmap-recon | recon | Attempt to dump all objects from Java-RMI service | nmap | | rmi-enum | recon | Enumerate RMI services | barmie | | jmx-info | recon | Get information about JMX and the MBean server | twiddle | | jmx-default-creds | defaultcreds | Check default/common credentials on JMX | jmxbf | | jmx-bruteforce-creds | bruteforce | Bruteforce creds to connect to JMX registry | jmxbf | | exploit-rmi-default-config | exploit | Exploit default config in RMI Registry to load classes from any remote URL (not working against JMX) | metasploit | | exploit-jmx-insecure-config | exploit | Exploit JMX insecure config. Auth disabled: should be vuln. Auth enabled: vuln if weak config | metasploit | | jmx-auth-disabled-deploy-class | exploit | Deploy malicious MBean on JMX service with auth disabled (alternative to msf module) | sjet | | tomcat-jmxrmi-deserialize | exploit | Exploit JMX-RMI deserialize in Tomcat (CVE-2016-3427, CVE-2016-8735), req. JmxRemoteLifecycleListener | jexboss | | rmi-deserialize-all-payloads | exploit | Attempt to exploit Java deserialize against Java RMI Registry with all ysoserial payloads | ysoserial | | tomcat-jmxrmi-manager-creds | postexploit | Retrieve Manager creds on Tomcat JMX (req. auth disabled or creds known on JMX) | jmxploit | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+------------+----------+-----------------------------------------------------+-----------------+
| Name | Category | Description | Tool used |
+------------+----------+-----------------------------------------------------+-----------------+
| nmap-recon | recon | Recon using Nmap JDWP scripts | nmap |
| jdwp-rce | exploit | Gain RCE on JDWP service (show OS/Java info as PoC) | jdwp-shellifier |
+------------+----------+-----------------------------------------------------+-----------------+
.. code-block:: console
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon using Nmap MSSQL scripts | nmap |
| mssqlinfo | recon | Get technical information about a remote MSSQL server (use TDS protocol and SQL browser Server) | msdat |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| default-creds | defaultcreds | Check default/common credentials on MSSQL server | msdat |
| bruteforce-creds | bruteforce | Bruteforce MSSQL accounts ("sa" or known users) | msdat |
| postauth-audit | postexploit | Check permissive privileges, methods allowing command execution, weak accounts after authenticating on MSSQL | msdat |
| postauth-rce-xpcmdshell | postexploit | Try to execute system command via xp_cmdshell (whoami && net user) | msdat |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon using Nmap MySQL scripts | nmap |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| mysql-auth-bypass-cve2012-2122 | exploit | Exploit password bypass vulnerability in MySQL - CVE-2012-2122 | metasploit |
| default-creds | defaultcreds | Check default/common credentials on MySQL server | hydra |
| bruteforce-creds | bruteforce | Bruteforce MySQL accounts ("root" or known users) | hydra |
| mysql-hashdump | postexploit | Retrieve usernames and password hashes from MySQL database (req. creds) | metasploit |
| mysql-interesting-tables-columns | postexploit | Search for interesting tables and columns in database | jok3r-scripts |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| tnscmd | recon | Connect to TNS Listener and issue commands Ping, Status, Version | odat |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| tnspoisoning | vulnscan | Test if TNS Listener is vulnerable to TNS Poisoning (CVE-2012-1675) | odat |
| default-creds | defaultcreds | Check default/common credentials on Oracle server | odat |
| bruteforce-creds | bruteforce | Bruteforce Oracle accounts (might block some accounts !) | odat |
| postauth-audit | postexploit | Check for privesc vectors, config leading to command execution, weak accounts after authenticating on Oracle | odat |
| search-columns-passwords | postexploit | Search for columns storing passwords in the database | odat |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| dbname-flag-injection-cve2013-1899 | vulnscan | Check for command-line flag injection on PostgreSQL 9.0|1|2 (CVE-2013-1899) | metasploit |
| default-creds | defaultcreds | Check default/common credentials on PostgreSQL server | hydra |
| bruteforce-creds | bruteforce | Bruteforce PostgreSQL accounts | hydra |
| postauth-rce-cve2019-9193 | postexploit | Try to execute system command post-authentication by exploiting CVE-2019-9193 | psql |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------+----------+-----------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+----------+----------+-----------------------------------------------------------------------+------------+
| ms12-020 | vulnscan | Check for MS12-020 RCE vulnerability (any Windows before 13 Mar 2012) | metasploit |
+---------+----------+-----------------------------------------------------------------------+------------+
.. code-block:: console
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| nmap-recon | recon | Recon using Nmap SMB scripts and check for vulns (MS17-010, MS10-061, MS10-054, MS08-067...) | nmap |
| anonymous-enum-smb | recon | Attempt to perform enum (users, shares...) without account | nullinux |
| detect-ms17-010 | vulnscan | Detect MS17-010 SMB RCE | metasploit |
| samba-rce-cve2015-0240 | vulnscan | Detect RCE vuln (CVE-2015-0240) in Samba 3.5.x and 3.6.X | metasploit |
| exploit-rce-ms08-067 | exploit | Exploit for RCE vuln MS08-067 on SMB | metasploit |
| exploit-rce-ms17-010-eternalblue | exploit | Exploit for RCE vuln MS17-010 EternalBlue on SMB | metasploit |
| exploit-sambacry-rce-cve2017-7494 | exploit | Exploit for SambaCry RCE on Samba <= 4.5.9 (CVE-2017-7494) (no creds if guest account) | metasploit |
| auth-enum-smb | postexploit | Authenticated enumeration (users, groups, shares) on SMB | nullinux |
| auth-shares-perm | postexploit | Get R/W permissions on SMB shares | smbmap |
| smb-exec | postexploit | Attempt to get a remote shell (psexec-like, requires Administrator creds) | impacket |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| Name | Category | Description | Tool used |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| smtp-cve | vulnscan | Scan for vulnerabilities (CVE-2010-4344, CVE-2011-1720, CVE-2011-1764, open-relay) on SMTP | nmap |
| smtp-user-enum | vulnscan | Attempt to perform user enumeration via SMTP commands EXPN, VRFY and RCPT TO | smtp-user-enum |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
.. code-block:: console
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| common-community-strings | bruteforce | Check common community strings on SNMP server | metasploit |
| snmpv3-bruteforce-creds | bruteforce | Bruteforce SNMPv3 credentials | snmpwn |
| enumerate-info | postexploit | Enumerate information provided by SNMP (and check for write access) | snmp-check |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| Name | Category | Description | Tool used |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| vulns-algos-scan | vulnscan | Scan supported algorithms and security info on SSH server | ssh-audit |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| user-enum-timing-attack | exploit | Try to perform OpenSSH (versions <= 7.2 and >= 5.*) user enumeration timing attack OpenSSH | osueta |
| user-enum-cve2018-15473 | exploit | Attempt to exploit OpenSSH <= 7.7 user enumeration (CVE-2018-15473) | ssh-user-enum-cve-2018-15473 |
| auth-bypass-libssh-cve2018-10933 | exploit | Attempt authentication bypass (CVE-2018-10933) in libssh 0.6+ (fixed in 0.7.6 and 0.8.4) | libssh-scanner |
| default-ssh-key | defaultcreds | Try to authenticate on SSH server using known SSH keys | changeme |
| default-creds | defaultcreds | Check default/common credentials on SSH | hydra |
| bruteforce-creds | bruteforce | Bruteforce SSH accounts | hydra |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
.. code-block:: console
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| Name | Category | Description | Tool used |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| nmap-recon | recon | Recon using Nmap Telnet scripts | nmap |
| default-creds | bruteforce | Check default credentials on Telnet (dictionary from https://cirt.net/passwords) | patator |
| bruteforce-root-account | bruteforce | Bruteforce "root" account on Telnet | patator |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
.. code-block:: console+-----------------+------------+---------------------------------------------------------------------------------------------------------+----------------+ | Nom | Catégorie | Description | Outil utilisé | +-----------------+------------+---------------------------------------------------------------------------------------------------------+----------------+ | nmap-recon | recon | Reconnaissance à l'aide des scripts VNC de Nmap | nmap | | vuln-lookup | vulnscan | Recherche de vulnérabilités dans Vulners.com (scripts NSE) et exploit-db.com (beaucoup de faux positifs !) | vuln-databases | | bruteforce-pass | bruteforce | Attaque par force brute du mot de passe VNC | patator | +-----------------+------------+---------------------------------------------------------------------------------------------------------+----------------+
Voir Changelog <https://github.com/koutto/jok3r/blob/master/CHANGELOG.rst>_