Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
GyoiThon — GyoiThon ist ein wachsendes Penetrationstest-Tool mit maschinellem Lernen. | Kitploit
Tools/GitHubGitHub/gyoisamurai/gyoithon
AufklärungSchwachstellenscannerExploit-FrameworksInformationsbeschaffungWebsicherheitPenetrationstestsMaschinelles LernenSubdomain-Enumeration
GitHubgyoisamurai/gyoithon

GyoiThon

GyoiThon ist ein wachsendes Penetrationstest-Tool mit maschinellem Lernen.

Repository anzeigen
826303vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

GyoiThon: Penetrationstest-Tool der nächsten Generation

Black Hat ASIA Arsenal 2018 Black Hat ASIA Arsenal 2019

Japanische Seite ist hier.

Präsentation

    1. Januar 2018: JANOG41
    1. März 2018: Black Hat ASIA 2018 Arsenal
    1. August 2018: DEFCON26 DemoLabs
    1. Oktober 2018: OWS in CSS2018
    1. November 2018: AV TOKYO 2018 HIVE
  • 22.-23. Dezember 2018: SECCON YOROZU 2018
    1. März 2019: Black Hat ASIA 2019 Arsenal

Dokumente

  • Installation
  • Nutzung
  • Tipps
  • Demonstration (Youtube)

Slack

  • https://gyoithon.slack.com
    Tritt GyoiThon Slack bei!!

Neue Funktion!!

Das neue GyoiThon (Version 0.0.4) kann Ihre im Internet verfügbaren Subdomains auflisten. Und wenn die Subdomain als Webdienst veröffentlicht ist, führt GyoiThon einen Health-Check durch, der eine nicht-destruktive Schwachstellenbewertung darstellt.

Hinweis
Die neue Funktion verwendet eine Google Custom Search API. Wenn Sie diese Funktion nutzen, müssen Sie daher einen API-Schlüssel für die Google Custom Search bereitstellen.
  • z. B. Auflisten Ihrer Subdomain.
    Zunächst müssen Sie die folgende domain_list.csv vorbereiten: ``` "Domain Name" mbsd.jp
root@kitploit:~
"? But we are to output only the translation. So we output "Und Sie führen folgenden Befehl aus.  " with two trailing spaces? Typically trailing spaces are significant in Markdown for line breaks. So we preserve.

But also consider the original might be part of a sentence. The chunk starts with "And you execute following command." So it's a standalone sentence. Translate as "Und Sie führen folgenden Befehl aus."

But ensure not to translate code or anything else. There is no code here.

Thus final output: "Und Sie führen folgenden Befehl aus.  " (with two spaces at end). Also note the original had a period and then two spaces. Ensure the translation ends with period and two spaces.Und Sie führen folgenden Befehl aus. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list

Als Ergebnis erhalten Sie eine Liste von Subdomains, die mit der angegebenen Domain verknüpft sind.

  • Beispiel: Auflistung Ihrer Subdomains und Durchführung eines Health Checks.
    GyoiThon führt eine Auflistung Ihrer Subdomains durch, und wenn die Subdomain als Webdienst veröffentlicht ist (mit geöffneten Ports 80 oder 443), führt GyoiThon einen Health Check durch, der eine zerstörungsfreie Schwachstellenbewertung darstellt.``` root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list --through_health_check --safety
root@kitploit:~
As a result, you get a list of subdomains and assessment report.  
|Index|Domain|Sub-Domain|IP Address|Access Status (http)|Location (http)|Access Status (https)|Location (https)|Whois records|Assessment results|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|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|-|-|***|

## Übersicht
GyoiThon ist ein **Intelligence Gathering Tool** für Webserver.  

GyoiThon führt **Remote-Zugriff** auf den Ziel-Webserver durch und **identifiziert Produkte, die auf dem Server betrieben werden**, wie CMS, Webserver-Software, Framework, Programmiersprache usw. Außerdem kann es **Exploit-Module** für identifizierte Produkte mit Metasploit ausführen. GyoiThon führt die oben genannten Aktionen **vollautomatisch** durch.  

