Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
GyoiThon — GyoiThon è un crescente strumento di penetration test che utilizza il Machine Learning. | Kitploit
Strumenti/GitHubGitHub/gyoisamurai/gyoithon
RicognizioneScanner di VulnerabilitàFramework di ExploitRaccolta InformazioniSicurezza WebPenetration TestingMachine LearningEnumerazione Sottodomini
GitHubgyoisamurai/gyoithon

GyoiThon

GyoiThon è un crescente strumento di penetration test che utilizza il Machine Learning.

Vedi Repository
8263035 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

GyoiThon: Strumento di penetration test di nuova generazione

Black Hat ASIA Arsenal 2018 Black Hat ASIA Arsenal 2019

La pagina in giapponese è qui.

Presentazioni

  • 25 gennaio 2018:JANOG41
  • 23 marzo 2018:Black Hat ASIA 2018 Arsenal
  • 12 agosto 2018:DEFCON26 DemoLabs
  • 24 ottobre 2018:OWS in CSS2018
  • 3 novembre 2018:AV TOKYO 2018 HIVE
  • 22-23 dicembre 2018:SECCON YOROZU 2018
  • 28 marzo 2019:Black Hat ASIA 2019 Arsenal

Documenti

  • Installazione
  • Utilizzo
  • Suggerimenti
  • Dimostrazione (Youtube)

Slack

  • https://gyoithon.slack.com
    Unisciti a GyoiThon Slack!!

Nuova funzione!!

Il nuovo GyoiThon (versione 0.0.4) può elencare i tuoi sottodomini esposti su internet. E se il sottodominio è pubblicato come servizio Web, GyoiThon esegue un health check (una valutazione di vulnerabilità non distruttiva).

Nota
La nuova funzione utilizza un'API Google Custom Search. Quindi se utilizzi la nuova funzione, devi preparare una chiave API di Google Custom Search.
  • es.) Elencare i tuoi sottodomini.
    Prima, devi preparare il file domain_list.csv come segue: ``` "Domain Name" mbsd.jp
root@kitploit:~
E si esegue il comando seguente. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list

Di conseguenza, ottieni un elenco di sottodomini associati al dominio specificato.

  • es) Elencare i tuoi sottodomini ed eseguire un health check.
    GyoiThon esegue un elenco dei tuoi sottodomini e se il sottodominio è pubblicato come servizio web (con porta 80 o 443 aperta), allora GyoiThon esegue un health check che è una valutazione di vulnerabilità non distruttiva.``` root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list --through_health_check --safety
root@kitploit:~
Di conseguenza, ottieni un elenco di sottodomini e un rapporto di valutazione.  
|Indice|Dominio|Sottodominio|Indirizzo IP|Stato accesso (http)|Posizione (http)|Stato accesso (https)|Posizione (https)|Record Whois|Risultati valutazione|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|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|-|-|***|

## Overview
GyoiThon è uno **strumento di raccolta informazioni** per server web.  

GyoiThon esegue **accesso remoto** al server web target e **identifica il prodotto operativo sul server** come CMS, software del server web, framework, linguaggio di programmazione, ecc. Inoltre, può **eseguire moduli di exploit** sui prodotti identificati utilizzando Metasploit. GyoiThon **esegue completamente in automatico** l'azione sopra descritta.  

