.. 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: Documentazione ReadTheDocs
.. image:: https://img.shields.io/microbadger/image-size/koutto/jok3r.svg
:target: https://hub.docker.com/r/koutto/jok3r/
:alt: Dimensione Docker
.. image:: https://img.shields.io/docker/cloud/build/koutto/jok3r.svg
:alt: Stato Build Docker
.. raw:: html
Framework di Automazione per Pentest di Rete e Web
www.jok3r-framework.com
ATTENZIONE: Il progetto è ancora in versione 3 BETA. È ancora in fase di sviluppo attivo
e potrebbero essere presenti bug.
Sono in corso molti test: vedere https://github.com/koutto/jok3r/blob/master/tests/TESTS.rst.
Idee, segnalazioni di bug, contributi sono benvenuti!
.. contents::
:local:
:depth: 1
=============
Panoramica
Jok3r è un'applicazione CLI Python3 progettata per aiutare i penetration tester
nei test di sicurezza black-box su infrastrutture di rete e web.
L'obiettivo è risparmiare quanto più tempo possibile durante i pentest di rete/web automatizzando
il maggior numero possibile di test di sicurezza per identificare rapidamente vulnerabilità a basso
corto di sforzo, e poi dedicare più tempo a cose più interessanti e complesse!
Si basa sull'osservazione che esistono molti strumenti/script open-source per hacking (da varie fonti)
che mirano a servizi di rete comuni, e che consentono di eseguire varie attività dalla
rilevazione delle impronte digitali allo sfruttamento. Pertanto, l'idea di Jok3r è di combinare
questi strumenti open-source in modo intelligente per ottenere risultati più rilevanti.
=============
Caratteristiche
- Selezione degli strumenti: Compilazione di oltre 50 strumenti e script open-source, da varie fonti.
- Basato su Docker: Applicazione preconfezionata in un'immagine Docker con sistema operativo Kali, disponibile su Docker Hub.
- Pronto all'uso: Tutti gli strumenti e le dipendenze installati, basta estrarre l'immagine Docker ed eseguire un nuovo container.
- Aggiornamenti semplificati: Mantieni facilmente aggiornato l'intero toolbox eseguendo un solo comando.
- Personalizzazione facile: Aggiungi/rimuovi facilmente strumenti da un semplice file di configurazione.
Valutazione della sicurezza dell'infrastruttura di rete
- Molti servizi supportati: Mira ai servizi TCP/UDP più comuni (HTTP, FTP, SSH, SMB, Oracle, MS-SQL, MySQL, PostgreSQL, VNC, ecc.).
- Combina la potenza degli strumenti: Ogni controllo di sicurezza viene eseguito da uno strumento del toolbox. Gli attacchi vengono eseguiti concatenando i controlli di sicurezza.
- Consapevolezza del contesto: I controlli di sicurezza da eseguire vengono selezionati e adattati in base al contesto del target (es. tecnologie rilevate, credenziali, vulnerabilità, ecc.).
- Ricognizione: Rilevamento automatico delle impronte digitali (rilevamento del prodotto) dei servizi target.
- Ricerca CVE: Quando vengono rilevati nomi di prodotto e relative versioni, viene effettuata una ricerca di vulnerabilità su database CVE online (tramite Vulners e CVE Details).
- Scansione vulnerabilità: Verifica automaticamente le vulnerabilità comuni e tenta di eseguire alcuni sfruttamenti (auto-pwn).
- Attacco brute-force: Verifica automaticamente le credenziali predefinite/comuni sul servizio ed esegue un attacco dizionario se necessario. Le wordlist sono ottimizzate in base ai servizi target.
- Test post-autenticazione: Esegue automaticamente alcuni controlli post-exploitation quando sono state trovate credenziali valide.
Valutazione della sicurezza web
- Grande attenzione su HTTP: Oltre 60 diversi controlli di sicurezza per HTTP supportati al momento.
- Rilevamento tecnologie web: Il motore di fingerprinting basato su Wappalyzer viene eseguito prima dei controlli di sicurezza, consentendo di rilevare: linguaggio di programmazione, framework, libreria JS, CMS, server web e applicativo.
- Sfruttamento server: Scansiona e/o sfrutta automaticamente le vulnerabilità più critiche (es. RCE) su server web e applicativi (es. JBoss, Tomcat, Weblogic, Websphere, Jenkins, ecc.).
- Scansione vulnerabilità CMS: Esegue automaticamente scanner di vulnerabilità sui CMS più comuni (Wordpress, Drupal, Joomla, ecc.).
Database locale e reportistica
- Database locale: I dati relativi ai target sono organizzati per missioni (workspace) in un database locale Sqlite che viene mantenuto aggiornato durante i test di sicurezza.
- Shell interattiva simile a Metasploit: Accedi al database attraverso una shell interattiva con vari comandi integrati.
- Importa target da Nmap: Aggiungi target a una missione manualmente o caricando i risultati di Nmap.
- Importa target da Shodan: Aggiungi target a una missione manualmente da shodan (necessita chiave API Shodan).
- Accesso a tutti i risultati: Tutti gli output dei controlli di sicurezza, le credenziali e le vulnerabilità rilevate vengono memorizzati nel database e possono essere consultati facilmente.
- Reportistica: Genera report HTML completi con riepilogo dei target, screenshot delle pagine web e tutti i risultati dei test di sicurezza.
============
Demo
- Esempio 1: Scansione di un servizio JAVA-RMI (JMX):
.. image:: pictures/video-01.png
:target: https://www.youtube.com/watch?v=FlbeBj5FPtI
- Esempio 2: Scansione di un sito web Joomla:
.. image:: pictures/video-02.png
:target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
============
Architettura
.. image:: ./pictures/visio/architecture/jok3r-architecture.png
:alt: Architettura Jok3r
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg
:width: 700px
:alt: Diagramma di flusso Jok3r
============
Installazione
IMPORTANTE: Il modo consigliato per utilizzare Jok3r è estrarre l'immagine Docker in modo da non doversi
preoccupare di problemi di dipendenze e di installazione dei vari strumenti di hacking del toolbox.
Tutto è testato dal container Docker disponibile su Docker Hub!
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Un'immagine Docker è disponibile su Docker Hub e viene automaticamente ricostruita a ogni aggiornamento:
https://hub.docker.com/r/koutto/jok3r/. È inizialmente basata sull'immagine Docker ufficiale di Kali
Linux (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg
:target: https://microbadger.com/images/koutto/jok3r
:alt: Dimensione dell'immagine Docker
-
Estrarre l'immagine Docker di Jok3r:
.. code-block:: console
sudo docker pull koutto/jok3r
-
Eseguire un nuovo container 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
Note:
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix è necessario per poter avviare applicazioni GUI dal container Docker (es. aprire il browser web per leggere i report). Richiede l'esecuzione di xhost +local:root sull'host.