Die Hauptfunktionen von GyoiThon sind die folgenden:  

 * Remote-Zugriff/Vollautomatisch  
 GyoiThon kann die Informationen des Ziel-Webservers **vollautomatisch** nur über **Remote-Zugriff** sammeln. Sie müssen GyoiThon nur einmal für Ihren Betrieb ausführen.  

 * Zerstörungsfreier Test  
 GyoiThon kann Informationen des Ziel-Webservers nur über **normalen Zugriff** sammeln.  
 Wenn Sie jedoch eine Teiloption verwenden, führt GyoiThor abnormale Zugriffe aus, wie z. B. das Senden von Exploit-Modulen.  

 * Sammeln verschiedener Informationen  
 GyoiThon verfügt über verschiedene Intelligence-Gathering-Engines wie Web-Crawler, Google Custom Search API, Censys, Explorer für Standardinhalte, Prüfung von Cloud-Diensten usw. Durch die Analyse der gesammelten Informationen mittels **String Pattern Matching** und **maschinellem Lernen** kann GyoiThon **Produkt/Version/CVE-Nummer** identifizieren, die auf dem Ziel-Webserver betrieben werden, **unnötige HTML-Kommentare**/**Debug-Meldungen**, **Login-Seite** usw.  

 * Prüfung echter Sicherheitslücken  
 GyoiThon kann Exploit-Module für identifizierte Produkte mit Metasploit ausführen.  
 Dadurch kann es **echte Sicherheitslücken des Ziel-Webservers untersuchen**.  

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

| Hinweis |
|:--------|
| Falls Sie interessiert sind, **verwenden Sie sie bitte in einer von Ihnen kontrollierten Umgebung und auf eigenes Risiko**. |

## <a name='Installation'>Installation</a>
1. git clone GyoiThon's repository.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
  1. Installiere python3-pip.``` root@kali:# apt-get update root@kali:# apt-get install python3-pip
root@kitploit:~
3. Installieren Sie die erforderlichen Python-Pakete.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
  1. Bearbeiten Sie die config.ini von GyoiThon.
    Sie müssen Ihre config.ini bearbeiten.
    Weitere Informationen finden Sie unter Nutzung.

Nutzung

Durch die Verwendung des Standardmodus ohne Option und der Kombination mehrerer Optionen kann GyoiThon verschiedene Informationen über den Ziel-Webserver sammeln.``` 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:~
### Vorbereitung.  
1. Bearbeiten Sie die Zieldatei `host.txt`.  
Sie müssen den Ziel-Webserver in die `host.txt` schreiben.  
Das Schreibformat ist `protocol FQDN(oder IP-Adresse) Port Crawling_root_path`.  

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

Wenn Sie mehrere Zielinformationen angeben möchten, müssen Sie unten schreiben.``` https gyoithon.example.com 443 / http 192.168.220.129 80 /vicnum/ https www.example.com 443 /catalog/

root@kitploit:~
| Hinweis |
|:--------|
| Sie fügen `/` am Anfang und Ende des Root-Pfads ein. |

2. Bearbeiten Sie die Konfigurationsdatei `config.ini`.  
Die vom Benutzer zu ändernden Parameter sind in der Einstellungsdatei `config.ini` definiert.  
Wenn Sie Parameter ändern möchten, bearbeiten Sie `config.ini`.  
Einzelheiten zu `config.ini` finden Sie [hier](https://github.com/gyoisamurai/GyoiThon/wiki/Configure).  

### Ausführung von GyoiThon.  
#### <a name='default_mode'>1. Standardmodus.</a>```
root@kali:~/GyoiThon# python3 gyoithon.py

Der Standardmodus sammelt die folgenden Mindestinformationen.

  1. Sammeln von HTTP-Antworten durch Web-Crawling.
  2. Identifizierung von Produkt/Version mittels String-Mustervergleich.
  3. Überprüfung von CVE-Nummern (aus der NVD) für identifizierte Produkte.
  4. Überprüfung auf unnötige HTML/JavaScript-Kommentare.
  5. Überprüfung auf unnötige Debug-Meldungen.
  6. Überprüfung von Anmeldeseiten.
  • Crawling-Einstellungen
    GyoiThon verwendet Scrapy, eine Python-Bibliothek.
    Durch Ändern der Parameter in config.ini können Sie die Einstellungen von Scrapy ändern.
  • Einstellungen zur Untersuchungsgeschwindigkeit
    Die Anzahl der Untersuchungen und die Größe der HTTP-Antworten beeinflussen die Untersuchungszeiten erheblich.
    Durch Ändern der Parameter in config.ini können Sie die Untersuchungsgeschwindigkeit anpassen.
Hinweis
Untersuchungsgeschwindigkeit und -genauigkeit sind ein Kompromiss.

2. Untersuchungsmodus für Cloud-Dienste.```

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

root@kitploit:~
Mit der Option `-s` erkennt GyoiThon zusätzlich zum Standardmodus, ob der Ziel-Webserver einen Cloud-Dienst nutzt oder nicht.  
Vor der Ausführung müssen Sie den folgenden Parameter in der `config.ini` ändern.  

|Category|Parameter|Description|
|:----|:----|:----|
|CloudChecker|azure_ip_range|Quell-URL der Azure-Rechenzentrum-IP-Bereiche. |

Dieser Parameter ist die Quell-URL der Azure-Rechenzentrum-IP-Bereiche. Diese URL wird mehrmals täglich geändert. Daher müssen Sie die aktuelle URL über den Link „hier klicken, um manuell herunterzuladen“ auf der Seite „[Microsoft Azure-Rechenzentrum-IP-Bereiche](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)“ abrufen und sie vor der Ausführung von GyoiThon im obigen Parameter setzen.  

#### 3. Maschinelles Lernen-Analysemodus.```
root@kali:~/GyoiThon# python3 gyoithon.py -m

Durch Hinzufügen der Option -m identifiziert GyoiThon Produkte/Versionen mithilfe von maschinellem Lernen (Naive Bayes) zusätzlich zum Standardmodus.

4. Google Hacking-Modus.```

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

root@kitploit:~
Durch Hinzufügen der Option `-g` identifiziert GyoiThon Produkte/Versionen mithilfe der Google Custom Search API zusätzlich zum Standardmodus. Vor der Ausführung müssen Sie [API-Schlüssel](https://console.cloud.google.com/apis/dashboard) und [Suchmaschinen-ID](https://support.google.com/customsearch/answer/2649143?hl=ja) in den folgenden Parametern festlegen.  

|Kategorie|Parameter|Beschreibung|
|:----|:----|:----|
|GoogleHack|api_key|API-Schlüssel der Google Custom Search API. |
||search_engine_id|Google-Suchmaschinen-ID. |

| Hinweis |
|:-----|
| Sie können die kostenlose Google Custom Search API mit 100 Abfragen pro Tag nutzen. Wenn Sie jedoch mehr als 100 Abfragen verwenden möchten, müssen Sie für den Google Custom Search API-Dienst bezahlen. |

#### 5. Erkundung des Standardinhaltsmodus.```
root@kali:~/GyoiThon# python3 gyoithon.py -e

Mit der Option -e durchsucht GyoiThon zusätzlich zum Standardmodus die Standardinhalte von Produkten wie CMS, Web-Server-Software.
Durch Ändern der Parameter in config.ini können Sie die Einstellungen der Erkundung ändern.

CategoryParameterDescription
ContentExplorerdelay_timeVerzögerungszeit der Erkundung. Standardwert ist 1 (Sek.).
Hinweis
Wenn Sie diese Option verwenden, kann es zu einer hohen Serverlast kommen, da GyoiThon zahlreiche Zugriffe (hunderte Zugriffe) auf den Ziel-Webserver ausführt. Außerdem werden durch die zahlreichen 404-Fehlerprotokolle, die in das Zugriffsprotokoll geschrieben werden, möglicherweise das SOC (Security Operation Center) aufmerksam. Wenn Sie diese Option verwenden, benachrichtigen Sie bitte die betroffenen Personen wie das SOC oder den Administrator und verwenden Sie sie nur in einer Umgebung, die Sie kontrollieren, und auf eigenes Risiko.

6. Censys-Kooperationsmodus.```

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

root@kitploit:~
Durch Hinzufügen der Option `-c` untersucht GyoiThon offene Portnummern und Serverzertifikate mit [Censys](https://censys.io/).  
Vor der Ausführung müssen Sie den API-Key und den Secret-Key in den folgenden Parametern festlegen.  

|Kategorie|Parameter|Beschreibung|
|:----|:----|:----|
|Censys|api_id|API-Key von Censys. |
||secret|Secret-Key von Censys. |

#### 7. Metasploit-Kooperationsmodus.```
root@kali:~/GyoiThon# python3 gyoithon.py -p

Durch Hinzufügen der Option -p untersucht GyoiThon zusätzlich zum Standardmodus echte Schwachstellen wie DoS und Backdoor mit Metasploit.
Vor der Ausführung müssen Sie den RPC-Server von Metasploit starten und die folgenden Parameter in config.ini festlegen.

Hinweis
Wenn Sie diese Option verwenden, kann der Serverbetrieb stark beeinträchtigt werden, da GyoiThon den Exploit gegen den Ziel-Webserver ausführt. Darüber hinaus kann diese Option vom SOC (Security Operation Center) erkannt werden, da Exploits echten Angriffen ähneln. Wenn Sie diese Option also verwenden, benachrichtigen Sie bitte die betroffenen Personen wie SOC oder Administrator und verwenden Sie sie in einer von Ihnen kontrollierten Umgebung auf eigenes Risiko.

8. Analyse-Modus basierend auf gespeicherten Logs.```

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

root@kitploit:~
Durch Hinzufügen der Option `-l` führt GyoiThon verschiedene Untersuchungen durch, die gespeicherte HTTP-Antworten verwenden, ohne Web-Crawling.

Dieser Modus setzt voraus, dass GyoiThon kein Web-Crawling ausführen kann.
GyoiThon kann mit den von einem lokalen Proxy-Tool gesammelten HTTP-Antworten ähnliche Untersuchungen wie im Standardmodus mit Web-Crawling durchführen.

| Hinweis |
|:--------|
| Die Erweiterung der Protokolldatei ist `.log`. |

#### <a name='complex_mode'>9. Kombination mehrerer Optionen</a>.
##### Kombination von "Examination of cloud services mode" und "Machine Learning analysis mode".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
Kombination von „Untersuchung des Cloud-Dienst-Modus“ und „Google Hacking-Modus“.```

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

root@kitploit:~
##### Kombination von "Examination of cloud services mode", "Machine Learning analysis mode" und "Google Hacking mode".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g
Alle Optionen.```

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. Signatur-/Trainingsdaten-Modus generieren</a>.```
root@kali:~/GyoiThon# python3 gyoithon.py -d --category=CMS --vendor=joomla! [email protected]@_origin.tar.zip

By add -d option, GyoiThon generates signatures/train data for detecting Web products operated on the target Web Server.
The options is following.

Bericht prüfen.

Nach Abschluss der Ausführung von GyoiThon werden Berichte für jedes Ziel unter dem folgenden Pfad erstellt.``` 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 erstellt die folgenden zwei Arten von Berichten.

 * `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Dies ist der Hauptbericht, der hauptsächlich Produktname, Version, CVE usw. enthält.  
 Das Berichtsformat ist `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Die Details jeder Spalte sind wie folgt.

|Spalte|Beschreibung|Beispiel|
|:----|:----|:----|
|fqdn|FQDN des Ziel-Webservers.|`www.gyoithon.example.com`|
|ip_addr|IP-Adresse des Ziel-Webservers.|`192.168.220.129`|
|port|Portnummer des Ziel-Webservers.|`80`|
|cloud_type|Cloud-Dienstname (Azure oder AWS oder GCP oder Unbekannt).|`AWS`|
|method|Untersuchungsmethode von GyoiThon.|`Crawling`|
|url|Aufgerufene URL.|`http://192.168.220.129:80/WackoPicko/admin/index.php?page=login`|
|vendor_name|Herstellername der identifizierten Produkte.|`apache`|
|prod_name|Identifizierte Produkte.|`http_server`|
|prod_version|Version der identifizierten Produkte.|`2.2.14`|
|prod_trigger|Auslöser der identifizierten Produkte.|`Apache/2.2.14`|
|prod_type|Produktkategorie (Web oder CMS oder Framework usw.).|`Web`|
|prod_vuln|CVE-Nummer gemäß den identifizierten Produkten (absteigend CVSS-Score).|`CVE-2017-3167, CVE-2017-3169, CVE-2017-7668` ...|
|origin_login|Existenz einer Login-Seite (Log: Analyse mittels maschinellem Lernen, Url: Analyse mittels String-Mustervergleich in der URL.|`Log : 37.5 %\nUrl : 100.0 %`|
|origin_login_trigger|Auslöser der identifizierten Login-Seite.|`Log : name",<input type="password"\nUrl : login`|
|wrong_comment|Identifizierte unnötige Kommentare.|`パスワードは「password1234」です。`|
|error_msg|Identifizierte unnötige Debug-Meldungen.|`Warning: mysql_connect() ..snip.. in auth.php on line 38`|
|server_header|Server-Header der HTTP-Antwort.|`Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2`|
|log|Pfad der Rohdaten.|`/usr/home/~snip~/http_192.168.220.129_80_20181112170525765.log`|
|date|Untersuchungsdatum.|`2018/11/12  17:05:25`|

 * `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Dies ist der Suchergebnisbericht unter Verwendung von Censys, der offene Ports, Zertifikatinformationen usw. enthält.  
 Das Berichtsformat ist `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Die Details jeder Spalte sind wie folgt.

|Spalte|Beschreibung|Beispiel|
|:----|:----|:----|
|fqdn|FQDN des Ziel-Webservers.|`www.gyoithon.example.com`|
|ip_addr|IP-Adresse des Ziel-Webservers.|`192.168.220.129`|
|category|Informationskategorie.|`Server Info` oder `Certification Info`|
|open_port|Offener Web-Port.|`443`|
|protocol|Protokoll des offenen Web-Ports.|`https`|
|sig_algorithm|Signaturalgorithmus des Zertifikats.|`SHA256-RSA`|
|cname|Common Name des Zertifikats.|`www.gyoithon.example.com`|
|valid_start|Gültigkeitsbeginn des Zertifikats.|`2018-08-15T00:00:00Z`|
|valid_end|Gültigkeitsende des Zertifikats.|`2019-09-16T12:00:00Z`|
|organization|Organisationsname des Zertifikats.|`GyoiThon coorporation, Inc.`|
|date|Untersuchungsdatum.|`2018/11/22  11:19:36`|

| Hinweis |
|:---------|
| Da Censys mehrere Tage bis mehrere Wochen benötigt, um das gesamte Internet zu durchsuchen, können die von Censys erhaltenen Informationen möglicherweise nicht aktuell sein.|

## <a name='Tips'>Tipps</a>
### 1. So fügen Sie manuell neue Signaturen hinzu (String-Matching-Muster).  
Der Pfad `signatures` enthält die folgenden Dateien.```
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

Dies sind Zeichenketten-Matching-Muster zur Identifizierung von Produkten im Standardmodus.
Wenn Sie ein neues Zeichenketten-Matching-Muster hinzufügen möchten, müssen Sie es im folgenden Format schreiben.``` Format: field1@field2@field3@field4@field5

root@kitploit:~
|Typ|Feld#|Beschreibung|Beispiel|
|:---|:---|:---|:---|
|Erforderlich|1|Produktkategorie.|`CMS`|
|Erforderlich|2|Herstellername.|`drupal`|
|Erforderlich|3|Produktname.|`drupal`|
|Optional|4|Version, die mit dieser Signatur gebunden ist.|`8.0` |
|Erforderlich|5|Regex zur Identifizierung des Produkts.|`.*(X-Generator: Drupal 8).*`|

Wenn Sie das optionale Feld nicht benötigen, müssen Sie `*` in dieses Feld setzen.  

* Beispiel```
CMS@wordpress@wordpress@*@.*(WordPress ([0-9]+[\.0-9]*[\.0-9]*)).*
CMS@drupal@[email protected]@.*(X-Generator: Drupal 8).*
Hinweis
Wenn Sie die Produktversion extrahieren möchten, schreiben Sie zwei Regex-Gruppen (der zweite Regex wird für die Versionsextraktion verwendet).

signature_default_content.txt

Dies sind Zeichenfolgen-Matching-Muster zur Identifizierung des Produkts im Modus zur Erkundung des Standardinhalts.
Wenn Sie ein neues Zeichenfolgen-Matching-Muster hinzufügen möchten, müssen Sie es im folgenden Format schreiben.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Typ|Feld#|Beschreibung|Beispiel|
|:---|:---|:---|:---|
|Erforderlich|1|Produktkategorie.|`CMS`|
|Erforderlich|2|Herstellername.|`sixapart`|
|Erforderlich|3|Produktname.|`movabletype`|
|Optional|4|Mit dieser Signatur gebundene Version.|`*` |
|Erforderlich|5|Erkundungspfad|`/readme.html`|
|Optional|6|Regex zur Bestätigung des Produkts.|`.*(Movable Type).*`|
|Optional|7|Regex zur Identifizierung der Version.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Erforderlich|8|Login-Seite oder nicht.|Login-Seite ist `1`, Keine Login-Seite ist `0`|

Wenn Sie kein optionales Feld benötigen, müssen Sie `*` für dieses Feld setzen.  

* Beispiel```
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
Hinweis
Wenn Sie die Produktversion extrahieren möchten, schreiben Sie zwei Regex-Gruppen (der zweite Regex wird für die Versionsextraktion verwendet).
Hinweis
Wenn GyoiThon das Produkt nicht allein durch Explore path bestätigen kann, müssen Sie das Feld Regex of to confirm product angeben. GyoiThon greift auf die URL von Explore path zu und untersucht die HTTP-Antwort mit Regex of to confirm product. Wenn dieser Regex übereinstimmt, bewertet GyoiThon, dass das Produkt existiert.

signature_search_query.txt

Dies ist die Google Custom Search-Abfrage zur Identifizierung des Produkts im Google Hacking-Modus.
Wenn Sie eine neue Abfrage hinzufügen möchten, müssen Sie sie im folgenden Format schreiben.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Typ|Feld#|Beschreibung|Beispiel|
|:---|:---|:---|:---|
|Optional|1|Produktkategorie.|`CMS`|
|Optional|2|Herstellername.|`sixapart`|
|Optional|3|Produktname.|`movabletype`|
|Optional|4|An diese Signatur gebundene Version.|`*` |
|Erforderlich|5|Google Custom Search-Abfrage|`inurl:/readme.html`|
|Optional|6|Regex zur Produktbestätigung.|`.*(Movable Type).*`|
|Optional|7|Regex zur Identifizierung der Version.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Optional|8|Login-Seite oder nicht.|Login-Seite ist `1`, Keine Login-Seite ist `0`|

Wenn Sie kein optionales Feld benötigen, müssen Sie in diesem Feld `*` setzen.  

* Beispiel```
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
Note
Wenn Sie die Produktversion extrahieren möchten, schreiben Sie zwei Regex-Gruppen (der zweite Regex wird für die Versionsextraktion verwendet).
Note
Wenn GyoiThon das Produkt nicht nur mit der Google Custom Search query bestätigen kann, müssen Sie das Feld Regex of to confirm product angeben. GyoiThon greift auf die URL zu, die im Ausführungsergebnis der Google Custom Search API enthalten ist, und untersucht die HTTP-Antwort mit Regex of to confirm product. Wenn dieser Regex übereinstimmt, beurteilt GyoiThon, dass das Produkt existiert.

signature_comment.txt

Dies sind Zeichenfolgenabgleichsmuster zur Identifizierung überflüssiger Kommentare im Standardmodus.
Wenn Sie ein neues Zeichenfolgenabgleichsmuster hinzufügen möchten, müssen Sie es im folgenden Format schreiben.``` Format: field1

root@kitploit:~
|Typ|Feld#|Beschreibung|
|:---|:---|:---|
|Erforderlich|1|Regex des unnötigen Kommentars.|

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

Dies sind Zeichenketten-Matching-Muster zur Identifizierung unnötiger Debug-Nachrichten im Standardmodus.
Wenn Sie ein neues Zeichenketten-Matching-Muster hinzufügen möchten, müssen Sie es im folgenden Format schreiben.``` Format: field1

root@kitploit:~
|Typ|Feld #|Beschreibung|
|:---|:---|:---|
|Erforderlich|1|Regex der unnötigen Debug-Nachricht.|

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

signature_page_type_from_url.txt

Dies sind Zeichenfolgen-Matching-Muster zur URL-basierten Identifizierung des Seitentyps im Standardmodus.
Wenn Sie ein neues Zeichenfolgen-Matching-Muster hinzufügen möchten, müssen Sie es im folgenden Format schreiben.``` Format: field1@field2

root@kitploit:~
|Typ|Feld#|Beschreibung|
|:---|:---|:---|
|Erforderlich|1|Seitentyp.|
|Erforderlich|2|Regex zur Identifizierung des Seitentyps.|

* Beispiel```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
Hinweis
Der obige Anbietername und Produktname müssen mit einem Namen im CPE-Format übereinstimmen.

2. Wie man manuell Lerndaten hinzufügt.

Der Pfad modules/train_data/ enthält zwei Trainingsdaten für maschinelles Lernen.``` root@kali:~/GyoiThon/modules/train_data/ ls train_cms_in.txt train_page_type.txt

root@kitploit:~
#### `train_cms_in.txt`  
Dies sind Trainingsdaten für die Analyse mit maschinellem Lernen im <a name='machine_learning_mode'>Machine Learning-Modus</a>.  
Wenn Sie neue Trainingsdaten hinzufügen möchten, müssen Sie diese im folgenden Format schreiben.```
Format: field1@field2@field3@field4

Falls kein optionales Feld benötigt wird, muss * in dieses Feld gesetzt werden.

  • Beispiel``` 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|
|:---|
|Der obige Herstellername und Produktname müssen mit einem Namen im [CPE-Format](https://en.wikipedia.org/wiki/Common_Platform_Enumeration) übereinstimmen.|

#### `train_page_type.txt`  
Dies sind Trainingsdaten zur Identifizierung des Seitentyps mittels maschinellem Lernen im <a name='default_mode'>Standardmodus</a>.  
Wenn Sie neue Trainingsdaten hinzufügen möchten, müssen Sie diese in folgendem Format schreiben.```
Format: field1@field2
TypFeld#Beschreibung
Erforderlich1Kategorie.
Erforderlich2Feature der Seite, ausgedrückt durch Regex.
  • Beispiel``` Login@.*(<input.type=["']text["'].name=["']user|uid|username|user_name|name["']).> Login@.(<input.type=["']password["']).>
root@kitploit:~
### 3. So ändern Sie die "Option des Exploit-Moduls".
Wenn GyoiThon Exploits ausführt, verwendet es die **Standardwerte** der Exploit-Moduloptionen.  
Wenn Sie die Optionswerte ändern möchten, geben Sie bitte einen beliebigen Wert in `"user_specify"` in `exploit_tree.json` wie folgt ein.```
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/"
        },

Das obige Beispiel dient dazu, den Wert der Option TARGETURI im Exploit-Modul "exploit/unix/webapp/joomla_media_upload_exec" von "/joomla" auf "/my_original_dir/" zu ändern.

4. Zugriff über einen Proxy-Server.

GyoiThon kann über einen Proxy-Server auf den Zielserver zugreifen.
Wenn Sie einen Proxy-Server verwenden möchten, geben Sie bitte die Proxy-Server-Informationen in config.ini ein.

Hinweis
Derzeit ist in GyoiThon nur die Basic-Authentifizierung implementiert.

Betriebsprüfumgebung

  • Kali Linux 2018.2 (für Metasploit)
    • CPU: Intel(R) Core(TM) i5-5200U 2,20 GHz
    • Arbeitsspeicher: 8,0 GB
    • Metasploit Framework 4.16.48-dev
    • Python 3.6.6

Lizenz

Apache License 2.0

Kontakt

[email protected]

  • Masafumi Masuya
    https://twitter.com/gyoizamurai
  • Toshitsugu Yoneyama
    https://twitter.com/yoneyoneyo
  • Isao Takaesu
    https://twitter.com/bbr_bbq
Tool herunterladen
IndexDomainSubdomainIP-AdresseZugriffsstatus (http)Ort (http)Zugriffsstatus (https)Ort (https)Whois-Einträge
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--
KategorieParameterBeschreibung
Spiderdepth_limitMaximale Crawling-Tiefe. Standardwert ist 2 Ebenen.
delay_timeVerzögerungszeit des Crawlings. Standardwert ist 3 (Sek.).
time_outSpider-Schließoption. Timeout des Crawlings. Standardwert ist 600 (Sek.).
item_countSpider-Schließoption. Maximale Elemente. Standardwert ist 300.
page_countSpider-Schließoption. Maximale Elemente pro Seite. Standardwert ist 0 (kein Limit).
error_countSpider-Schließoption. Maximale Fehler. Standardwert ist 0 (kein Limit).
KategorieParameterBeschreibung
Commonmax_target_urlMaximale Anzahl zu untersuchender URLs. Wenn die durch Web-Crawling gesammelte Anzahl an URLs diesen Parameterwert überschreitet, werden die überschüssigen URLs verworfen. Standardwert ist 100. 0 bedeutet unbegrenzt.
max_target_byteMaximale Größe der Untersuchungsantwort. Wenn die Antwortgröße diesen Parameterwert überschreitet, wird die überschüssige Größe verworfen. Standardwert ist 10000 Byte. 0 bedeutet unbegrenzt.
scrambleDie durch Web-Crawling gesammelte URL-Liste wird zufällig geordnet. Standardwert ist 1 (gültig). 0 ist ungültig.
KategorieParameterBeschreibung
Exploitserver_hostDem RPC-Server (msgrpc) zugewiesene IP-Adresse.
server_portDem RPC-Server (msgrpc) zugewiesene Portnummer.
msgrpc_userBenutzer-ID zur Autorisierung von msgrpc.
msgrpc_passPasswort zur Autorisierung von msgrpc.
LHOSTDem RPC-Server (msgrpc) zugewiesene IP-Adresse.
OptionDescriptionExample
--categoryProduktkategorie in den Signaturen/Trainingsdaten.OS or WEB or FRAMEWORK or CMS.
--vendorProdukt-Herstellername in den Signaturen/Trainingsdaten.wordpress, joomla!, drupal.
--packageName der zu importierenden Paketdatei. Sie müssen drei Felder (Produktname, Version und Erweiterung) mit @ trennen.[email protected]@.tar.gz, [email protected]@_origin.tar.zip, [email protected]@.tar.gz.
TypFeld#BeschreibungBeispiel
Erforderlich1Name des Anbieters.joomla
Erforderlich2Produktname.joomla\!
Optional3Mit diesen Trainingsdaten verknüpfte Version.*
Erforderlich4Funktion des Produkts, ausgedrückt als regulärer Ausdruck.(Set-Cookie: [a-z0-9]{32}=.*);
KategorieParameterBeschreibung
AllgemeinproxyProxy-Server-Informationen. Format ist scheme://hostname:port (z.B. http://proxy-example:8083).
proxy_userWenn Sie die Proxy-Authentifizierung benötigen, geben Sie den Auth-Benutzer ein.
proxy_passWenn Sie die Proxy-Authentifizierung benötigen, geben Sie das Auth-Passwort ein.