
Jok3r - Framework di Pentest di Rete e 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: Documentazione 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: Stato Build Docker
.. raw:: html
Jok3r è un'applicazione CLI Python3 progettata per aiutare i penetration tester nelle infrastrutture di rete e nei test di sicurezza web black-box.
Il suo obiettivo principale è risparmiare tempo su tutto ciò che può essere automatizzato nella rete/web da testare, per godersi più tempo su cose più interessanti e stimolanti.
Per riuscirci, ho combinato strumenti di audit open source per eseguire vari controlli di sicurezza su tutti i servizi di rete comuni.
Gestione degli strumenti:
Automazione degli attacchi:
Gestione missione / database locale:
Jok3r è stato costruito con l'ambizione di essere facilmente e rapidamente personalizzabile: Strumenti, controlli di sicurezza, servizi di rete supportati... possono essere facilmente aggiunti/modificati/rimossi modificando file di configurazione con una sintassi semplice da comprendere.
Il modo consigliato per utilizzare Jok3r è all'interno di un contenitore Docker, senza preoccuparsi di problemi di dipendenza nell'installazione dei vari strumenti di audit.
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Un'immagine Docker è disponibile su Docker Hub e viene ricostruita automaticamente ad ogni aggiornamento: https://hub.docker.com/r/koutto/jok3r/. Basata inizialmente sull'immagine Linux ufficiale Kali/Debian Docker (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg :target: https://microbadger.com/images/koutto/jok3r :alt: Dimensione immagine Docker
Scaricare l'immagine Jok3r Docker:
.. code-block:: console
sudo docker pull koutto/jok3r
Eseguire il contenitore Docker aggiornato:
.. code-block:: console
sudo docker run -i -t --name jok3r-container -w /root/jok3r --net=host koutto/jok3r
Importante: l'opzione --net=host è necessaria per condividere l'interfaccia dell'host. Serve per le connessioni reverse (ad esempio, ping al contenitore durante i test di RCE, ottenere una reverse shell).
La toolbox Jok3r è pronta all'uso!
.. code-block:: console
sudo docker start -i jok3r-container
.. code-block:: console
sudo docker exec -it jok3r-container bash
Mostrare tutti gli strumenti
.. code-block:: console
python3 jok3r.py toolbox --show-all
Installare tutti gli strumenti
.. code-block:: console
python3 jok3r.py toolbox --install-all --fast
Aggiornare tutti gli strumenti
.. code-block:: console
python3 jok3r.py toolbox --update-all --fast
Elenco dei servizi supportati
.. code-block:: console
python3 jok3r.py info --services
Mostrare i controlli di sicurezza per HTTP
.. code-block:: console
python3 jok3r.py info --checks http
Creare una nuova missione nel database locale.
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiaAuditoria
[+] Missione "MiaAuditoria" aggiunta con successo
[*] La missione selezionata è MiaAuditoria
jok3rdb[MiaAuditoria]>
Eseguire controlli di sicurezza su un URL e aggiungere i risultati alla missione
.. code-block:: console
python3 jok3r.py attack -t https://www.sapos.com/webapp/ --add MiaAuditoria
Esegue controlli di sicurezza sul servizio MSSQL (senza interazione dell'utente) e aggiunge i risultati alla missione.
.. code-block:: console
python3 jok3r.py attack -t 190.212.190.133:1433 -s mssql --add MiaAuditoria --fast
Importare host/servizi dai risultati di Nmap nell'ambito della missione
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission MiaAuditoria
[*] La missione selezionata è ora MiaAuditoria
jok3rdb[MiaAuditoria]> nmap results.xml
Eseguire controlli di sicurezza per i servizi nella missione data e memorizzare i risultati nel database
.. code-block:: console
python3 jok3r.py attack -m MiaAuditoria --fast
Eseguire controlli di sicurezza solo sui servizi FTP sulle porte 21/tcp e 2121/tcp della missione
.. code-block:: console
python3 jok3r.py attack -m MiaAuditoria -f "port=21,2121;service=ftp" --fast
Eseguire controlli di sicurezza solo sui servizi FTP sulla porta 2121/tcp e su tutti i servizi HTTP su 190.212.190.133 della missione
.. code-block:: console
python3 jok3r.py attack -m MiaAuditoria -f "port=2121;service=ftp" -f "ip=190.212.190.133;service=http"
Inizi un audit con diversi server. Ecco un esempio frequente in Jok3r:
Esegui una scansione Nmap sui server interessati
Crea una nuova missione (diciamo "MiaAuditoria") nel database locale:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiaAuditoria
[+] Missione "MiaAuditoria" aggiunta con successo
[*] La missione selezionata è MiaAuditoria
jok3rdb[MiaAuditoria]>
3. Importa i risultati della scansione Nmap:
.. code-block:: console
jok3rdb[MiaAuditoria]> nmap risultati.xml
4. Puoi avere una rapida panoramica di tutti i servizi e host, aggiungere alcuni commenti, aggiungere alcune credenziali se hai già conoscenza sui target (grey box pentest) e così via
.. code-block:: console
jok3rdb[MiaAuditoria]> hosts
[...]
jok3rdb[MiaAuditoria]> services
[...]
5. Ora, esegui controlli di sicurezza su alcuni target. Ad esempio, per eseguire controlli per i servizi Java-RMI, puoi eseguire il seguente comando:
.. code-block:: console
python3 jok3r.py attack -m MiaAuditoria -f "service=java-rmi" --fast
6. Puoi vedere i risultati dei controlli di sicurezza in tempo reale mentre gli strumenti vengono eseguiti o successivamente dal database usando il seguente comando:
.. code-block:: console
jok3rdb[MayhemProject]> results
La documentazione è disponibile su: presto...