Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
GyoiThon — GyoiThon é uma ferramenta de teste de penetração em crescimento que usa Machine Learning. | Kitploit
Ferramentas/GitHubGitHub/gyoisamurai/gyoithon
ReconhecimentoScanners de VulnerabilidadesFrameworks de ExploraçãoColeta de InformaçõesSegurança WebTestes de PenetraçãoAprendizado de MáquinaEnumeração de Subdomínios
GitHubgyoisamurai/gyoithon

GyoiThon

GyoiThon é uma ferramenta de teste de penetração em crescimento que usa Machine Learning.

Ver Repositório
826303há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

GyoiThon: Ferramenta de teste de penetração de próxima geração

Black Hat ASIA Arsenal 2018 Black Hat ASIA Arsenal 2019

Página em japonês está aqui.

Apresentação

  • 25 de janeiro de 2018:JANOG41
  • 23 de março de 2018:Black Hat ASIA 2018 Arsenal
  • 12 de agosto de 2018:DEFCON26 DemoLabs
  • 24 de outubro de 2018:OWS no CSS2018
  • 3 de novembro de 2018:AV TOKYO 2018 HIVE
  • 22-23 de dezembro de 2018:SECCON YOROZU 2018
  • 28 de março de 2019:Black Hat ASIA 2019 Arsenal

Documentos

  • Instalação
  • Uso
  • Dicas
  • Demonstração (Youtube)

Slack

  • https://gyoithon.slack.com
    Junte-se ao GyoiThon Slack!!

Nova função!!

O novo GyoiThon (versão 0.0.4) pode listar seus subdomínios expostos na internet. E se o subdomínio for publicado como um serviço Web, então o GyoiThon executa uma verificação de integridade que é uma avaliação de vulnerabilidade não destrutiva.

Nota
A nova função usa uma API de pesquisa personalizada do Google. Portanto, se você usar a nova função, terá que preparar uma chave de API da Pesquisa Personalizada do Google.
  • ex) Listando seus subdomínios.
    Primeiro, você precisa preparar o domain_list.csv da seguinte forma: ``` "Domain Name" mbsd.jp
root@kitploit:~
E você executa o seguinte comando. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list

Como resultado, você obtém uma lista de subdomínios associados ao domínio especificado.

  • Exemplo) Listar seus subdomínios e executar health check.
    O GyoiThon lista seus subdomínios e, se o subdomínio estiver publicado como um serviço Web (com a porta 80 ou 443 aberta), então o GyoiThon executa uma verificação de integridade que consiste em uma avaliação de vulnerabilidade não destrutiva.``` root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list --through_health_check --safety
root@kitploit:~
Como resultado, você obtém uma lista de subdomínios e relatório de avaliação.  
|Índice|Domínio|Subdomínio|Endereço IP|Status de Acesso (http)|Localização (http)|Status de Acesso (https)|Localização (https)|Registros Whois|Resultados da Avaliação|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|1|mbsd.jp|mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|301|https://www.mbsd.jp/|***|***|
|2|mbsd.jp|www.mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|200|-|-|***|
|3|mbsd.jp|www2.mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|200|-|-|***|

## Visão Geral
GyoiThon é uma **ferramenta de Inteligência de Coleta** para Servidores Web.  

O GyoiThon executa **acesso remoto** ao servidor web alvo e **identifica os produtos operados no servidor**, como CMS, software de servidor web, Framework, Linguagem de Programação, etc. Além disso, pode **executar módulos de exploração** para os produtos identificados usando o Metasploit. O GyoiThon executa essas ações **de forma totalmente automática**.  