Le caratteristiche principali di GyoiThon sono le seguenti.  

 * Accesso remoto/Completamente automatico  
 GyoiThon può **completamente in automatico** raccogliere le informazioni del server web target utilizzando solo **accesso remoto**. Devi eseguire GyoiThon una sola volta per la tua operazione.  

 * Test non distruttivo  
 GyoiThon può raccogliere informazioni del server web target utilizzando **solo accesso normale**.  
 Ma, quando utilizzi una parte delle opzioni, GyoiThon esegue accessi anomali, come l'invio di moduli di exploit.  

 * Raccolta di varie informazioni  
 GyoiThon dispone di vari motori di raccolta informazioni come Web crawler, Google Custom Search API, Censys, esploratore di contenuti predefiniti, esame dei servizi cloud, ecc. Analizzando le informazioni raccolte tramite **corrispondenza di pattern di stringhe** e **apprendimento automatico**, GyoiThon può identificare **prodotto/versione/numero CVE** operativi sul server web target, **commenti HTML non necessari**/**messaggi di debug**, **pagina di login** ecc.  

 * Esame delle vulnerabilità reali  
 GyoiThon può eseguire moduli di exploit sui prodotti identificati utilizzando Metasploit.  
 Di conseguenza, può **esaminare le vulnerabilità reali del server web target**.  

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

| Nota |
|:-----|
| Se sei interessato, **per favore usali in un ambiente sotto il tuo controllo e a tuo rischio**. |

## <a name='Installation'>Installazione</a>
1. git clone del repository di GyoiThon.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
  1. Installa python3-pip.``` root@kali:# apt-get update root@kali:# apt-get install python3-pip
root@kitploit:~
3. installa i pacchetti Python necessari.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
  1. Modifica config.ini di GyoiThon.
    Devi modificare il tuo config.ini.
    Maggiori informazioni sono in Usage.

Usage

Utilizzando default mode senza opzioni e combinazione di diverse opzioni, GyoiThon può raccogliere varie informazioni sul server web target.``` 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:~
### Preparazione.  
1. Modifica il file di destinazione `host.txt`.  
Devi scrivere il web server di destinazione nel file `host.txt`.  
Il formato di scrittura è `protocol FQDN(or IP address) Port Crawling_root_path`.  

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

Se vuoi indicare più informazioni di destinazione, devi scrivere qui sotto.``` https gyoithon.example.com 443 / http 192.168.220.129 80 /vicnum/ https www.example.com 443 /catalog/

root@kitploit:~
| Nota |
|:-----|
| Inserisci `/` all'inizio e alla fine di Root Path. |

2. Modifica il file di configurazione `config.ini`.  
I parametri da modificare dall'utente sono definiti nel file di impostazione `config.ini`.  
Se desideri modificare i parametri, modifica `config.ini`.  
I dettagli di `config.ini` sono [qui](https://github.com/gyoisamurai/GyoiThon/wiki/Configure).  

### Esecuzione di GyoiThon.  
#### <a name='default_mode'>1. Modalità predefinita.</a>```
root@kali:~/GyoiThon# python3 gyoithon.py

La modalità predefinita raccoglie le seguenti informazioni minime.

  1. Raccolta delle risposte HTTP tramite Web crawling.
  2. Identificazione del prodotto/versione tramite corrispondenza di pattern di stringhe.
  3. Esame dei numeri CVE (da NVD) per i prodotti identificati.
  4. Esame dei commenti HTML/JavaScript non necessari.
  5. Esame dei messaggi di debug non necessari.
  6. Esame delle pagine di login.
  • Impostazione di crawling
    GyoiThon utilizza Scrapy che è una libreria Python.
    Modificando i parametri in config.ini, è possibile cambiare le impostazioni di Scrapy.
  • Impostazione della velocità di esame
    Il numero di esami e la dimensione delle risposte HTTP influenzano notevolmente i tempi di esame.
    Modificando i parametri in config.ini, è possibile regolare la velocità di esame.
Nota
La velocità di esame e l'accuratezza sono in compromesso.

2. Modalità di esame dei servizi cloud.```

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

root@kitploit:~
Aggiungendo l'opzione `-s`, GyoiThon identifica se il server web di destinazione utilizza un servizio cloud o meno, in aggiunta alla modalità predefinita.  
Prima dell'esecuzione, è necessario modificare il seguente parametro di `config.ini`.  

|Categoria|Parametro|Descrizione|
|:----|:----|:----|
|CloudChecker|azure_ip_range|URL di origine degli intervalli IP del datacenter Azure. |

Questo parametro è l'URL di origine degli intervalli IP del datacenter Azure. Questo URL cambia alcune volte al giorno. Quindi, è necessario ottenere l'URL più recente dal link "click here to download manually" della pagina "[Microsoft Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)" e impostarlo nel parametro sopra prima di eseguire GyoiThon.  

#### 3. Modalità di analisi Machine Learning.```
root@kali:~/GyoiThon# python3 gyoithon.py -m

Aggiungendo l'opzione -m, GyoiThon identifica i prodotti/versioni utilizzando il Machine Learning (Naive Bayes) in aggiunta alla modalità predefinita.

4. Modalità Google Hacking.```

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

root@kitploit:~
Aggiungendo l'opzione `-g`, GyoiThon identifica prodotti/versioni utilizzando l'API Google Custom Search in aggiunta alla modalità predefinita. Prima dell'esecuzione, è necessario impostare [API key](https://console.cloud.google.com/apis/dashboard) e [Search engine ID](https://support.google.com/customsearch/answer/2649143?hl=ja) nei seguenti parametri.  

|Categoria|Parametro|Descrizione|
|:----|:----|:----|
|GoogleHack|api_key|Chiave API di Google Custom Search API. |
||search_engine_id|ID del motore di ricerca Google. |

| Nota |
|:-----|
| Puoi utilizzare gratuitamente l'API Google Custom Search con 100 query al giorno. Tuttavia, se desideri utilizzare più di 100 query, devi pagare per il servizio Google Custom Search API. |

#### 5. Esplorazione della modalità contenuti predefinita.```
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.

CategoriaParametroDescrizione
ContentExplorerdelay_timeTempo di attesa dell'esplorazione. Il valore predefinito è 1 (sec).
Nota
Quando si utilizza questa opzione, il server potrebbe subire un carico pesante a causa dei numerosi accessi (centinaia di accessi) eseguiti da GyoiThon contro il server web target. Inoltre, numerosi log di errore 404 vengono scritti nei log di accesso, il che potrebbe essere rilevato dal SOC (Security Operation Center). Pertanto, se si utilizza questa opzione, si prega di avvisare le persone interessate come SOC, amministratori e utilizzarle in un ambiente sotto il proprio controllo e a proprio rischio.

6. Modalità di cooperazione Censys.```

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

root@kitploit:~
Aggiungendo l'opzione `-c`, GyoiThon esamina il numero di porta aperta e la certificazione del server utilizzando [Censys](https://censys.io/).  
Prima dell'esecuzione, è necessario impostare la chiave API e la chiave segreta nei seguenti parametri.  

|Categoria|Parametro|Descrizione|
|:----|:----|:----|
|Censys|api_id|Chiave API di Censys. |
||secret|Chiave segreta di Censys. |

#### 7. Modalità di cooperazione Metasploit.```
root@kali:~/GyoiThon# python3 gyoithon.py -p

Aggiungendo l'opzione -p, GyoiThon esamina le vulnerabilità reali come DoS e backdoor utilizzando Metasploit in aggiunta alla modalità predefinita.
Prima dell'esecuzione, è necessario avviare il server RPC di Metasploit e impostare i seguenti parametri in config.ini.

Nota
Quando si utilizza questa opzione, il funzionamento del server potrebbe essere fortemente influenzato perché GyoiThon esegue l'exploit contro il server web di destinazione. Inoltre, questa opzione potrebbe essere rilevata dal SOC (Security Operation Center) perché gli exploit sono simili ad attacchi reali. Quindi, se si utilizza questa opzione, si prega di informare le persone interessate come il SOC, l'amministratore e di utilizzarle in un ambiente sotto il proprio controllo e a proprio rischio e pericolo.

8. Modalità di analisi basata sui log memorizzati.```

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

root@kitploit:~
By add `-l` option, GyoiThon esegue vari esami utilizzando risposte HTTP memorizzate senza web crawling.

Questa modalità presuppone l'applicazione web per cui GyoiThon non può eseguire web crawling.
GyoiThon può eseguire vari esami simili al web crawling della modalità predefinita utilizzando risposte HTTP memorizzate raccolte da un proxy locale.

| Note |
|:-----|
| L'estensione del file di log è `.log`. |

#### <a name='complex_mode'>9. Combinazione di molteplici opzioni</a>.  
##### Combinazione della "modalità di esame dei servizi cloud" e della "modalità di analisi Machine Learning".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m

Combinazione di "Modalità esame dei servizi cloud" e "Modalità Google Hacking".``` root@kali:~/GyoiThon# python3 gyoithon.py -s -g

root@kitploit:~
##### Combinazione di "Esame della modalità dei servizi cloud", "Modalità di analisi Machine Learning" e "Modalità Google Hacking".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g
Tutte le opzioni.```

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. Modalità di generazione della firma/dei dati di training</a>.```
root@kali:~/GyoiThon# python3 gyoithon.py -d --category=CMS --vendor=joomla! [email protected]@_origin.tar.zip

Aggiungendo l'opzione -d, GyoiThon genera firme/dati di addestramento per rilevare i prodotti Web operanti sul server Web target.
Le opzioni sono le seguenti.

Controlla il report.

Dopo il completamento dell'esecuzione di GyoiThon, i report di ogni target vengono generati nel percorso seguente.``` 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 genera i seguenti due tipi di report.  

 * `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Questo è il report principale che include principalmente nome del prodotto, versione, CVE, ecc.  
 Il formato del report è `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 I dettagli di ciascuna colonna sono i seguenti.  

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN del server web di destinazione.|`www.gyoithon.example.com`|
|ip_addr|Indirizzo IP del server web di destinazione.|`192.168.220.129`|
|port|Numero di porta del server web di destinazione.|`80`|
|cloud_type|Nome del servizio cloud (Azure o AWS o GCP o Sconosciuto).|`AWS`|
|method|Modalità di esame di GyoiThon.|`Crawling`|
|url|URL visitato.|`http://192.168.220.129:80/WackoPicko/admin/index.php?page=login`|
|vendor_name|Nome del fornitore dei prodotti identificati.|`apache`|
|prod_name|Prodotti identificati.|`http_server`|
|prod_version|Versione dei prodotti identificati.|`2.2.14`|
|prod_trigger|Trigger dei prodotti identificati.|`Apache/2.2.14`|
|prod_type|Categoria del prodotto (Web o CMS o Framework, ecc.).|`Web`|
|prod_vuln|Numero CVE secondo i prodotti identificati (punteggio CVSS desc).|`CVE-2017-3167, CVE-2017-3169, CVE-2017-7668` ...|
|origin_login|Pagina di login presente o meno (Log: Analisi tramite Machine Leaerning, Url: Analisi tramite pattern matching di stringhe nell'URL).|`Log : 37.5 %\nUrl : 100.0 %`|
|origin_login_trigger|Trigger della pagina di login identificata.|`Log : name",<input type="password"\nUrl : login`|
|wrong_comment|Commenti superflui identificati.|`パスワードは「password1234」です。`|
|error_msg|Messaggi di debug superflui identificati.|`Warning: mysql_connect() ..snip.. in auth.php on line 38`|
|server_header|Intestazione Server della risposta HTTP.|`Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2`|
|log|Percorso dei dati grezzi.|`/usr/home/~snip~/http_192.168.220.129_80_20181112170525765.log`|
|date|Data dell'esame.|`2018/11/12  17:05:25`|

 * `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Questo è il report dei risultati di ricerca utilizzando Censys che include porte aperte, informazioni sui certificati, ecc.  
 Il formato del report è `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 I dettagli di ciascuna colonna sono i seguenti.  

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN del server web di destinazione.|`www.gyoithon.example.com`|
|ip_addr|Indirizzo IP del server web di destinazione.|`192.168.220.129`|
|category|Categoria delle informazioni.|`Server Info` o `Certification Info`|
|open_port|Porta web aperta.|`443`|
|protocol|Protocollo della porta web aperta.|`https`|
|sig_algorithm|Algoritmo di firma del certificato.|`SHA256-RSA`|
|cname|Nome comune del certificato.|`www.gyoithon.example.com`|
|valid_start|Data di inizio validità del certificato.|`2018-08-15T00:00:00Z`|
|valid_end|Data di fine validità del certificato.|`2019-09-16T12:00:00Z`|
|organization|Nome dell'organizzazione del certificato.|`GyoiThon coorporation, Inc.`|
|date|Data dell'esame.|`2018/11/22  11:19:36`|

| Nota |
|:-----|
| Poiché Censys necessita da diversi giorni a diverse settimane per esaminare l'intero Internet, le informazioni ottenute da Censys potrebbero non essere aggiornate.|

## <a name='Tips'>Consigli</a>
### 1. Come aggiungere manualmente una nuova firma (pattern di corrispondenza stringa).  
Il percorso `signatures` include i seguenti file.```
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

Questo è il pattern di corrispondenza delle stringhe per l'identificazione del prodotto in modalità predefinita.
Se vuoi aggiungere un nuovo pattern di corrispondenza delle stringhe, devi scriverlo nel formato seguente.``` Format: field1@field2@field3@field4@field5

root@kitploit:~
|Type|Field#|Description|Example|
|:---|:---|:---|:---|
|Required|1|Categoria del prodotto.|`CMS`|
|Required|2|Nome del fornitore.|`drupal`|
|Required|3|Nome del prodotto.|`drupal`|
|Optional|4|Versione associata a questa firma.|`8.0` |
|Required|5|Regex per identificare il prodotto.|`.*(X-Generator: Drupal 8).*`|

Se non è necessario il campo opzionale, impostare `*` in questo campo.  * Esempio```
CMS@wordpress@wordpress@*@.*(WordPress ([0-9]+[\.0-9]*[\.0-9]*)).*
CMS@drupal@[email protected]@.*(X-Generator: Drupal 8).*
Nota
Se si desidera estrarre la versione del prodotto, scrivere due gruppi regex (il secondo regex viene utilizzato per l'estrazione della versione).

signature_default_content.txt

Questi sono pattern di corrispondenza delle stringhe per l'identificazione del prodotto nella Esplorazione della modalità contenuti predefiniti.
Se si desidera aggiungere un nuovo pattern di corrispondenza delle stringhe, è necessario scriverlo nel seguente formato.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Tipo|Campo#|Descrizione|Esempio|
|:---|:---|:---|:---|
|Richiesto|1|Categoria del prodotto.|`CMS`|
|Richiesto|2|Nome del venditore.|`sixapart`|
|Richiesto|3|Nome del prodotto.|`movabletype`|
|Opzionale|4|Versione associata a questa firma.|`*`|
|Richiesto|5|Percorso di esplorazione|`/readme.html`|
|Opzionale|6|Regex per confermare il prodotto.|`.*(Movable Type).*`|
|Opzionale|7|Regex per identificare la versione.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Richiesto|8|Pagina di login o no.|Pagina di login è `1`, Pagina non di login è `0`|

Se non hai bisogno di un campo opzionale, devi impostare `*` per questo campo.  

* Esempio```
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
Note
Se si desidera estrarre la versione del prodotto, scrivere due gruppi regex (il secondo regex viene utilizzato per l'estrazione della versione).
Note
Se GyoiThon non riesce a confermare il prodotto solo con Explore path, è necessario indicare il campo Regex of to confirm product. GyoiThon accede all'URL di Explore path ed esamina la risposta HTTP utilizzando Regex of to confirm product. Se questo regex corrisponde, GyoiThon stabilisce che il prodotto esiste.

signature_search_query.txt

Questa è una query di Google Custom Search per l'identificazione del prodotto in modalità Google Hacking.
Se si desidera aggiungere una nuova query, è necessario scriverla nel formato seguente.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Tipo|Campo#|Descrizione|Esempio|
|:---|:---|:---|:---|
|Opzionale|1|Categoria del prodotto.|`CMS`|
|Opzionale|2|Nome del fornitore.|`sixapart`|
|Opzionale|3|Nome del prodotto.|`movabletype`|
|Opzionale|4|Versione associata a questa firma.|`*` |
|Obbligatorio|5|Query di ricerca personalizzata Google|`inurl:/readme.html`|
|Opzionale|6|Regex per confermare il prodotto.|`.*(Movable Type).*`|
|Opzionale|7|Regex per identificare la versione.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Opzionale|8|Pagina di login o meno.|Pagina di login è `1`, Pagina non di login è `0`|

Se non hai bisogno di un campo opzionale, devi impostare `*` su quel campo.  

* Esempio```
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 vuoi estrarre la versione del prodotto, scrivi due gruppi regex (il secondo regex viene utilizzato per l'estrazione della versione).
Nota
Se GyoiThon non può confermare il prodotto solo con la Google Custom Search query, devi indicare il campo Regex of to confirm product. GyoiThon accede all'URL incluso nel risultato di esecuzione dell'API Google Custom Search ed esamina la risposta HTTP utilizzando Regex of to confirm product. Se questo regex corrisponde, GyoiThon giudica che il prodotto esista.

signature_comment.txt

Questo è il pattern di corrispondenza delle stringhe per l'identificazione di commenti non necessari in modalità predefinita.
Se vuoi aggiungere un nuovo pattern di corrispondenza delle stringhe, devi scriverlo nel formato seguente.``` Format: field1

root@kitploit:~
|Tipo|Campo#|Descrizione|
|:---|:---|:---|
|Obbligatorio|1|Regex del commento non necessario.|

* Esempio```
(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

Questi sono i pattern di corrispondenza delle stringhe per l'identificazione di messaggi di debug non necessari in default mode.
Se si desidera aggiungere un nuovo pattern di corrispondenza delle stringhe, è necessario scriverlo nel formato seguente.``` Format: field1

root@kitploit:~
|Tipo|Campo#|Descrizione|
|:---|:---|:---|
|Obbligatorio|1|Regex del messaggio di debug non necessario.|

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

signature_page_type_from_url.txt

Si tratta di pattern di corrispondenza di stringhe per l'identificazione basata su URL del tipo di pagina in modalità predefinita.
Se si desidera aggiungere un nuovo pattern di corrispondenza di stringhe, è necessario scriverlo nel formato seguente.``` Format: field1@field2

root@kitploit:~
|Tipo|Campo#|Descrizione|
|:---|:---|:---|
|Obbligatorio|1|Tipo di pagina.|
|Obbligatorio|2|Regex per identificare il tipo di pagina.|

* Esempio```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
Nota
Il nome del fornitore e il nome del prodotto sopra devono corrispondere a un nome nel formato CPE.

2. Come aggiungere manualmente i dati di apprendimento.

Il percorso modules/train_data/ include due dati di addestramento per il Machine Learning.``` root@kali:~/GyoiThon/modules/train_data/ ls train_cms_in.txt train_page_type.txt

root@kitploit:~
#### `train_cms_in.txt`  
Questi sono dati di addestramento per l'analisi di Machine Learning in <a name='machine_learning_mode'>Modalità Machine Learning</a>.  
Se desideri aggiungere nuovi dati di addestramento, devi scriverli nel seguente formato.```
Format: field1@field2@field3@field4

Se non è necessario un campo opzionale, imposta * su questo campo.

  • Esempio``` 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:~
|Note|
|:---|
|Il nome del fornitore e il nome del prodotto sopra devono corrispondere a un nome nel [formato CPE](https://en.wikipedia.org/wiki/Common_Platform_Enumeration).|

#### `train_page_type.txt`  
Questi sono dati di addestramento per identificare il tipo di pagina utilizzando il Machine Learning in <a name='default_mode'>modalità predefinita</a>.  
Se si desidera aggiungere nuovi dati di addestramento, è necessario scriverli in questo formato.```
Format: field1@field2
TipoCampo#Descrizione
Obbligatorio1Categoria.
Obbligatorio2Caratteristica della pagina espressa tramite regex.
  • Esempio``` Login@.*(<input.type=["']text["'].name=["']user|uid|username|user_name|name["']).> Login@.(<input.type=["']password["']).>
root@kitploit:~
### 3. Come cambiare "l'opzione del modulo Exploit".
Quando GyoiThon sfrutta, utilizza il **valore predefinito** delle opzioni del modulo Exploit.  
Se si desidera cambiare i valori delle opzioni, inserire qualsiasi valore in `"user_specify"` in `exploit_tree.json` come segue.```
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/"
        },

L'esempio sopra è per cambiare il valore dell'opzione TARGETURI nel modulo exploit "exploit/unix/webapp/joomla_media_upload_exec" in "/my_original_dir/" da "/joomla".

4. Come accedere tramite server proxy.

GyoiThon può accedere al server di destinazione tramite server proxy.
Se desideri utilizzare un server proxy, inserisci le informazioni del server proxy in config.ini.

Nota
Attualmente, GyoiThon implementa solo l'Autenticazione di Base.

Ambiente di verifica del funzionamento

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

Licenza

Apache License 2.0

Contattaci

[email protected]

  • Masafumi Masuya
    https://twitter.com/gyoizamurai
  • Toshitsugu Yoneyama
    https://twitter.com/yoneyoneyo
  • Isao Takaesu
    https://twitter.com/bbr_bbq
Scarica lo strumento
IndiceDominioSottodominioIndirizzo IPStato accesso (http)Posizione (http)Stato accesso (https)Posizione (https)Record 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--
CategoriaParametroDescrizione
Spiderdepth_limitProfondità massima di crawling. Il valore predefinito è 2 livelli.
delay_timeTempo di ritardo del crawling. Il valore predefinito è 3 (sec).
time_outOpzione di chiusura spider. Timeout del crawling. Il valore predefinito è 600 (sec).
item_countOpzione di chiusura spider. Elementi massimi. Il valore predefinito è 300.
page_countOpzione di chiusura spider. Elementi massimi per pagina. Il valore predefinito è 0 (nessun limite).
error_countOpzione di chiusura spider. Errori massimi. Il valore predefinito è 0 (nessun limite).
CategoriaParametroDescrizione
Commonmax_target_urlNumero massimo di URL di esame. Se il numero di URL raccolti tramite Web Crawling supera questo valore, gli URL in eccesso vengono scartati. Il valore predefinito è 100. 0 è illimitato.
max_target_byteDimensione massima della risposta di esame. Se la dimensione della risposta supera questo valore, la parte eccedente viene scartata. Il valore predefinito è 10000 byte. 0 è illimitato.
scrambleL'elenco di URL raccolti tramite Web crawling viene ordinato casualmente. Il valore predefinito è 1 (validità). 0 è invalido.
CategoryParameterDescription
Exploitserver_hostIndirizzo IP allocato al server RPC (msgrpc).
server_portNumero di porta allocato al server RPC (msgrpc).
msgrpc_userID utente per l'autorizzazione di msgrpc.
msgrpc_passPassword per l'autorizzazione di msgrpc.
LHOSTIndirizzo IP allocato al server RPC (msgrpc).
OpzioneDescrizioneEsempio
--categoryCategoria del prodotto nei dati di firma/addestramento.OS o WEB o FRAMEWORK o CMS.
--vendorNome del fornitore del prodotto nei dati di firma/addestramento.wordpress, joomla!, drupal.
--packageNome del file del pacchetto target da importare. È necessario separare tre campi (nome del prodotto, versione ed estensione) utilizzando @.[email protected]@.tar.gz, [email protected]@_origin.tar.zip, [email protected]@.tar.gz.
TipoCampo#DescrizioneEsempio
Obbligatorio1Nome del fornitore.joomla
Obbligatorio2Nome del prodotto.joomla\!
Opzionale3Versione associata a questi dati di addestramento.*
Obbligatorio4Caratteristica del prodotto espressa tramite regex.(Set-Cookie: [a-z0-9]{32}=.*);
CategoriaParametroDescrizione
ComuneproxyInformazioni del server proxy. Il formato è scheme://hostname:port (es: http://proxy-example:8083).
proxy_userSe è necessaria l'autenticazione proxy, inserisci l'utente di autenticazione.
proxy_passSe è necessaria l'autenticazione proxy, inserisci la password di autenticazione.