Jok3r
Jok3r - Network and Web Pentest Framework
Install / Use
/learn @yottaiq/Jok3rREADME
.. raw:: html
<p align="center">.. image:: ./pictures/logo.png
.. raw:: html
<br class="title">.. 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
</p>========================================== Jok3r - Network and Web Pentest Framework
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.
============= Características
Gestión de herramientas:
- Instala automáticamente todas las herramientas de hacking utilizadas por Jok3r,
- Mantiene herramientas actualizadas,
- Añade fácilmente nuevas herramientas.
Automatización de ataques:
- Dirigido a los servicios de red más comunes (incluida la web),
- Ejecuta controles de seguridad mediante el encadenamiento de herramientas de auditoría, siguiendo el proceso estándar (Reconaissance, Análisis de vulnerabilidad, explotación, fuerza bruta, pos-explotación (básica).
- Deje que Jok3r elija automáticamente las comprobaciones para ejecutar de acuerdo con el contexto y el conocimiento sobre el objetivo,
Gestión de misión / base de datos local:
- Organiza objetivos por misiones en base de datos local,
- Administra completamente las misiones y los objetivos (hosts/servicios) a través de shell interactivo (como msfconsole db),
- Accede a los resultados de los controles de seguridad.
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.
============ Instalación
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!
- Para ejecutar un contenedor detenido:
.. code-block:: console
sudo docker start -i jok3r-container
- Abrir múltiples terminales dentro un contenedor:
.. code-block:: console
sudo docker exec -it jok3r-container bash
==================== Ejemplos de uso rápido
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"
====================== Ejemplo de uso frecuentes
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
================== Documentación completa
La documentación está disponible en: pronto...
============================================================ Servicios admitidos y controles de seguridad (Actualizado el 01/04/2019)
¡Quedan muchos controles por implementar y se deben agregar servicios! Trabajo en progreso ...
AJP (default 8009/tcp)_FTP (default 21/tcp)_HTTP (default 80/tcp)_Java-RMI (default 1099/tcp)_JDWP (default 9000/tcp)_MSSQL (default 1433/tcp)_MySQL (default 3306/tcp)_Oracle (default 1521/tcp)_PostgreSQL (default 5432/tcp)_RDP (default 3389/tcp)_SMB (default 445/tcp)_SMTP (default 25/tcp)_SNMP (default 161/udp)_SSH (default 22/tcp)_Telnet (default 21/tcp)_VNC (default 5900/tcp)_
AJP (default 8009/tcp)
.. code-block:: console
+------------------------+------------+-------------------------------------------------------------------------------------------------+----------------+
| Name | Category | Description | Tool used |
+------------------------+------------+-------------------------------------------------------------------------------------------------+----------------+
| nmap-recon | recon | Recon using Nmap AJP scripts | nmap |
| tomcat-version | recon | Fingerprint Tomcat version through AJP | ajpy |
| vuln-lookup | vulnscan | Vulnerability lookup in Vulners.com (NSE scripts) and exploit-db.com (lots of false positive !) | vuln-databases |
| default-creds-tomcat | bruteforce | Check default credentials for Tomcat Application Manager | ajpy |
| deploy-webshell-tomcat | exploit | Deploy a webshell on Tomcat through AJP | ajpy |
+------------------
Related Skills
healthcheck
351.8kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
351.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
351.8kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
110.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
