.. 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: Documentation ReadTheDocs
.. image:: https://img.shields.io/microbadger/image-size/koutto/jok3r.svg
:target: https://hub.docker.com/r/koutto/jok3r/
:alt: Docker Size
.. image:: https://img.shields.io/docker/cloud/build/koutto/jok3r.svg
:alt: Docker Build Status
.. raw:: html
Framework de Automação para Testes de Penetração Web e de Rede
www.jok3r-framework.com
AVISO: O projeto ainda está na versão 3 BETA. Ainda está em desenvolvimento ativo e podem existir bugs.
Muitos testes estão em andamento: veja https://github.com/koutto/jok3r/blob/master/tests/TESTS.rst.
Ideias, relatórios de bugs, contribuições são bem-vindos!
.. contents::
:local:
:depth: 1
=============
Visão Geral
Jok3r é uma aplicação CLI em Python3 que tem como objetivo ajudar testadores de penetração
em testes de segurança de infraestrutura de rede e testes de caixa-preta web.
O objetivo é poupar o máximo de tempo possível durante pentests de rede/web automatizando o
maior número possível de testes de segurança para identificar rapidamente vulnerabilidades de baixo esforço, e
então gastar mais tempo em coisas mais interessantes e complicadas!
Baseia-se na observação de que existem muitas ferramentas/scripts de hacking open-source (de várias fontes)
direcionados a serviços de rede comuns disponíveis, que permitem realizar várias tarefas desde
fingerprinting até exploração. Portanto, a ideia do Jok3r é combinar essas ferramentas open-source
de forma inteligente para obter os resultados mais relevantes.
=============
Recursos
- Seleção de Ferramentas: Compilação de mais de 50 ferramentas e scripts open-source, de várias fontes.
- Baseado em Docker: Aplicação empacotada em uma imagem Docker rodando Kali OS, disponível no Docker Hub.
- Pronto para usar: Todas as ferramentas e dependências instaladas, basta puxar a imagem Docker e executar um container novo.
- Atualizações facilitadas: Mantenha toda a toolbox atualizada facilmente executando apenas um comando.
- Customização Fácil: Adicione/remova facilmente ferramentas de um arquivo de configuração simples.
Avaliação de Segurança de Infraestrutura de Rede
- Muitos Serviços Suportados: Alveje os serviços TCP/UDP mais comuns (HTTP, FTP, SSH, SMB, Oracle, MS-SQL, MySQL, PostgreSQL, VNC, etc.).
- Combine o Poder das Ferramentas: Cada verificação de segurança é realizada por uma ferramenta da toolbox. Os ataques são realizados encadeando verificações de segurança.
- Consciência de Contexto: As verificações de segurança a serem executadas são selecionadas e adaptadas de acordo com o contexto do alvo (ou seja, tecnologias detectadas, credenciais, vulnerabilidades, etc.).
- Reconhecimento: Fingerprinting automático (detecção de produto) dos serviços alvo é realizado.
- Consulta CVE: Quando nomes de produtos e suas versões são detectados, uma consulta de vulnerabilidade é realizada em bancos de dados CVE online (usando Vulners e CVE Details).
- Varredura de Vulnerabilidades: Verifique automaticamente vulnerabilidades comuns e tente realizar algumas explorações (auto-pwn).
- Ataque de Força Bruta: Verifique automaticamente credenciais padrão/comuns no serviço e realize ataque de dicionário se necessário. As wordlists são otimizadas de acordo com os serviços alvo.
- Testes de Pós-autenticação: Realize automaticamente algumas verificações de pós-exploração quando credenciais válidas forem encontradas.
Avaliação de Segurança Web
- Grande Foco em HTTP: Mais de 60 verificações de segurança diferentes direcionadas a HTTP suportadas atualmente.
- Detecção de Tecnologias Web: O motor de fingerprinting baseado no Wappalyzer é executado antes das verificações de segurança, permitindo detectar: Linguagem de programação, Framework, Biblioteca JS, CMS, Servidor Web e de Aplicação.
- Exploração de Servidores: Escaneie e/ou explore automaticamente as vulnerabilidades mais críticas (ex.: RCE) em servidores web e de aplicação (ex.: JBoss, Tomcat, Weblogic, Websphere, Jenkins, etc.).
- Varredura de Vulnerabilidades em CMS: Execute automaticamente scanners de vulnerabilidade nos CMS mais comuns (Wordpress, Drupal, Joomla, etc.).
Banco de Dados Local e Relatórios
- Banco de Dados Local: Os dados relacionados aos alvos são organizados por missões (workspaces) em um banco de dados Sqlite local que é mantido atualizado durante os testes de segurança.
- Shell Interativo Estilo Metasploit: Acesse o banco de dados através de um shell interativo com vários comandos embutidos.
- Importar Alvos do Nmap: Adicione alvos a uma missão manualmente ou carregando resultados do Nmap.
- Importar Alvos do Shodan: Adicione alvos a uma missão manualmente a partir do Shodan (necessita chave de API do Shodan).
- Acessar todos os Resultados: Todas as saídas das verificações de segurança, credenciais detectadas e vulnerabilidades são armazenadas no banco de dados e podem ser acessadas facilmente.
- Relatórios: Gere relatórios HTML completos com resumo dos alvos, capturas de tela web e todos os resultados dos testes de segurança.
============
Demonstrações
- Exemplo 1: Escanear um serviço JAVA-RMI (JMX):
.. image:: pictures/video-01.png
:target: https://www.youtube.com/watch?v=FlbeBj5FPtI
- Exemplo 2: Escanear um site Joomla:
.. image:: pictures/video-02.png
:target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
============
Arquitetura
.. image:: ./pictures/visio/architecture/jok3r-architecture.png
:alt: Jok3r architecture
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg
:width: 700px
:alt: Jok3r flowchart
============
Instalação
IMPORTANTE: A forma recomendada de usar o Jok3r é puxando a Imagem Docker, assim você não terá
que se preocupar com problemas de dependências e instalação das várias ferramentas de hacking da toolbox.
Tudo é testado a partir do container Docker disponível no Docker Hub!
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Uma imagem Docker está disponível no Docker Hub e é reconstruída automaticamente a cada atualização:
https://hub.docker.com/r/koutto/jok3r/. Ela é inicialmente baseada na imagem Docker oficial do Kali
Linux (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
-
Puxar a Imagem Docker do Jok3r:
.. code-block:: console
sudo docker pull koutto/jok3r
-
Executar um novo 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
Notas:
-
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix é necessário para poder iniciar aplicações GUI a partir do container Docker (ex.: abrir navegador web para ler relatórios). Requer executar xhost +local:root no host.
-
--shm-size 2g é usado para aumentar o tamanho da memória compartilhada, é necessário para evitar travamentos do navegador web ao ler relatórios a partir do container Docker.