As principais funcionalidades do GyoiThon são as seguintes.  

 * Acesso remoto / Totalmente automático  
 O GyoiThon pode **coletar automaticamente** as informações do servidor web alvo usando apenas **acesso remoto**. Você só precisa executar o GyoiThon uma vez para sua operação.  

 * Teste não destrutivo  
 O GyoiThon pode coletar informações do servidor web alvo usando **apenas acesso normal**.  
 Mas, ao usar parte das opções, o GyoiThon executa acesso anormal, como o envio de módulos de exploração.  

 * Coleta de diversas informações  
 O GyoiThon possui vários mecanismos de coleta de inteligência, como Web crawler, Google Custom Search API, Censys, explorador de conteúdos padrão, exame de serviços em nuvem, etc. Ao analisar as informações coletadas usando **correspondência de padrões de strings** e **aprendizado de máquina**, o GyoiThon pode identificar **produto/versão/número CVE** operado no servidor web alvo, **comentários html desnecessários**/**mensagens de depuração**, **página de login**, etc.  

 * Exame de vulnerabilidade real  
 O GyoiThon pode executar módulos de exploração para os produtos identificados usando o Metasploit.  
 Como resultado, ele pode **examinar a vulnerabilidade real do servidor web alvo**.  

![Overview](https://raw.githubusercontent.com/gyoisamurai/GyoiThon/master/img/overview.png)

| Nota |
|:-----|
| Se você estiver interessado, **por favor, use-as em um ambiente sob seu controle e por sua conta e risco**. |

## <a name='Instalação'>Instalação</a>
1. git clone do repositório do GyoiThon.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
  1. Obter python3-pip.``` root@kali:# apt-get update root@kali:# apt-get install python3-pip
root@kitploit:~
3. instale os pacotes Python necessários.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
  1. Edite o config.ini do GyoiThon.
    Você tem que editar seu config.ini.
    Mais informações estão em Uso.

Uso

Usando modo padrão sem opção e combinação de várias opções, o GyoiThon pode coletar várias informações do servidor web alvo.``` usage: .\gyoithon.py [-s] [-m] [-g] [-e] [-c] [-p] [-l --log_path=] [--no-update-vulndb] .\gyoithon.py [-d --category= --vendor= --package=] .\gyoithon.py [-i] .\gyoithon.py -h | --help options: -s Optional : Examine cloud service. -m Optional : Analyze HTTP response for identify product/version using Machine Learning. -g Optional : Google Custom Search for identify product/version. -e Optional : Explore default path of product. -c Optional : Discover open ports and wrong ssl server certification using Censys. -p Optional : Execute exploit module using Metasploit. -l Optional : Analyze log based HTTP response for identify product/version. -d Optional : Development of signature and train data. -i Optional : Explore relevant FQDN with the target FQDN. -h --help Show this help message and exit.

root@kitploit:~
### Preparação.  
1. Edite o arquivo alvo `host.txt`.  
Você deve escrever o servidor web alvo em `host.txt`.  
O formato de escrita é `protocol FQDN(or IP address) Port Crawling_root_path`.  

* Exemplo.```
https gyoithon.example.com 443 /

Se você quiser indicar múltiplas informações de alvo, você deve escrever abaixo.``` https gyoithon.example.com 443 / http 192.168.220.129 80 /vicnum/ https www.example.com 443 /catalog/

root@kitploit:~
| Nota |
|:-----|
| Você insere `/` no início e no final do Caminho Raiz. |

2. Edite o arquivo de configuração `config.ini`.  
Os parâmetros a serem alterados pelo usuário são definidos no arquivo de configuração `config.ini`.  
Se você quiser alterar os parâmetros, edite `config.ini`.  
Detalhes do `config.ini` estão [aqui](https://github.com/gyoisamurai/GyoiThon/wiki/Configure).  

### Execução do GyoiThon.  
#### <a name='default_mode'>1. Modo padrão.</a>```
root@kali:~/GyoiThon# python3 gyoithon.py

O modo padrão reúne as seguintes informações mínimas.

  1. Recolha de respostas HTTP através de rastreamento Web.
  2. Identificação de produto/versão usando correspondência de padrões de strings.
  3. Exame de número CVE (da NVD) para produtos identificados.
  4. Exame de comentários HTML/JavaScript desnecessários.
  5. Exame de mensagens de depuração desnecessárias.
  6. Exame de páginas de login.
  • Configuração de rastreamento
    O GyoiThon utiliza o Scrapy, biblioteca Python.
    Alterando os parâmetros no config.ini, pode modificar a configuração do Scrapy.
  • Configuração de velocidade de exame
    O número de exames e o tamanho da resposta HTTP afetam significativamente os tempos de exame.
    Alterando os parâmetros no config.ini, pode ajustar a velocidade de exame.
Nota
A velocidade e a precisão do exame são um trade-off.

2. Exame do modo de serviços cloud.```

root@kali:~/GyoiThon# python3 gyoithon.py -s

root@kitploit:~
By add `-s` option, GyoiThon identifies target web server uses cloud service or not  in addition to default mode.  
Before execution, you must change the below parameter of `config.ini`.  

|Categoria|Parâmetro|Descrição|
|:----|:----|:----|
|CloudChecker|azure_ip_range|URL de origem dos Intervalos de IP do Azure Datacenter. |

This parameter is source URL of Azure Datacenter IP range. This URL is changed a few per day. So, you must get the latest URL from link "clique aqui para baixar manualmente" of page "[Microsoft Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)" and set it to above parameter before execute GyoiThon.  

#### 3. Modo de análise de Machine Learning.```
root@kali:~/GyoiThon# python3 gyoithon.py -m

4. Modo Google Hacking.

Ao adicionar a opção -m, o GyoiThon identifica produtos/versões usando Machine Learning (Naive Bayes) além do modo padrão.``` root@kali:~/GyoiThon# python3 gyoithon.py -g

root@kitploit:~
Ao adicionar a opção `-g`, o GyoiThon identifica produtos/versões usando a API Google Custom Search, além do modo padrão. Antes da execução, você deve definir a [chave de API](https://console.cloud.google.com/apis/dashboard) e o [ID do mecanismo de pesquisa](https://support.google.com/customsearch/answer/2649143?hl=ja) nos parâmetros abaixo.  

|Categoria|Parâmetro|Descrição|
|:----|:----|:----|
|GoogleHack|api_key|Chave de API do Google Custom Search API. |
||search_engine_id|ID do mecanismo de pesquisa do Google. |

| Nota |
|:-----|
| Você pode usar a API Google Custom Search gratuita de 100 consultas por dia. Mas, se quiser usar mais de 100 consultas, você deve pagar uma taxa pelo serviço da API Google Custom Search. |

#### 5. Exploração do modo de conteúdo padrão.```
root@kali:~/GyoiThon# python3 gyoithon.py -e

By add -e option, GyoiThon explores the default contents of products such as CMS, Web server software in addition to default mode.
By change the parameters in config.ini, you can change setting of exploration.

CategoryParameterDescription
ContentExplorerdelay_timeTempo de atraso da exploração. Valor padrão é 1 (segundo).
Note
Ao usar esta opção, pode haver um alto carregamento do servidor porque o GyoiThon executa inúmeros acessos (centenas de acessos) contra o servidor web alvo. Além disso, como muitos logs de erro 404 são escritos no log de acesso, pode ser detectado pelo SOC (Security Operation Center). Portanto, se você usar esta opção, notifique as pessoas envolvidas, como SOC, administrador, e use-as em um ambiente sob seu controle e por sua conta e risco.

6. Modo de cooperação Censys.```

root@kali:~/GyoiThon# python3 gyoithon.py -c

root@kitploit:~
Ao adicionar a opção `-c`, o GyoiThon examina o número da porta aberta e a certificação do servidor usando [Censys](https://censys.io/).  
Antes da execução, você deve definir a chave de API e a chave secreta nos parâmetros abaixo.  

|Categoria|Parâmetro|Descrição|
|:----|:----|:----|
|Censys|api_id|Chave de API do Censys. |
||secret|Chave secreta do Censys. |

#### 7. Modo de cooperação com Metasploit.```
root@kali:~/GyoiThon# python3 gyoithon.py -p

Ao adicionar a opção -p, o GyoiThon examina vulnerabilidades reais como DoS e backdoor usando o Metasploit além do modo padrão.
Antes da execução, você deve iniciar o servidor RPC do Metasploit e definir os parâmetros abaixo no config.ini.

Nota
Quando você usa esta opção, pode ser fortemente afetado o funcionamento do servidor porque o GyoiThon executa o exploit contra o servidor web alvo. Além disso, esta opção pode ser detectada pelo SOC (Centro de Operações de Segurança) porque os exploits são como ataques reais. Portanto, se você usar esta opção, notifique a pessoa responsável, como SOC, administrador e use-as em um ambiente sob seu controle e por sua própria conta e risco.

8. Modo de análise baseada em logs armazenados.```

root@kali:~/GyoiThon# python3 gyoithon.py -l --log_path="Full path of stored logs"

root@kitploit:~
Ao adicionar a opção `-l`, o GyoiThon executa vários exames usando respostas HTTP armazenadas sem rastreamento web.  

Este modo assume a aplicação web que o GyoiThon não pode executar rastreamento web.  
O GyoiThon pode executar vários exames semelhantes ao rastreamento web do modo padrão usando respostas HTTP armazenadas coletadas por uma ferramenta de proxy local.  

| Nota |
|:-----|
| A extensão do arquivo de log é `.log`. |

#### <a name='complex_mode'>9. Combinação de múltiplas opções</a>.
##### Combinação dos modos "Examination of cloud services" e "Machine Learning analysis".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
Combinação de "Exame do modo de serviços em nuvem" e "Modo Google Hacking".```

root@kali:~/GyoiThon# python3 gyoithon.py -s -g

root@kitploit:~
##### Combinação de "Examination of cloud services mode", "Machine Learning analysis mode" e "Google Hacking mode".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g
Todas as opções.```

root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g -e -c -p -l --log_path="Full path of stored logs"

root@kitploit:~
#### <a name='generating_sig'>10. Modo de geração de dados de assinatura/treino</a>.```
root@kali:~/GyoiThon# python3 gyoithon.py -d --category=CMS --vendor=joomla! [email protected]@_origin.tar.zip

Ao adicionar a opção -d, o GyoiThon gera assinaturas/dados de treinamento para detectar produtos Web operados no servidor Web alvo.
As opções são as seguintes.

Verificar relatório.

Após a conclusão da execução do GyoiThon, relatórios de cada alvo são gerados no seguinte caminho.``` root@kali:~/GyoiThon/report# ls gyoithon_report_192.168.220.129_80_1082018338.csv gyoithon_report_192.168.220.129_80_bodgeit.csv gyoithon_report_192.168.220.129_80_cyclone.csv gyoithon_report_192.168.220.129_80_vicnum.csv gyoithon_report_192.168.220.129_80_WackoPicko.csv gyoithon_censys_report_www.gyoithon.example.com_443_test.csv

root@kitploit:~
GyoiThon gera os seguintes dois tipos de relatório.  

 * `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Este é o relatório principal que inclui principalmente nome do produto, versão, CVE, etc.  
 O formato do relatório é `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Os detalhes de cada coluna são os seguintes.  

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN do servidor web alvo.|`www.gyoithon.example.com`|
|ip_addr|Endereço IP do servidor web alvo.|`192.168.220.129`|
|port|Número da porta do servidor web alvo.|`80`|
|cloud_type|Nome do serviço cloud (Azure ou AWS ou GCP ou Desconhecido).|`AWS`|
|method|Método de exame do GyoiThon.|`Crawling`|
|url|URL acedida.|`http://192.168.220.129:80/WackoPicko/admin/index.php?page=login`|
|vendor_name|Nome do fornecedor dos produtos identificados.|`apache`|
|prod_name|Produtos identificados.|`http_server`|
|prod_version|Versão dos produtos identificados.|`2.2.14`|
|prod_trigger|Gatilho dos produtos identificados.|`Apache/2.2.14`|
|prod_type|Categoria do produto (Web, CMS, Framework, etc.).|`Web`|
|prod_vuln|Número CVE de acordo com os produtos identificados (descrição da pontuação CVSS).|`CVE-2017-3167, CVE-2017-3169, CVE-2017-7668` ...|
|origin_login|Página de login existe ou não (Log: Análise usando Machine Learning, Url: Análise usando correspondência de padrões de string na URL).|`Log : 37.5 %\nUrl : 100.0 %`|
|origin_login_trigger|Gatilho da página de login identificada.|`Log : name",<input type="password"\nUrl : login`|
|wrong_comment|Comentários desnecessários identificados.|`パスワードは「password1234」です。`|
|error_msg|Mensagens de depuração desnecessárias identificadas.|`Warning: mysql_connect() ..snip.. in auth.php on line 38`|
|server_header|Cabeçalho do servidor da resposta HTTP.|`Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2`|
|log|Caminho dos dados brutos.|`/usr/home/~snip~/http_192.168.220.129_80_20181112170525765.log`|
|date|Data do exame.|`2018/11/12  17:05:25`|

 * `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Este é o relatório de resultados de pesquisa usando Censys que inclui portas abertas, informações de certificação, etc.  
 O formato do relatório é `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Os detalhes de cada coluna são os seguintes.  

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN do servidor web alvo.|`www.gyoithon.example.com`|
|ip_addr|Endereço IP do servidor web alvo.|`192.168.220.129`|
|category|Categoria da informação.|`Server Info` or `Certification Info`|
|open_port|Porta web aberta.|`443`|
|protocol|Protocolo da porta web aberta.|`https`|
|sig_algorithm|Algoritmo de assinatura da certificação.|`SHA256-RSA`|
|cname|Nome comum da certificação.|`www.gyoithon.example.com`|
|valid_start|Data de início de validade da certificação.|`2018-08-15T00:00:00Z`|
|valid_end|Data de fim de validade da certificação.|`2019-09-16T12:00:00Z`|
|organization|Nome da organização da certificação.|`GyoiThon coorporation, Inc.`|
|date|Data do exame.|`2018/11/22  11:19:36`|

| Note |
|:-----|
| Porque o Censys precisa de vários dias a várias semanas para pesquisar toda a Internet, as informações obtidas do Censys podem não estar atualizadas.|

## <a name='Tips'>Dicas</a>
### 1. Como adicionar manualmente uma nova assinatura (padrões de correspondência de strings).  
O caminho `signatures` inclui os seguintes arquivos.```
root@kali:~/GyoiThon/signatures/ ls
signature_product.txt
signature_default_content.txt
signature_search_query.txt
signature_comment.txt
signature_error.txt
signature_page_type_from_url.txt

signature_product.txt

Isto são padrões de correspondência de strings para identificação do produto no modo padrão.
Se você quiser adicionar um novo padrão de correspondência de strings, você deve escrevê-lo no seguinte formato.``` Format: field1@field2@field3@field4@field5

root@kitploit:~
|Tipo|Campo#|Descrição|Exemplo|
|:---|:---|:---|:---|
|Obrigatório|1|Categoria do produto.|`CMS`|
|Obrigatório|2|Nome do fornecedor.|`drupal`|
|Obrigatório|3|Nome do produto.|`drupal`|
|Opcional|4|Versão associada a esta assinatura.|`8.0`|
|Obrigatório|5|Regex de identificação do produto.|`.*(X-Generator: Drupal 8).*`|

Se não precisar do campo opcional, deve definir `*` para este campo.  

* Exemplo```
CMS@wordpress@wordpress@*@.*(WordPress ([0-9]+[\.0-9]*[\.0-9]*)).*
CMS@drupal@[email protected]@.*(X-Generator: Drupal 8).*
Nota
Se você quiser extrair a versão do produto, escreva dois grupos de regex (o segundo regex é usado para extração da versão).

signature_default_content.txt

Estes são os padrões de correspondência de strings para identificação do produto no Modo de exploração de conteúdos padrão.
Se você quiser adicionar um novo padrão de correspondência de strings, deve escrevê-lo no seguinte formato.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Tipo|Campo#|Descrição|Exemplo|
|:---|:---|:---|:---|
|Obrigatório|1|Categoria do Produto.|`CMS`|
|Obrigatório|2|Nome do fornecedor.|`sixapart`|
|Obrigatório|3|Nome do produto.|`movabletype`|
|Opcional|4|Versão vinculada a esta assinatura.|`*` |
|Obrigatório|5|Caminho de exploração|`/readme.html`|
|Opcional|6|Regex para confirmar produto.|`.*(Movable Type).*`|
|Opcional|7|Regex para identificar versão.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Obrigatório|8|Página de login ou não.|Página de login é `1`, não é página de login é `0`|

Se não precisar de campo opcional, você deve definir `*` para este campo.  

* Exemplo```
Web@apache@http_server@*@/server-status@*@Version:.*(Apache/([0-9]+[\.0-9]*[\.0-9]*))@0
CMS@sixapart@movabletype@*@/readme.html@.*(Movable Type).*@(v=([0-9]+[\.0-9]*[\.0-9]*))@0
Nota
Se deseja extrair a versão do produto, escreva dois grupos de regex (o segundo regex é usado para extração da versão).
Nota
Se o GyoiThon não puder confirmar o produto apenas com Explorar caminho, você precisa indicar o campo Regex de confirmação do produto. O GyoiThon acessa a URL do Explorar caminho e examina a resposta HTTP usando o Regex de confirmação do produto. Se esse regex corresponder, o GyoiThon considera que o produto existe.

signature_search_query.txt

Esta é a consulta do Google Custom Search para identificação do produto no modo Google Hacking.
Se desejar adicionar uma nova consulta, você deve escrevê-la no seguinte formato.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Tipo|Campo#|Descrição|Exemplo|
|:---|:---|:---|:---|
|Opcional|1|Categoria do Produto.|`CMS`|
|Opcional|2|Nome do fornecedor.|`sixapart`|
|Opcional|3|Nome do produto.|`movabletype`|
|Opcional|4|Versão vinculada a esta assinatura.|`*` |
|Obrigatório|5|Consulta do Google Custom Search|`inurl:/readme.html`|
|Opcional|6|Regex para confirmar o produto.|`.*(Movable Type).*`|
|Opcional|7|Regex para identificar a versão.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Opcional|8|Página de login ou não.|Página de login é `1`, Não é página de login é `0`|

Se você não precisar de um campo opcional, defina `*` neste campo.  

* Exemplo```
Web@apache@http_server@*@inurl:/server-status@*@Version:.*(Apache/([0-9]+[\.0-9]*[\.0-9]*))@0
CMS@sixapart@movabletype@*@inurl:/readme.html@.*(Movable Type).*@(v=([0-9]+[\.0-9]*[\.0-9]*))@0
*@*@*@*@filetype:bak@*@*@0
Nota
Se você quiser extrair a versão do produto, escreva dois grupos de regex (o segundo regex é usado para extração de versão).
Nota
Se o GyoiThon não puder confirmar o produto apenas com a Google Custom Search query, você precisa indicar o campo Regex of to confirm product. O GyoiThon acessa a URL incluída no resultado da execução da API Google Custom Search e examina a resposta HTTP usando Regex of to confirm product. Se esse regex corresponder, o GyoiThon considera que o produto existe.

signature_comment.txt

Estes são padrões de correspondência de strings para identificação de comentários desnecessários no modo padrão.
Se você quiser adicionar um novo padrão de correspondência de strings, deve escrevê-lo no seguinte formato.``` Format: field1

root@kitploit:~
|Tipo|Campo#|Descrição|
|:---|:---|:---|
|Obrigatório|1|Regex de comentário desnecessário.|

* Exemplo```
(user\s*=|[\"']user[\"']\s*:|user_id\s*=|[\"']user_id[\"']\s*:|id\s*=|[\"']id[\"']\s*:)
(select\s+[\s\r\n\w\d,\"']*\s+from)

signature_error.txt

Estes são padrões de correspondência de strings para identificação de mensagens de depuração desnecessárias no modo padrão.
Se você quiser adicionar um novo padrão de correspondência de strings, você deve escrevê-lo no seguinte formato.``` Format: field1

root@kitploit:~
|Tipo|Campo#|Descrição|
|:---|:---|:---|
|Obrigatório|1|Expressão regular de mensagem de depuração desnecessária.|

* Exemplo```
(ORA-[0-9a-zA-Z\.])
(fail|error|notice|parse|warning|fatal)[^\n]*line[^\n]*[0-9]+

signature_page_type_from_url.txt

Este contém padrões de correspondência de strings para identificação baseada em URL do tipo de página no modo padrão.
Se você deseja adicionar um novo padrão de correspondência de strings, deve escrevê-lo no seguinte formato.``` Format: field1@field2

root@kitploit:~
|Type|Campo#|Descrição|
|:---|:---|:---|
|Obrigatório|1|Tipo de página.|
|Obrigatório|2|Regex que identifica o tipo de página.|

* Exemplo```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
Nota
O nome do fornecedor e o nome do produto acima devem corresponder a um nome no formato CPE.

2. Como adicionar dados de treinamento manualmente.

O caminho modules/train_data/ inclui dois dados de treinamento para Aprendizado de Máquina.``` root@kali:~/GyoiThon/modules/train_data/ ls train_cms_in.txt train_page_type.txt

root@kitploit:~
#### `train_cms_in.txt`  
Estes são dados de treino para análise de Machine Learning no <a name='machine_learning_mode'>modo Machine Learning</a>.  
Se você quiser adicionar novos dados de treino, você deve escrevê-los no seguinte formato.```
Format: field1@field2@field3@field4

Se você não precisar do campo opcional, deve definir * para este campo.

  • Exemplo``` joomla@joomla!@@(Set-Cookie: [a-z0-9]{32}=.); joomla@joomla!@@(Set-Cookie: .=[a-z0-9]{26,32}); heartcore@heartcore@@(Set-Cookie:.=[A-Z0-9]{32});.* heartcore@heartcore@@(<meta name=["']author["'] content=["']{2}).
root@kitploit:~
|Nota|
|:---|
|Acima, o nome do fornecedor e o nome do produto devem corresponder a um nome no [formato CPE](https://en.wikipedia.org/wiki/Common_Platform_Enumeration).|

#### `train_page_type.txt`  
Estes são dados de treino para identificar o tipo de página usando Machine Learning em <a name='default_mode'>modo padrão</a>.  
Se você quiser adicionar novos dados de treino, deve escrevê-los no seguinte formato.```
Format: field1@field2
TipoCampo#Descrição
Obrigatório1Categoria.
Obrigatório2Característica da página expressa por regex.
  • Exemplo``` Login@.*(<input.type=["']text["'].name=["']user|uid|username|user_name|name["']).> Login@.(<input.type=["']password["']).>
root@kitploit:~
### 3. Como alterar as "opções do módulo de exploit".
Quando o GyoiThon explora, ele usa o **valor padrão** das opções do módulo de exploit.  
Se você quiser alterar os valores das opções, insira qualquer valor em `"user_specify"` no `exploit_tree.json`, conforme a seguir.```
root@kali:~/GyoiThon/modules/data/ ls
exploit_tree.json
root@kali:~/GyoiThon/modules/data/ vim exploit_tree.json

...snip...

"unix/webapp/joomla_media_upload_exec": {
    "targets": {
        "0": [
            "generic/custom",
            "generic/shell_bind_tcp",
            "generic/shell_reverse_tcp",

...snip...

        "TARGETURI": {
            "type": "string",
            "required": true,
            "advanced": false,
            "evasion": false,
            "desc": "The base path to Joomla",
            "default": "/joomla",
            "user_specify": "/my_original_dir/"
        },

O exemplo acima é para alterar o valor da opção TARGETURI no módulo de exploit "exploit/unix/webapp/joomla_media_upload_exec" para "/my_original_dir/" a partir de "/joomla".

4. Como acessar através de servidor proxy.

O GyoiThon pode acessar o servidor alvo através de um servidor proxy.
Se deseja usar um servidor proxy, informe as informações do servidor proxy no config.ini.

Nota
Atualmente, o GyoiThon implementa apenas Autenticação Básica.

Ambiente de verificação de operação

  • Kali Linux 2018.2 (para Metasploit)
    • CPU: Intel(R) Core(TM) i5-5200U 2.20GHz
    • Memória: 8.0GB
    • Metasploit Framework 4.16.48-dev
    • Python 3.6.6

Licença

Apache License 2.0

Contato

[email protected]

  • Masafumi Masuya
    https://twitter.com/gyoizamurai
  • Toshitsugu Yoneyama
    https://twitter.com/yoneyoneyo
  • Isao Takaesu
    https://twitter.com/bbr_bbq
Baixar ferramenta
ÍndiceDomínioSubdomínioEndereço IPStatus de Acesso (http)Localização (http)Status de Acesso (https)Localização (https)Registros Whois
1mbsd.jpmbsd.jp['40.115.251.148']301https://www.mbsd.jp/301https://www.mbsd.jp/***
2mbsd.jpwww.mbsd.jp['40.115.251.148']301https://www.mbsd.jp/200--
3mbsd.jpwww2.mbsd.jp['40.115.251.148']301https://www.mbsd.jp/200--
CategoriaParâmetroDescrição
Spiderdepth_limitProfundidade máxima de rastreamento. Valor padrão é camada 2.
delay_timeTempo de atraso do rastreamento. Valor padrão é 3 (seg).
time_outOpção de fecho do Spider. Timeout do rastreamento. Valor padrão é 600 (seg).
item_countOpção de fecho do Spider. Itens máximos. Valor padrão é 300.
page_countOpção de fecho do Spider. Itens máximos por página. Valor padrão é 0 (sem limite).
error_countOpção de fecho do Spider. Erros máximos. Valor padrão é 0 (sem limite).
CategoriaParâmetroDescrição
Commonmax_target_urlNúmero máximo de URLs de exame. Se o número de URLs recolhidos pelo rastreamento Web exceder este valor de parâmetro, o excesso é descartado. Valor padrão é 100. 0 é ilimitado.
max_target_byteTamanho máximo de resposta de exame. Se o tamanho da resposta exceder este valor de parâmetro, o excesso é descartado. Valor padrão é 10000 bytes. 0 é ilimitado.
scrambleA lista de URLs recolhidos pelo rastreamento Web é ordenada aleatoriamente. Valor padrão é 1 (ativo). 0 é inativo.
CategoriaParâmetroDescrição
Exploitserver_hostEndereço IP alocado para o servidor RPC (msgrpc).
server_portNúmero de porta alocado para o servidor RPC (msgrpc).
msgrpc_userID de usuário para autorização do msgrpc.
msgrpc_passSenha para autorização do msgrpc.
LHOSTEndereço IP alocado para o servidor RPC (msgrpc).
OpçãoDescriçãoExemplo
--categoryCategoria do produto nos dados de assinatura/treinamento.OS or WEB or FRAMEWORK or CMS.
--vendorNome do fornecedor do produto nos dados de assinatura/treinamento.wordpress, joomla!, drupal.
--packageNome do arquivo do pacote alvo a ser importado. Você deve separar três campos: nome do produto, versão e extensão usando @.[email protected]@.tar.gz, [email protected]@_origin.tar.zip, [email protected]@.tar.gz.
TipoCampo#DescriçãoExemplo
Obrigatório1Nome do fornecedor.joomla
Obrigatório2Nome do produto.joomla\!
Opcional3Versão vinculada a estes dados de treinamento.*
Obrigatório4Característica do produto expressa por regex.(Set-Cookie: [a-z0-9]{32}=.*);
CategoriaParâmetroDescrição
ComumproxyInformações do servidor proxy. O formato é scheme://hostname:port (ex: http://proxy-example:8083).
proxy_userSe precisar de autenticação proxy, informe o usuário de autenticação.
proxy_passSe precisar de autenticação proxy, informe a senha de autenticação.