
Jok3r - Framework de Pentest de Rede 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: 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 é uma aplicação CLI de Python3 que visa ajudar auditores de penetração em infraestruturas de rede e testes de segurança web de black-box.
Seu principal objetivo é economizar tempo em tudo que pode ser automatizado na rede/web a auditar para desfrutar mais tempo em coisas mais interessantes e desafiadoras.
Para isso, combinei ferramentas de auditoria de código aberto para executar vários controles de segurança em todos os serviços de rede comuns.
Gestão de ferramentas:
Automação de ataques:
Gestão de missão / base de dados local:
Jok3r foi construído com a ambição de ser fácil e rapidamente personalizável: Ferramentas, controles de segurança, serviços de rede suportados... pode ser facilmente adicionado/editado/removido através da edição de arquivos de configuração com uma sintaxe fácil de entender.
A forma recomendada para usar o Jok3r é dentro de um contêiner Docker, não se preocupe com problemas de dependência ao instalar as diversas ferramentas de auditoria.
.. 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/. Baseado inicialmente em Kali / Debian oficial. Imagem 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
Puxar imagem Docker do Jok3r:
.. code-block:: console
sudo docker pull koutto/jok3r
Executar contêiner Docker atualizado:
.. code-block:: console
sudo docker run -i -t --name jok3r-container -w /root/jok3r --net=host koutto/jok3r
Importante: opção --net=host necessária para compartilhar a interface do host. É necessária para reverter conexões (por exemplo, fazer ping ao contêiner ao testar RCE, você obtém um shell reverso))
A toolbox Jok3r está pronta para usar!
.. code-block:: console
sudo docker start -i jok3r-container
.. code-block:: console
sudo docker exec -it jok3r-container bash
Mostrar todas as ferramentas
.. code-block:: console
python3 jok3r.py toolbox --show-all
Instalar todas as ferramentas
.. code-block:: console
python3 jok3r.py toolbox --install-all --fast
Atualizar todas as ferramentas
.. code-block:: console
python3 jok3r.py toolbox --update-all --fast
Lista de serviços suportados
.. code-block:: console
python3 jok3r.py info --services
Mostrar controles de segurança para HTTP
.. code-block:: console
python3 jok3r.py info --checks http
Criar uma nova missão na base de dados local.
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Missão "MiAuditoria" adicionada com sucesso
[*] A missão selecionada é MiAuditoria
jok3rdb[MiAuditoria]>
Executar controles de segurança em uma URL e adicionar resultados à missão
.. code-block:: console
python3 jok3r.py attack -t https://www.sapos.com/webapp/ --add MiAuditoria
Executa controles de segurança ao serviço MSSQL (sem interação do usuário) e adiciona resultados à missão.
.. code-block:: console
python3 jok3r.py attack -t 190.212.190.133:1433 -s mssql --add MiAuditoria --fast
Importar hosts/serviços dos resultados do Nmap ao escopo da missão
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission MiAuditoria
[*] Selected mission is now MiAuditoria
jok3rdb[MiAuditoria]> nmap results.xml
Verificar segurança para serviços na missão dada e armazenar os resultados na base de dados
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria --fast
Verificar segurança apenas nos serviços FTP nas portas 21/tcp e 2121/tcp da missão
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=21,2121;service=ftp" --fast
Verificar segurança apenas nos serviços FTP na porta 2121/tcp e todos os serviços HTTP em 190.212.190.133 da missão
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "port=2121;service=ftp" -f "ip=190.212.190.133;service=http"
Você começa uma auditoria com vários servidores. Aqui está um exemplo frequente no JoK3r:
Executar Nmap para escanear nos servidores alvo
Crie uma nova missão (digamos "MiAuditoria") na base de dados local:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a MiAuditoria
[+] Mission "MiAuditoria" successfully added
[*] A missão selecionada é MiAuditoria
jok3rdb[MiAuditoria]>
3. Importe seus resultados de Nmap escaneados:
.. code-block:: console
jok3rdb[MiAuditoria]> nmap resultados.xml
4. Você pode ter uma visão geral rápida de todos os serviços e hosts, adicionar alguns comentários, adicionar algumas credenciais se já tiver algum conhecimento sobre os objetivos (grey box pentest) e assim por diante
.. code-block:: console
jok3rdb[MiAuditoria]> hosts
[...]
jok3rdb[MiAuditoria]> services
[...]
5. Agora, faça verificações de segurança contra alguns alvos. Por exemplo, para executar verificações para os serviços de Java-RMI, pode executar o seguinte comando:
.. code-block:: console
python3 jok3r.py attack -m MiAuditoria -f "service=java-rmi" --fast
6. Você pode ver os resultados dos controles de segurança ao vivo quando as ferramentas estão sendo executadas ou posteriormente a partir da base de dados usando o seguinte comando:
.. code-block:: console
jok3rdb[MayhemProject]> results
A documentação está disponível em: em breve...
Ainda faltam muitos controles a implementar e serviços a serem adicionados! Trabalho em andamento ...