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

Página em japonês está aqui.
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. |
domain_list.csv da seguinte forma: ```
"Domain Name"
mbsd.jpE 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.
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**.

| 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
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
config.ini.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.
### 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/
| 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.
Scrapy, biblioteca Python.config.ini, pode modificar a configuração do Scrapy.config.ini, pode ajustar a velocidade de exame.| Nota |
|---|
| A velocidade e a precisão do exame são um trade-off. |
root@kali:~/GyoiThon# python3 gyoithon.py -s
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
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
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.
| Category | Parameter | Description |
|---|---|---|
| ContentExplorer | delay_time | Tempo 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. |
root@kali:~/GyoiThon# python3 gyoithon.py -c
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. |
root@kali:~/GyoiThon# python3 gyoithon.py -l --log_path="Full path of stored logs"
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
root@kali:~/GyoiThon# python3 gyoithon.py -s -g
##### 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
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g -e -c -p -l --log_path="Full path of stored logs"
#### <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.
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
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.txtIsto 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
|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.txtEstes 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
|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.txtEsta é 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
|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.txtEstes 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
|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.txtEstes 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
|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.txtEste 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
|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. |
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
#### `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.
|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
| Tipo | Campo# | Descrição |
|---|---|---|
| Obrigatório | 1 | Categoria. |
| Obrigatório | 2 | Característica da página expressa por regex. |
### 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".
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. |
| Índice | Domínio | Subdomínio | Endereço IP | Status de Acesso (http) | Localização (http) | Status de Acesso (https) | Localização (https) | Registros Whois |
|---|
| 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 | - | - |
| Categoria | Parâmetro | Descrição |
|---|
| Spider | depth_limit | Profundidade máxima de rastreamento. Valor padrão é camada 2. |
| delay_time | Tempo de atraso do rastreamento. Valor padrão é 3 (seg). | |
| time_out | Opção de fecho do Spider. Timeout do rastreamento. Valor padrão é 600 (seg). | |
| item_count | Opção de fecho do Spider. Itens máximos. Valor padrão é 300. | |
| page_count | Opção de fecho do Spider. Itens máximos por página. Valor padrão é 0 (sem limite). | |
| error_count | Opção de fecho do Spider. Erros máximos. Valor padrão é 0 (sem limite). |
| Categoria | Parâmetro | Descrição |
|---|
| Common | max_target_url | Nú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_byte | Tamanho 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. | |
| scramble | A lista de URLs recolhidos pelo rastreamento Web é ordenada aleatoriamente. Valor padrão é 1 (ativo). 0 é inativo. |
| Categoria | Parâmetro | Descrição |
|---|
| Exploit | server_host | Endereço IP alocado para o servidor RPC (msgrpc). |
| server_port | Número de porta alocado para o servidor RPC (msgrpc). | |
| msgrpc_user | ID de usuário para autorização do msgrpc. | |
| msgrpc_pass | Senha para autorização do msgrpc. | |
| LHOST | Endereço IP alocado para o servidor RPC (msgrpc). |
| Opção | Descrição | Exemplo |
|---|
| --category | Categoria do produto nos dados de assinatura/treinamento. | OS or WEB or FRAMEWORK or CMS. |
| --vendor | Nome do fornecedor do produto nos dados de assinatura/treinamento. | wordpress, joomla!, drupal. |
| --package | Nome 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. |
| Tipo | Campo# | Descrição | Exemplo |
|---|
| Obrigatório | 1 | Nome do fornecedor. | joomla |
| Obrigatório | 2 | Nome do produto. | joomla\! |
| Opcional | 3 | Versão vinculada a estes dados de treinamento. | * |
| Obrigatório | 4 | Característica do produto expressa por regex. | (Set-Cookie: [a-z0-9]{32}=.*); |
| Categoria | Parâmetro | Descrição |
|---|
| Comum | proxy | Informações do servidor proxy. O formato é scheme://hostname:port (ex: http://proxy-example:8083). |
| proxy_user | Se precisar de autenticação proxy, informe o usuário de autenticação. | |
| proxy_pass | Se precisar de autenticação proxy, informe a senha de autenticação. |