Jok3r - Framework de Pentest para Red y 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/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: Docker Build Status
.. raw:: html
Jok3r es una aplicación CLI de Python3 que está dirigida a ayudar a los auditores de penetración en infraestructuras de red y pruebas de seguridad web de black-box.
Su principal objetivo es ahorrar tiempo en todo lo que se puede automatizar en la red/web a auditar para disfrutar más tiempo en cosas más interesantes y desafiantes..
Para lograrlo, he combinado herramientas para la auditoría de código abierto para ejecutar varios controles de seguridad, en todos los servicios de red comunes.
Gestión de herramientas:
Automatización de ataques:
Gestión de misión / base de datos local:
Jok3r ha sido construido con la ambición de ser fácil y rápidamente personalizable: Herramientas, controles de seguridad, servicios de red soportados... puede ser fácil añadido/editado/eliminado mediante la edición de archivos de configuración con una sintaxis fácil de entender.
La forma recomendada para usar Jok3r es dentro de un contenedor Docker, no te preocupes por problemas de dependencia al instalar las diversas herramientas de auditoría.
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Una imagen de Docker está disponible en Docker Hub y se reconstruye automáticamente en cada actualización: https://hub.docker.com/r/koutto/jok3r/. Basado inicialmente en Kali / Debian oficial. Imagen Linux Docker (kalilinux/kali-linux-docker).
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg :target: https://microbadger.com/images/koutto/jok3r :alt: Docker Image size
Imagen Pull Jok3r Docker:
.. code-block:: console
sudo docker pull koutto/jok3r
Ejecutar contenedor Docker actualizado:
.. code-block:: console
sudo docker run -i -t --name jok3r-container -w /root/jok3r --net=host koutto/jok3r
Importante: --net=host opción requerida para compartir la interfaz del host. Se necesita para revertir conexiones (por ejemplo, hacer ping al contenedor al probar RCE, obtienes un shell inverso))
Jok3r toolbox está listo para usar!
.. code-block:: console
sudo docker start -i jok3r-container
.. code-block:: console
sudo docker exec -it jok3r-container bash
Mostrar todas las herramientas
.. code-block:: console
python3 jok3r.py toolbox --show-all
Instalar todas las herramientas
.. code-block:: console
python3 jok3r.py toolbox --install-all --fast
Actualizar todas las herramientas
.. code-block:: console
python3 jok3r.py toolbox --update-all --fast
Lista de servicios soportados
.. code-block:: console
python3 jok3r.py info --services
Mostrar controles de seguridad para HTTP
.. code-block:: console
python3 jok3r.py info --checks http
Crear una nueva misión en la base de datos local.
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Mission "MiAuditoria" Agregado exitosamente
[*] La mision seleccionada es MiAuditoria
jok3rdb[MiAuditoria]>
Ejecutar controles de seguridad en una URL y agreguar resultados a la misión
.. code-block:: console
python3 jok3r.py attack -t https://www.sapos.com/webapp/ --add MiAuditoria
Ejecuta controles de seguridad al servicio MSSQL (sin interacción del usuario) y añade resultados a la misión.
.. code-block:: console
python3 jok3r.py attack -t 190.212.190.133:1433 -s mssql --add MiAuditoria --fast
Importar hosts/servicios de los resultados de Nmap al alcance de la misión
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission MiAuditoria
[*] Selected mission is now MiAuditoria
jok3rdb[MiAuditoria]> nmap results.xml
Comprobar seguridad para servicios en la misión dada y almacene los resultados en la base de datos
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria --fast
Comprobar seguridad solo en los servicios FTP en los puertos 21/tcp y 2121/tcp de la misión
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=21,2121;service=ftp" --fast
Comprobar seguridad solo en los servicios FTP en los puertos 2121/tcp y todos los servicios HTTP en 190.212.190.133 de la misión
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=2121;service=ftp" -f "ip=190.212.190.133;service=http"
Comienzas una auditoría con varios servidores. Aquí hay un ejemplo frecuente en JoK3r:
Ejecutar Nmap escanear en los servidores frecuentes
Crea una nueva misión (digamos "MiAuditoria") en la base de datos local:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Mission "MiAuditoria" successfully added
[*] La misión seleccionada es MiAuditoria
jok3rdb[MiAuditoria]>
3. Importa tus resultados de Nmap escaneados:
.. code-block:: console
jok3rdb[MiAuditoria]> nmap resultados.xml
4. Puede tener una visión general rápida de todos los servicios y hosts, agregar algunos comentarios, agregar algunas credenciales si ya tiene algún conocimiento sobre los objetivos (grey box pentest) y así sucesivamente
.. code-block:: console
jok3rdb[MiAuditoria]> hosts
[...]
jok3rdb[MiAuditoria]> services
[...]
5. Ahora, haga comprobaciones de seguridad contra algunos objetivos. Por ejemplo, para ejecutar comprobaciones para los servicios de Java-RMI, puede ejecutar el siguiente comando:
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "service=java-rmi" --fast
6. Puede ver los resultados de los controles de seguridad en vivo cuando las herramientas están ejecutado o posteriormente desde la base de datos usando el siguiente comando:
.. code-block:: console
jok3rdb[MayhemProject]> results
La documentación está disponible en: pronto...