.. 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: Dokumentation ReadTheDocs
.. image:: https://img.shields.io/microbadger/image-size/koutto/jok3r.svg
:target: https://hub.docker.com/r/koutto/jok3r/
:alt: Docker-Größe
.. image:: https://img.shields.io/docker/cloud/build/koutto/jok3r.svg
:alt: Docker-Build-Status
.. raw:: html
Netzwerk- & Web-Pentest-Automatisierungsframework
www.jok3r-framework.com
WARNUNG: Das Projekt befindet sich noch in der Version 3 BETA. Es wird noch aktiv entwickelt und es können Fehler vorhanden sein.
Viele Tests laufen: siehe https://github.com/koutto/jok3r/blob/master/tests/TESTS.rst.
Ideen, Fehlerberichte, Beiträge sind willkommen!
.. contents::
:local:
:depth: 1
=============
Überblick
Jok3r ist eine Python3-CLI-Anwendung, die darauf abzielt, Penetrationstestern bei der
Durchführung von Sicherheitstests für Netzwerkinfrastruktur und Web-Black-Box zu helfen.
Das Ziel ist es, so viel Zeit wie möglich während Netzwerk-/Web-Pentests zu sparen, indem
so viele Sicherheitstests wie möglich automatisiert werden, um schnell Low-Hanging-Fruits-Schwachstellen zu identifizieren,
und dann mehr Zeit für interessantere und kniffligere Dinge zu verwenden!
Es basiert auf der Beobachtung, dass es viele Open-Source-Hacking-Tools/Skripte gibt (aus verschiedenen Quellen),
die auf gängige Netzwerkdienste abzielen und die es ermöglichen, verschiedene Aufgaben von
Fingerprinting bis hin zur Ausnutzung durchzuführen. Die Idee von Jok3r ist es daher, diese Open-Source-Tools
auf intelligente Weise zu kombinieren, um die relevantesten Ergebnisse zu erzielen.
=============
Funktionen
- Auswahl von Tools: Zusammenstellung von über 50 Open-Source-Tools und Skripten aus verschiedenen Quellen.
- Docker-basiert: Anwendung verpackt in einem Docker-Image mit Kali-OS, verfügbar auf Docker Hub.
- Einsatzbereit: Alle Tools und Abhängigkeiten installiert, einfach das Docker-Image pullen und einen frischen Container ausführen.
- Einfache Aktualisierungen: Halten Sie die gesamte Toolbox mit nur einem Befehl einfach auf dem neuesten Stand.
- Einfache Anpassung: Fügen Sie Tools einfach über eine einfache Konfigurationsdatei hinzu oder entfernen Sie sie.
Netzwerkinfrastruktur-Sicherheitsbewertung
- Viele unterstützte Dienste: Ziel der häufigsten TCP/UDP-Dienste (HTTP, FTP, SSH, SMB, Oracle, MS-SQL, MySQL, PostgreSQL, VNC usw.).
- Kombinieren Sie die Kraft der Tools: Jede Sicherheitsüberprüfung wird von einem Tool aus der Toolbox durchgeführt. Angriffe werden durch Verkettung von Sicherheitsüberprüfungen ausgeführt.
- Kontextbewusstsein: Die auszuführenden Sicherheitsüberprüfungen werden entsprechend dem Kontext des Ziels (d. h. erkannte Technologien, Anmeldeinformationen, Schwachstellen usw.) ausgewählt und angepasst.
- Aufklärung: Automatisches Fingerprinting (Produkterkennung) der anvisierten Dienste wird durchgeführt.
- CVE-Suche: Wenn Produktnamen und deren Versionen erkannt werden, wird eine Schwachstellensuche in Online-CVE-Datenbanken (mit Vulners & CVE Details) durchgeführt.
- Schwachstellenscanning: Automatische Überprüfung auf häufige Schwachstellen und versuchte Ausnutzung einiger (Auto-Pwn).
- Brute-Force-Angriff: Automatische Überprüfung auf Standard-/gängige Anmeldeinformationen auf dem Dienst und ggf. Wörterbuchangriff. Wortlisten sind optimiert für die anvisierten Dienste.
- Post-Authentifizierungstests: Automatische Durchführung einiger Post-Exploitation-Prüfungen, wenn gültige Anmeldeinformationen gefunden wurden.
Web-Sicherheitsbewertung
- Großer Fokus auf HTTP: Derzeit mehr als 60 verschiedene Sicherheitsüberprüfungen für HTTP unterstützt.
- Web-Technologie-Erkennung: Eine auf Wappalyzer basierende Fingerprinting-Engine wird vor Sicherheitsüberprüfungen ausgeführt, um Folgendes zu erkennen: Programmiersprache, Framework, JS-Bibliothek, CMS, Web- und Anwendungsserver.
- Server-Ausnutzung: Automatisches Scannen und/oder Ausnutzen der kritischsten Schwachstellen (z. B. RCE) auf Web- und Anwendungsservern (z. B. JBoss, Tomcat, Weblogic, Websphere, Jenkins usw.).
- CMS-Schwachstellenscanning: Automatisches Ausführen von Schwachstellenscannern auf den gängigsten CMS (Wordpress, Drupal, Joomla usw.).
Lokale Datenbank & Berichterstattung
- Lokale Datenbank: Auf Ziele bezogene Daten werden nach Missionen (Arbeitsbereichen) in einer lokalen Sqlite-Datenbank organisiert, die während der Sicherheitstests aktualisiert wird.
- Metasploit-ähnliche interaktive Shell: Zugriff auf die Datenbank über eine interaktive Shell mit mehreren eingebauten Befehlen.
- Import von Zielen aus Nmap: Hinzufügen von Zielen zu einer Mission entweder manuell oder durch Laden von Nmap-Ergebnissen.
- Import von Zielen aus Shodan: Manuelles Hinzufügen von Zielen zu einer Mission von Shodan (Shodan-API-Schlüssel erforderlich).
- Zugriff auf alle Ergebnisse: Alle Ergebnisse aus Sicherheitsüberprüfungen, erkannte Anmeldeinformationen und Schwachstellen werden in der Datenbank gespeichert und können einfach abgerufen werden.
- Berichterstattung: Generierung vollständiger HTML-Berichte mit Zielübersicht, Web-Screenshots und allen Ergebnissen aus Sicherheitstests.
============
Demos
- Beispiel 1: Scannen eines JAVA-RMI (JMX)-Dienstes:
.. image:: pictures/video-01.png
:target: https://www.youtube.com/watch?v=FlbeBj5FPtI
- Beispiel 2: Scannen einer Joomla-Website:
.. image:: pictures/video-02.png
:target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
============
Architektur
.. image:: ./pictures/visio/architecture/jok3r-architecture.png
:alt: Jok3r-Architektur
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg
:width: 700px
:alt: Jok3r-Ablaufdiagramm
============
Installation
WICHTIG: Die empfohlene Methode zur Verwendung von Jok3r ist das Pull des Docker-Images, damit Sie sich keine Gedanken über Abhängigkeitsprobleme und die Installation der verschiedenen Hacking-Tools der Toolbox machen müssen.
Alles wird vom Docker-Container auf Docker Hub getestet!
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Ein Docker-Image ist auf Docker Hub verfügbar und wird bei jedem Update automatisch neu erstellt:
https://hub.docker.com/r/koutto/jok3r/. Es basiert ursprünglich auf dem offiziellen Kali-Linux-Docker-Image (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg
:target: https://microbadger.com/images/koutto/jok3r
:alt: Docker-Image-Größe
-
Jok3r Docker-Image pullen:
.. code-block:: console
sudo docker pull koutto/jok3r
-
Frischen Docker-Container ausführen:
.. 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
Hinweise:
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ist erforderlich, um GUI-Anwendungen aus dem Docker-Container starten zu können (z.B. Webbrowser zum Lesen von Berichten öffnen). Dazu muss xhost +local:root auf dem Host ausgeführt werden.