
Jok3r v3 BETA 2 - Framework de Automação 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/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
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
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.
.. image:: pictures/video-01.png :target: https://www.youtube.com/watch?v=FlbeBj5FPtI
.. image:: pictures/video-02.png :target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
.. image:: ./pictures/visio/architecture/jok3r-architecture.png :alt: Jok3r architecture
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg :width: 700px :alt: Jok3r flowchart
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!
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.
--net=host é necessário para compartilhar a interface do host. É necessário para conexões reversas (ex.: Ping ao container ao testar RCE, Obter um reverse shell)
Para reexecutar um container parado:
.. code-block:: console
sudo docker start -i jok3r-container
Para abrir múltiplos shells dentro do container:
.. code-block:: console
sudo docker exec -it jok3r-container bash
Para atualizar, basta puxar a imagem Docker mais recente do Docker Hub e executar um novo container a partir desta nova imagem:
.. code-block:: console
sudo docker pull koutto/jok3r
sudo docker run -i -t --name jok3r-container-updated -w /root/jok3r -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2g --net=host koutto/jok3r
Nota: Claro, você pode recuperar seu banco de dados local local.db (com suas missões salvas, alvos...) de um container antigo usando o comando sudo docker cp.
.. code-block:: console
python3 jok3r.py toolbox --show-all
.. code-block:: console
python3 jok3r.py toolbox --install-all --auto
.. code-block:: console
python3 jok3r.py toolbox --update-all
.. code-block:: console
python3 jok3r.py toolbox --update-all --auto
.. code-block:: console
python3 jok3r.py info --services
.. code-block:: console
python3 jok3r.py info --checks <service>
.. code-block:: console
python3 jok3r.py info --attack-profiles <service>
.. code-block:: console
python3 jok3r.py info --products
Criar uma nova missão no banco de dados local:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] Mission "mayhem" successfully added
[*] Selected mission is now mayhem
jok3rdb[mayhem]>
Alvo único:
.. code-block:: console
python3 jok3r.py attack -t https://www.example.com/ --add2db mayhem
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.42:1433 -s mssql --add2db mayhem --fast
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.142:21 -s ftp --cat-only recon,vulnscan --add2db mayhem
Múltiplos alvos:
.. code-block:: console
python3 jok3r.py attack -m mayhem --profile red-team --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "port=21,2121;service=ftp" --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "port=2121;service=ftp" -f "ip=192.168.1.42;service=http"
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission mayhem
[*] Selected mission is now mayhem
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
.. code-block:: console
jok3rdb[mayhem]> shodan ip
.. code-block:: console
jok3rdb[mayhem]> services
jok3rdb[mayhem]> hosts
jok3rdb[mayhem]> products
jok3rdb[mayhem]> creds
.. code-block:: console
jok3rdb[mayhem]> results --search '<search_string>'
.. code-block:: console
jok3rdb[mayhem]> vulns
.. code-block:: console
jok3rdb[mayhem]> report
Você inicia um pentest com vários servidores no escopo. Aqui está um exemplo típico de uso do JoK3r:
Você executa o escaneamento Nmap nos servidores no escopo.
Você cria uma nova missão (digamos "mayhem") no banco de dados local:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] Mission "mayhem" successfully added
[*] Selected mission is now mayhem
jok3rdb[mayhem]>
3. Você importa seus resultados do escaneamento Nmap no banco de dados:
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
4. Você pode então ter uma visão geral rápida de todos os serviços e hosts no escopo, adicionar alguns comentários, adicionar algumas credenciais se você já tem algum conhecimento sobre os alvos (pentest de caixa cinza), e assim por diante.
.. code-block:: console
jok3rdb[mayhem]> hosts
[...]
jok3rdb[mayhem]> services
[...]
5. Agora, você pode executar verificações de segurança contra alguns alvos no escopo. Por exemplo, se você quiser executar verificações contra todos os serviços Java-RMI no escopo, você pode executar o seguinte comando:
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "service=java-rmi" --fast
6. Você pode visualizar os resultados completos das verificações de segurança ao vivo quando as ferramentas são executadas ou posteriormente a partir do banco de dados usando o seguinte comando:
.. code-block:: console
jok3rdb[mayhem]> results
7. A qualquer momento, é possível exibir dados extraídos automaticamente das saídas das verificações de segurança, ou seja, produtos detectados, credenciais e vulnerabilidades.
.. code-block:: console
jok3rdb[mayhem]> products
[...]
jok3rdb[mayhem]> creds
[...]
jok3rdb[mayhem]> vulns
[...]
8. A qualquer momento, você pode gerar um relatório HTML com um resumo de todos os alvos no escopo da missão, capturas de tela de páginas web para serviços HTTP e saídas completas de todas as verificações de segurança que foram executadas:
.. code-block:: console
jok3rdb[mayhem]> report
Documentação em andamento...
Atualizado em: 12/07/2019
Muitas verificações ainda precisam ser implementadas e serviços devem ser adicionados!! Trabalho em andamento ...
AJP (padrão 8009/tcp)_FTP (padrão 21/tcp)_HTTP (padrão 80/tcp)_Java-RMI (padrão 1099/tcp)_JDWP (padrão 9000/tcp)_MSSQL (padrão 1433/tcp)_MySQL (padrão 3306/tcp)_Oracle (padrão 1521/tcp)_PostgreSQL (padrão 5432/tcp)_RDP (padrão 3389/tcp)_SMB (padrão 445/tcp)_SMTP (padrão 25/tcp)_SNMP (padrão 161/udp)_SSH (padrão 22/tcp)_Telnet (padrão 21/tcp)_VNC (padrão 5900/tcp)_.. code-block:: console
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta usada |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon usando scripts Nmap AJP | nmap |
| tomcat-version | recon | Fingerprint da versão do Tomcat via AJP | ajpy |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| default-creds-tomcat | defaultcreds | Verificar credenciais padrão para o Gerenciador de Aplicações Tomcat via AJP | ajpy |
| deploy-webshell-tomcat | exploit | Implantar um webshell no Tomcat via AJP e listar aplicações | ajpy |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta usada |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon usando scripts Nmap FTP | nmap |
| ftpmap-scan | vulnscan | Identificar software/versão do servidor FTP e verificar vulns conhecidas | ftpmap |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no servidor FTP | hydra |
| bruteforce-creds | bruteforce | Força bruta de contas FTP | hydra |
| ftp-dirlisting | postexploit | Listar diretórios/arquivos no servidor FTP (maxdepth=4) | lftp |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console+------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | Nome | Categoria | Descrição | Ferramenta usada | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | nmap-recon | recon | Recon usando scripts HTTP do Nmap | nmap | | load-balancing-detection | recon | Detecção de balanceador de carga HTTP | halberd | | waf-detection | recon | Identificar e identificar produtos WAF protegendo o site | wafw00f | | waf-detection2 | recon | Identificar e identificar produtos WAF protegendo o site | identifywaf | | cloudmare-recon | recon | Capturador de IP real do CloudFlare | cloudmare | | fingerprinting-multi-whatweb | recon | Identificar CMS, plataformas de blog, bibliotecas JS, servidores web | whatweb | | fingerprinting-appserver | recon | Identificar servidor de aplicação (JBoss, ColdFusion, Weblogic, Tomcat, Railo, Axis2, Glassfish) | clusterd | | webdav-detection-msf | recon | Detectar WebDAV em servidor web | metasploit | | fingerprinting-multi-wig | recon | Identificar vários CMS e servidores web/de aplicação | wig | | fingerprinting-cms-cmseek | recon | Detectar CMS (130+ suportados), detectar versão no Drupal, varredura avançada em Wordpress/Joomla | cmseek | | fingerprinting-cms-fingerprinter | recon | Identificar versões precisas de CMS (baseado em checksums de arquivos) | fingerprinter | | fingerprinting-drupal | recon | Identificar Drupal 7/8: enumeração de usuários, nós, arquivos padrão, módulos, temas | drupwn | | fingerprinting-domino | recon | Identificar software IBM/Lotus Domino | domiowned | | crawling-fast | recon | Rastrear site rapidamente, analisar arquivos/diretórios interessantes | dirhunt | | crawling-fast2 | recon | Rastrear site e extrair URLs, arquivos, inteligência e endpoints | photon | | vulners-lookup | vulnlookup | Consulta de vulnerabilidades (linguagem, framework, jslib, cms, servidor, servidor de app) no Vulners.com | vulners-lookup | | cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades (linguagem, framework, jslib, cms, servidor, servidor de app) no Cvedetails.com | cvedetails-lookup | | default-creds-web-multi | defaultcreds | Verificar credenciais padrão em várias interfaces web | changeme | | default-creds-appserver | defaultcreds | Verificar credenciais padrão/comuns em servidores de aplicação | web-brutator | | ssl-check | vulnscan | Verificar configuração SSL/TLS | testssl | | headers-analysis | vulnscan | Verificar cabeçalhos HTTP | h2t | | vulnscan-multi-nikto | vulnscan | Verificar múltiplas vulnerabilidades/configurações incorretas web | nikto | | webdav-scan-davscan | vulnscan | Escanear HTTP WebDAV | davscan | | webdav-internal-ip-disclosure | vulnscan | Verificar divulgação de IP interno do WebDAV | metasploit | | webdav-website-content | vulnscan | Detectar servidores web divulgando seu conteúdo através do WebDAV | metasploit | | http-put-check | vulnscan | Detectar suporte ao método HTTP PUT perigoso | metasploit | | apache-optionsbleed-check | vulnscan | Testar o bug Optionsbleed no Apache httpd (CVE-2017-9798) | optionsbleed | | shellshock-scan | vulnscan | Detectar se o servidor web é vulnerável ao Shellshock (CVE-2014-6271) | shocker | | iis-shortname-scan | vulnscan | Escanear vulnerabilidade de divulgação de nome curto de arquivo (8.3) do IIS | iis-shortname-scanner | | iis-internal-ip-disclosure | vulnscan | Verificar divulgação de IP interno do IIS | metasploit | | tomcat-user-enum | vulnscan | Enumerar usuários no Tomcat 4.1.0-4.1.39, 5.5.0-5.5.27 e 6.0.0-6.0.18 | metasploit | | jboss-vulnscan-multi | vulnscan | Escanear servidor de aplicação JBoss para múltiplas vulnerabilidades | metasploit | | jboss-status-infoleak | vulnscan | Consultar servlet de status do JBoss para coletar informações sensíveis (JBoss 4.0, 4.2.2 e 4.2.3) | metasploit | | jenkins-infoleak | vulnscan | Enumerar uma instalação remota do Jenkins-CI de forma não autenticada | metasploit | | cms-multi-vulnscan-cmsmap | vulnscan | Verificar vulnerabilidades em CMS Wordpress, Drupal, Joomla | cmsmap | | wordpress-vulnscan | vulnscan | Escanear vulnerabilidades em CMS Wordpress | wpscan | | wordpress-vulnscan2 | vulnscan | Escanear vulnerabilidades em CMS Wordpress | wpseku | | joomla-vulnscan | vulnscan | Escanear vulnerabilidades em CMS Joomla | joomscan | | joomla-vulnscan2 | vulnscan | Escanear vulnerabilidades em CMS Joomla | joomlascan | | joomla-vulnscan3 | vulnscan | Escanear vulnerabilidades em CMS Joomla | joomlavs | | drupal-vulnscan | vulnscan | Escanear vulnerabilidades em CMS Drupal | droopescan | | magento-vulnscan | vulnscan | Verificar configurações incorretas em CMS Magento (funciona parcialmente) | magescan | | silverstripe-vulnscan | vulnscan | Escanear vulnerabilidades em CMS Silverstripe | droopescan | | vbulletin-vulnscan | vulnscan | Escanear vulnerabilidades em CMS vBulletin | vbscan | | liferay-vulnscan | vulnscan | Escanear vulnerabilidades em CMS Liferay | liferayscan | | angularjs-csti-scan | vulnscan | Escanear Injeção de Template do Lado do Cliente AngularJS | angularjs-csti-scanner | | jquery-fileupload-rce-cve2018-9206 | exploit | Explorar upload arbitrário de arquivo no widget jQuery File Upload <= 9.22 (CVE-2018-9206) | jqshell | | struts2-rce-cve2017-5638 | exploit | Explorar RCE no parser Jakarta Multipart do Apache Struts2 (CVE-2017-5638) | jexboss | | struts2-rce-cve2017-9791 | exploit | Explorar RCE OGNL no Plugin Showcase do Apache Struts2 (CVE-2017-9791) | metasploit | | struts2-rce-cve2017-9805 | exploit | Explorar RCE XStream no REST Plugin do Apache Struts2 (CVE-2017-9805) | struts-pwn-cve2017-9805 | | struts2-rce-cve2018-11776 | exploit | Explorar RCE por configuração incorreta do Apache Struts2 (CVE-2018-11776) | struts-pwn-cve2018-11776 | | rails-rce-cve2019-5420 | exploit | Explorar Divulgação de Conteúdo de Arquivo (CVE-2019-5418) + RCE (CVE-2019-5420) No Ruby on Rails | jok3r-pocs | | appserver-auth-bypass | exploit | Tentar explorar bypass de autenticação em servidores de aplicação | clusterd | | tomcat-rce-cve2017-12617 | exploit | Exploit para Apache Tomcat JSP Upload Bypass RCE (CVE-2017-12617) | jok3r-pocs | | jboss-misconfig-exploit | exploit | Tentar explorar configuração incorreta no JBoss appserver pré-autenticação (jmx|web|admin-console,JMXInvokerServlet) | jexboss | | jboss-path-traversal-cve2014-7816 | exploit | Explorar path traversal no Jboss Wildfly 8.1.0 (apenas Windows) (CVE-2014-7816) | metasploit | | jboss-deserialize-cve2015-7501 | exploit | Exploit para JBoss Deserialize RCE (CVE-2015-7501) | jok3r-pocs | | glassfish-path-traversal-cve2017-1000028 | exploit | Explorar path traversal no Glassfish <= 4.1 (CVE-2017-1000028) | metasploit | | jenkins-unauthenticated-console | exploit | Detectar e explorar console de script Jenkins-CI não autenticado | metasploit | | jenkins-cli-deserialize-cve2015-8103 | exploit | Explorar desserialização Java (não autenticada) no Jenkins CLI RMI (CVE-2015-8103) | jexboss | | jenkins-cli-deserialize2-cve2015-8103 | exploit | Explorar desserialização Java (não autenticada) no Jenkins CLI RMI (CVE-2015-8103) | jok3r-pocs | | jenkins-groovy-xml-rce-cve2016-0792 | exploit | Explorar RCE Groovy XML no Jenkins (CVE-2016-0792) | jok3r-pocs | | jenkins-deserialize-cve2017-1000353 | exploit | Explorar RCE por desserialização Java no Jenkins (CVE-2017-1000353) | jok3r-pocs | | jenkins-rce-cve2018-1000861 | exploit | Explorar RCE não autenticada no Jenkins via invocação de método (CVE-2018-1000861) | jok3r-pocs | | weblogic-t3-open-jdbc-datasource | exploit | Listar JNDIs disponíveis através do Weblogic T3(s) e tentar obter shell SQL via datasource JDBC aberto | jndiat | | weblogic-t3-deserialize-cve2015-4852 | exploit | Explorar desserialização Java (não autenticada) no Weblogic T3(s) (CVE-2015-4852) | jok3r-pocs | | weblogic-t3-deserialize-cve2016-3510 | exploit | Explorar desserialização Java (não autenticada) no Weblogic T3 (CVE-2016-3510) | jok3r-pocs | | weblogic-t3-deserialize-cve2017-3248 | exploit | Explorar desserialização Java (não autenticada) no Weblogic T3(s) (CVE-2017-3248) | exploit-weblogic-cve2017-3248 | | weblogic-t3-deserialize-cve2018-2628 | exploit | Explorar desserialização Java (não autenticada) no Weblogic T3(s) (CVE-2018-2628) | jok3r-pocs | | weblogic-t3-deserialize-cve2018-2893 | exploit | Explorar desserialização Java (não autenticada) no Weblogic T3(s) (CVE-2018-2893) | jok3r-pocs | | weblogic-rce-cve2018-2894 | exploit | Explorar vulnerabilidade no Weblogic permitindo implantação de webshell (CVE-2018-2894) | jok3r-pocs | | weblogic-wls-wsat-cve2017-10271 | exploit | Explorar WLS-WSAT (não autenticado) no Weblogic (CVE-2017-10271) | jok3r-pocs | | websphere-deserialize-cve2015-7450 | exploit | Explorar desserialização Java (não autenticada) no Websphere (CVE-2015-7450) | jok3r-pocs | | coldfusion-xxe-cve2009-3960 | exploit | Explorar XXE no Coldfusion 7/8/9 (CVE-2009-3960) | metasploit | | coldfusion-path-traversal-cve2010-2861 | exploit | Explorar path traversal no Coldfusion (CVE-2010-2861) | metasploit | | coldfusion-path-traversal-cve2013-3336 | exploit | Explorar path traversal no Coldfusion 9/10 e extrair credenciais (CVE-2013-3336) | metasploit | | iis-webdav-win2003-bof | exploit | Explorar buffer overflow no WebDAV no IIS 6.0 no Windows 2003 R2 (CVE-2017-7269) | metasploit | | drupal-sqli-drupalgeddon | exploit | Explorar Drupalgeddon SQLi para adicionar um admin no CMS Drupal 7.x <= 7.31 (CVE-2014-3704) | jok3r-pocs | | drupal-rce-drupalgeddon2 | exploit | Explorar Drupalgeddon2 RCE no CMS Drupal 7.x < 7.58 & 8.x < 8.1 (CVE-2018-7600) | drupwn | | drupal-rce-rest-cve2019-6340 | exploit | Explorar REST RCE no CMS Drupal 8.5.x < 8.5.11 & 8.6.x < 8.6.10 (CVE-2019-6340) | drupwn | | joomla-comfields-sqli-rce | exploit | Explorar injeção SQL para RCE no componente com_fields no Joomla >= 3.7.0 (CVE-2017-8917) | metasploit | | bruteforce-htaccess | bruteforce | Força bruta em autenticação HTTP (htaccess) se retornar 401 Não Autorizado | web-brutator | | bruteforce-appserver | bruteforce | Força bruta em autenticação em servidor de aplicação (se não houver bloqueio por padrão) | web-brutator | | bruteforce-domino | bruteforce | Força bruta em autenticação no software IBM/Lotus Domino | domiowned | | bruteforce-wordpress | bruteforce | Força bruta em contas Wordpress (requer nome(s) de usuário detectado(s)) | wpseku | | bruteforce-joomla | bruteforce | Força bruta na conta "admin" do Joomla | xbruteforcer | | bruteforce-drupal | bruteforce | Força bruta na conta "admin" do Drupal | xbruteforcer | | bruteforce-opencart | bruteforce | Força bruta na conta "admin" do Opencart | xbruteforcer | | bruteforce-magento | bruteforce | Força bruta na conta "admin" do Magento | xbruteforcer | | discovery-server | discovery | Força bruta em caminhos web específicos para servidores web/de aplicação detectados | dirsearch | | discovery-cms | discovery | Força bruta em caminhos web específicos para CMS detectados | dirsearch | | discovery-language-directories | discovery | Força bruta em caminhos web específicos para idioma e diretórios detectados | dirsearch | | discovery-general | discovery | Força bruta em caminhos web relacionados a config, banco de dados, arquivos estáticos, misc... | dirsearch | | appserver-postauth-deploy | postexploit | Implantar webshell em servidor de aplicação (requer credenciais) | clusterd | | wordpress-shell-upload | postexploit | Enviar shell no Wordpress (requer credenciais de admin) | wpforce | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+
.. code-block:: console+--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | Nome | Categoria | Descrição | Ferramenta utilizada | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | nmap-recon | recon | Tentar despejar todos os objetos do serviço Java-RMI | nmap | | rmi-enum | recon | Enumerar serviços RMI | barmie | | jmx-info | recon | Obter informações sobre o JMX e o servidor MBean | twiddle | | jmx-default-creds | defaultcreds | Verificar credenciais padrão/comuns no JMX | jmxbf | | jmx-bruteforce-creds | bruteforce | Forçar credenciais para conectar ao registro JMX | jmxbf | | exploit-rmi-default-config | exploit | Explorar configuração padrão no Registro RMI para carregar classes de qualquer URL remota (não funciona contra JMX) | metasploit | | exploit-jmx-insecure-config | exploit | Explorar configuração insegura do JMX. Autenticação desabilitada: deve ser vulnerável. Autenticação habilitada: vulnerável se configuração fraca | metasploit | | jmx-auth-disabled-deploy-class | exploit | Implantar MBean malicioso no serviço JMX com autenticação desabilitada (alternativa ao módulo msf) | sjet | | tomcat-jmxrmi-deserialize | exploit | Explorar desserialização JMX-RMI no Tomcat (CVE-2016-3427, CVE-2016-8735), requer JmxRemoteLifecycleListener | jexboss | | rmi-deserialize-all-payloads | exploit | Tentar explorar desserialização Java contra o Registro RMI Java com todos os payloads ysoserial | ysoserial | | tomcat-jmxrmi-manager-creds | postexploit | Recuperar credenciais do Manager no JMX do Tomcat (requer autenticação desabilitada ou credenciais conhecidas no JMX) | jmxploit | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+------------+----------+-----------------------------------------------------+-----------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+------------+----------+-----------------------------------------------------+-----------------+
| nmap-recon | recon | Reconhecimento usando scripts JDWP do Nmap | nmap |
| jdwp-rce | exploit | Obter RCE no serviço JDWP (mostrar informações do SO/Java como PoC) | jdwp-shellifier |
+------------+----------+-----------------------------------------------------+-----------------+
.. code-block:: console
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Reconhecimento usando scripts MSSQL do Nmap | nmap |
| mssqlinfo | recon | Obter informações técnicas sobre um servidor MSSQL remoto (usar protocolo TDS e SQL browser Server) | msdat |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no servidor MSSQL | msdat |
| bruteforce-creds | bruteforce | Forçar contas MSSQL ("sa" ou usuários conhecidos) | msdat |
| postauth-audit | postexploit | Verificar privilégios permissivos, métodos que permitem execução de comandos, contas fracas após autenticação no MSSQL | msdat |
| postauth-rce-xpcmdshell | postexploit | Tentar executar comando do sistema via xp_cmdshell (whoami && net user) | msdat |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Reconhecimento usando scripts MySQL do Nmap | nmap |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| mysql-auth-bypass-cve2012-2122 | exploit | Explorar vulnerabilidade de bypass de senha no MySQL - CVE-2012-2122 | metasploit |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no servidor MySQL | hydra |
| bruteforce-creds | bruteforce | Forçar contas MySQL ("root" ou usuários conhecidos) | hydra |
| mysql-hashdump | postexploit | Recuperar nomes de usuário e hashes de senha do banco de dados MySQL (requer credenciais) | metasploit |
| mysql-interesting-tables-columns | postexploit | Procurar por tabelas e colunas interessantes no banco de dados | jok3r-scripts |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| tnscmd | recon | Conectar ao Listener TNS e emitir comandos Ping, Status, Versão | odat |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| tnspoisoning | vulnscan | Testar se o Listener TNS é vulnerável a TNS Poisoning (CVE-2012-1675) | odat |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no servidor Oracle | odat |
| bruteforce-creds | bruteforce | Forçar contas Oracle (pode bloquear algumas contas!) | odat |
| postauth-audit | postexploit | Verificar vetores de escalonamento de privilégio, configuração que leva à execução de comandos, contas fracas após autenticação no Oracle | odat |
| search-columns-passwords | postexploit | Procurar por colunas que armazenam senhas no banco de dados | odat |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| dbname-flag-injection-cve2013-1899 | vulnscan | Verificar injeção de flag de linha de comando no PostgreSQL 9.0|1|2 (CVE-2013-1899) | metasploit |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no servidor PostgreSQL | hydra |
| bruteforce-creds | bruteforce | Forçar contas PostgreSQL | hydra |
| postauth-rce-cve2019-9193 | postexploit | Tentar executar comando do sistema pós-autenticação explorando CVE-2019-9193 | psql |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------+----------+-----------------------------------------------------------------------+------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+----------+----------+-----------------------------------------------------------------------+------------+
| ms12-020 | vulnscan | Verificar vulnerabilidade RCE MS12-020 (qualquer Windows anterior a 13 de Março de 2012) | metasploit |
+---------+----------+-----------------------------------------------------------------------+------------+
.. code-block:: console
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| nmap-recon | recon | Reconhecimento usando scripts SMB do Nmap e verificar vulnerabilidades (MS17-010, MS10-061, MS10-054, MS08-067...) | nmap |
| anonymous-enum-smb | recon | Tentar realizar enumeração (usuários, compartilhamentos...) sem conta | nullinux |
| detect-ms17-010 | vulnscan | Detectar RCE SMB MS17-010 | metasploit |
| samba-rce-cve2015-0240 | vulnscan | Detectar vulnerabilidade RCE (CVE-2015-0240) no Samba 3.5.x e 3.6.X | metasploit |
| exploit-rce-ms08-067 | exploit | Exploit para vulnerabilidade RCE MS08-067 no SMB | metasploit |
| exploit-rce-ms17-010-eternalblue | exploit | Exploit para vulnerabilidade RCE MS17-010 EternalBlue no SMB | metasploit |
| exploit-sambacry-rce-cve2017-7494 | exploit | Exploit para SambaCry RCE no Samba <= 4.5.9 (CVE-2017-7494) (sem credenciais se conta convidado) | metasploit |
| auth-enum-smb | postexploit | Enumeração autenticada (usuários, grupos, compartilhamentos) no SMB | nullinux |
| auth-shares-perm | postexploit | Obter permissões de leitura/escrita nos compartilhamentos SMB | smbmap |
| smb-exec | postexploit | Tentar obter um shell remoto (tipo psexec, requer credenciais de Administrador) | impacket |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| smtp-cve | vulnscan | Escanear vulnerabilidades (CVE-2010-4344, CVE-2011-1720, CVE-2011-1764, open-relay) no SMTP | nmap |
| smtp-user-enum | vulnscan | Tentar realizar enumeração de usuários via comandos SMTP EXPN, VRFY e RCPT TO | smtp-user-enum |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
.. code-block:: console
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| common-community-strings | bruteforce | Verificar community strings comuns no servidor SNMP | metasploit |
| snmpv3-bruteforce-creds | bruteforce | Forçar credenciais SNMPv3 | snmpwn |
| enumerate-info | postexploit | Enumerar informações fornecidas pelo SNMP (e verificar acesso de escrita) | snmp-check |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| vulns-algos-scan | vulnscan | Escanear algoritmos suportados e informações de segurança no servidor SSH | ssh-audit |
| vulners-lookup | vulnlookup | Consulta de vulnerabilidades no Vulners.com (requer nome do produto+versão) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Consulta de vulnerabilidades no Cvedetails.com (requer nome do produto+versão) | cvedetails-lookup |
| user-enum-timing-attack | exploit | Tentar realizar ataque de temporização de enumeração de usuários do OpenSSH (versões <= 7.2 e >= 5.*) | osueta |
| user-enum-cve2018-15473 | exploit | Tentar explorar enumeração de usuários OpenSSH <= 7.7 (CVE-2018-15473) | ssh-user-enum-cve-2018-15473 |
| auth-bypass-libssh-cve2018-10933 | exploit | Tentar bypass de autenticação (CVE-2018-10933) no libssh 0.6+ (corrigido no 0.7.6 e 0.8.4) | libssh-scanner |
| default-ssh-key | defaultcreds | Tentar autenticar no servidor SSH usando chaves SSH conhecidas | changeme |
| default-creds | defaultcreds | Verificar credenciais padrão/comuns no SSH | hydra |
| bruteforce-creds | bruteforce | Forçar contas SSH | hydra |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
.. code-block:: console
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| Nome | Categoria | Descrição | Ferramenta utilizada |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| nmap-recon | recon | Reconhecimento usando scripts Telnet do Nmap | nmap |
| default-creds | bruteforce | Verificar credenciais padrão no Telnet (dicionário de https://cirt.net/passwords) | patator |
| bruteforce-root-account | bruteforce | Forçar conta "root" no Telnet | patator |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
.. code-block:: console+-----------------+------------+-----------------------------------------------------------------------------------------------------------------+----------------+ | Nome | Categoria | Descrição | Ferramenta | +-----------------+------------+-----------------------------------------------------------------------------------------------------------------+----------------+ | nmap-recon | recon | Reconhecimento usando scripts VNC do Nmap | nmap | | vuln-lookup | vulnscan | Consulta de vulnerabilidades no Vulners.com (scripts NSE) e exploit-db.com (muitos falsos positivos!) | vuln-databases | | bruteforce-pass | bruteforce | Força bruta de senha VNC | patator | +-----------------+------------+-----------------------------------------------------------------------------------------------------------------+----------------+
Veja Registro de alterações <https://github.com/koutto/jok3r/blob/master/CHANGELOG.rst>_