Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
GyoiThon — GyoiThon es una herramienta de prueba de penetración en crecimiento que utiliza Machine Learning. | Kitploit
Herramientas/GitHubGitHub/gyoisamurai/gyoithon
ReconocimientoEscáneres de VulnerabilidadesFrameworks de ExploitsRecopilación de InformaciónSeguridad WebPruebas de PenetraciónAprendizaje AutomáticoEnumeración de Subdominios
GitHubgyoisamurai/gyoithon

GyoiThon

GyoiThon es una herramienta de prueba de penetración en crecimiento que utiliza Machine Learning.

Ver Repositorio
826303hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

GyoiThon: Herramienta de prueba de penetración de próxima generación

Black Hat ASIA Arsenal 2018 Black Hat ASIA Arsenal 2019

La página en japonés está aquí.

Presentación

  • 25 de enero de 2018:JANOG41
  • 23 de marzo de 2018:Black Hat ASIA 2018 Arsenal
  • 12 de agosto de 2018:DEFCON26 DemoLabs
  • 24 de octubre de 2018:OWS in CSS2018
  • 3 de noviembre de 2018:AV TOKYO 2018 HIVE
  • 22-23 de diciembre de 2018:SECCON YOROZU 2018
  • 28 de marzo de 2019:Black Hat ASIA 2019 Arsenal

Documentos

  • Instalación
  • Uso
  • Consejos
  • Demostración (Youtube)

Slack

  • https://gyoithon.slack.com
    ¡Únete a GyoiThon Slack!!

Nueva función!!

El nuevo GyoiThon (versión 0.0.4) puede listar sus subdominios expuestos en Internet. Y si el subdominio se publica como un servicio web, GyoiThon ejecuta una verificación de estado que es una evaluación de vulnerabilidad no destructiva.

Nota
La nueva función utiliza una API de búsqueda personalizada de Google. Por lo tanto, si usa la nueva función, debe preparar una clave API de Búsqueda personalizada de Google.
  • ej) Listando sus subdominios.
    Primero, debe preparar el domain_list.csv de la siguiente manera: ``` "Domain Name" mbsd.jp
root@kitploit:~
Y ejecutas el siguiente comando. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list

Como resultado, obtienes una lista de subdominios asociados al dominio especificado.

  • ej.) Listar tu subdominio y ejecutar la comprobación de estado.
    GyoiThon lista tus subdominios y, si el subdominio se publica como un servicio web (con el puerto 80 o 443 abierto), entonces GyoiThon ejecuta una comprobación de estado que es una evaluación de vulnerabilidades no destructiva.``` root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list --through_health_check --safety
root@kitploit:~
Como resultado, obtendrá una lista de subdominios y un informe de evaluación.  
|Índice|Dominio|Subdominio|Dirección IP|Estado de acceso (http)|Ubicación (http)|Estado de acceso (https)|Ubicación (https)|Registros Whois|Resultados de evaluación|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|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|-|-|***|

## Descripción general
GyoiThon es una **herramienta de recopilación de inteligencia** para servidores web.  

GyoiThon ejecuta **acceso remoto** al servidor web objetivo e **identifica el producto que opera en el servidor**, como CMS, software de servidor web, framework, lenguaje de programación, etc. Además, puede **ejecutar módulos de explotación** contra los productos identificados utilizando Metasploit. GyoiThon **ejecuta de forma totalmente automática** las acciones anteriores.  

Las principales características de GyoiThon son las siguientes.  

 * Acceso remoto / total automatización  
 GyoiThon puede **recopilar de forma totalmente automática** la información del servidor web objetivo utilizando solo **acceso remoto**. Solo necesita ejecutar GyoiThon una vez para su operación.  

 * Prueba no destructiva  
 GyoiThon puede recopilar información del servidor web objetivo utilizando **solo acceso normal**.  
 Pero, cuando utiliza una parte de las opciones, GyoiThon ejecuta acceso anómalo, como el envío de módulos de explotación.  

 * Recopilación de diversas informaciones  
 GyoiThon dispone de varios motores de recopilación de inteligencia, como rastreador web, API de búsqueda personalizada de Google, Censys, explorador de contenido predeterminado, examen de servicios en la nube, etc. Al analizar la información recopilada mediante **coincidencia de patrones de cadenas** y **aprendizaje automático**, GyoiThon puede identificar **producto/versión/número de CVE** que operan en el servidor web objetivo, **comentarios HTML innecesarios**/**mensajes de depuración**, **página de inicio de sesión**, etc.  

 * Examen de vulnerabilidades reales  
 GyoiThon puede ejecutar módulos de explotación contra los productos identificados utilizando Metasploit.  
 Como resultado, puede **examinar vulnerabilidades reales del servidor web objetivo**.  

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

| Nota |
|:-----|
| Si está interesado, **por favor, úselos en un entorno bajo su control y bajo su propio riesgo**. |

## <a name='Installation'>Instalación</a>
1. Clone el repositorio de GyoiThon con git.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
  1. Obtener python3-pip.``` root@kali:# apt-get update root@kali:# apt-get install python3-pip
root@kitploit:~
3. instale los paquetes de Python requeridos.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
  1. Edita el config.ini de GyoiThon.
    Debes editar tu config.ini.
    Más información en Uso.

Uso

Usando el modo por defecto sin opciones y combinación de varias opciones, GyoiThon puede recopilar diversa información del servidor web objetivo.``` 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:~
### Preparación.  
1. Edita el archivo objetivo `host.txt`.  
Debes escribir el servidor web objetivo en el `host.txt`.  
El formato de escritura es `protocol FQDN(or IP address) Port Crawling_root_path`.  

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

Si quieres indicar información de múltiples objetivos, debes escribir abajo.``` https gyoithon.example.com 443 / http 192.168.220.129 80 /vicnum/ https www.example.com 443 /catalog/

root@kitploit:~
| Nota |
|:-----|
| Inserta `/` al principio y al final de la Ruta Raíz. |

2. Edita el archivo de configuración `config.ini`.  
Los parámetros que el usuario debe cambiar están definidos en el archivo de configuración `config.ini`.  
Si deseas cambiar los parámetros, edita `config.ini`.  
Los detalles de `config.ini` están [aquí](https://github.com/gyoisamurai/GyoiThon/wiki/Configure).  

### Ejecución de GyoiThon.  
#### <a name='default_mode'>1. Modo por defecto.</a>```
root@kali:~/GyoiThon# python3 gyoithon.py

El modo predeterminado recopila la siguiente información mínima.

  1. Recopilación de respuestas HTTP mediante rastreo web.
  2. Identificación de producto/versión mediante coincidencia de patrones de cadenas.
  3. Examen del número CVE (de NVD) para productos identificados.
  4. Examen de comentarios HTML/JavaScript innecesarios.
  5. Examen de mensajes de depuración innecesarios.
  6. Examen de páginas de inicio de sesión.
  • Configuración de rastreo
    GyoiThon utiliza Scrapy, la biblioteca de Python.
    Al cambiar los parámetros en config.ini, puede modificar la configuración de Scrapy.
  • Configuración de velocidad de examen
    El número de exámenes y el tamaño de la respuesta HTTP afectan en gran medida los tiempos de examen.
    Al cambiar los parámetros en config.ini, puede ajustar la velocidad de examen.
Nota
La velocidad y la precisión del examen son un equilibrio.

2. Modo de examen de servicios en la nube.```

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

root@kitploit:~
Al agregar la opción `-s`, GyoiThon identifica si el servidor web objetivo utiliza un servicio en la nube o no, además del modo predeterminado.  
Antes de la ejecución, debes cambiar el siguiente parámetro de `config.ini`.  

|Categoría|Parámetro|Descripción|
|:----|:----|:----|
|CloudChecker|azure_ip_range|URL de origen de los rangos de IP del Centro de Datos de Azure. |

Este parámetro es la URL de origen del rango de IP del Centro de Datos de Azure. Esta URL cambia varias veces al día. Por lo tanto, debes obtener la URL más reciente desde el enlace "haga clic aquí para descargar manualmente" de la página "[Microsoft Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)" y configurarla en el parámetro anterior antes de ejecutar GyoiThon.  

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

Al agregar la opción -m, GyoiThon identifica productos/versiones usando Machine Learning (Naive Bayes) además del modo predeterminado.

4. Modo Google Hacking.```

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

root@kitploit:~
Al agregar la opción `-g`, GyoiThon identifica productos/versiones utilizando la API de Google Custom Search además del modo predeterminado. Antes de la ejecución, debe configurar la [clave de API](https://console.cloud.google.com/apis/dashboard) y el [ID del motor de búsqueda](https://support.google.com/customsearch/answer/2649143?hl=ja) en los siguientes parámetros.  

|Categoría|Parámetro|Descripción|
|:----|:----|:----|
|GoogleHack|api_key|Clave de API de Google Custom Search API. |
||search_engine_id|ID del motor de búsqueda de Google. |

| Nota |
|:-----|
| Puede usar la API de Google Custom Search gratuita de 100 consultas por día. Pero, si desea usar más de 100 consultas, debe pagar la tarifa del servicio de la API de Google Custom Search. |

#### 5. Exploración del modo de contenidos predeterminado.```
root@kali:~/GyoiThon# python3 gyoithon.py -e

Al agregar la opción -e, GyoiThon explora los contenidos predeterminados de productos como CMS, software de servidor web, además del modo predeterminado.
Al cambiar los parámetros en config.ini, puede cambiar la configuración de la exploración.

CategoríaParámetroDescripción
ContentExplorerdelay_timeTiempo de retardo de la exploración. El valor predeterminado es 1 (seg).
Nota
Cuando use esta opción, puede verse afectado por una carga pesada del servidor debido a que GyoiThon ejecuta numerosos accesos (cientos de accesos) contra el servidor web objetivo. Además, debido a que numerosos registros de error 404 se escriben en el registro de acceso, puede ser detectado por el SOC (Centro de Operaciones de Seguridad). Por lo tanto, si usa esta opción, notifique a la persona correspondiente, como el SOC, administrador, y utilícela en un entorno bajo su control y bajo su propio riesgo y.

6. Modo de cooperación con Censys.```

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

root@kitploit:~
Al agregar la opción `-c`, GyoiThon examina el número de puerto abierto y la certificación del servidor usando [Censys](https://censys.io/).  
Antes de la ejecución, debes configurar la clave API y la clave secreta en los siguientes parámetros.  

|Categoría|Parámetro|Descripción|
|:----|:----|:----|
|Censys|api_id|Clave API de Censys. |
||secret|Clave secreta de Censys. |

#### 7. Modo de cooperación con Metasploit.```
root@kali:~/GyoiThon# python3 gyoithon.py -p

Al agregar la opción -p, GyoiThon examina vulnerabilidades reales como DoS y backdoor usando Metasploit además del modo predeterminado.
Antes de la ejecución, debes iniciar el servidor RPC de Metasploit y configurar los siguientes parámetros en config.ini.

Note
Cuando uses esta opción, el funcionamiento del servidor puede verse gravemente afectado porque GyoiThon ejecuta el exploit contra el servidor web objetivo. Además, esta opción puede ser detectada por el SOC (Centro de Operaciones de Seguridad) porque los exploits se asemejan a ataques reales. Por lo tanto, si utilizas esta opción, notifica a las personas pertinentes, como el SOC y los administradores, y úsala en un entorno bajo tu control y bajo tu propia responsabilidad.

8. Modo de análisis basado en registros almacenados.```

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

root@kitploit:~
Al agregar la opción `-l`, GyoiThon ejecuta varios exámenes utilizando respuestas HTTP almacenadas sin rastreo web.

Este modo asume la aplicación web para la cual GyoiThon no puede ejecutar rastreo web.
GyoiThon puede ejecutar varios exámenes similares al rastreo web del modo predeterminado utilizando respuestas HTTP almacenadas recopiladas por la herramienta proxy local.

| Nota |
|:-----|
| La extensión del archivo de registro es `.log`. |

#### <a name='complex_mode'>9. Combinación de múltiples opciones</a>.
##### Combinación del "Modo de examen de servicios en la nube" y el "Modo de análisis de aprendizaje automático".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
Combinación de "modo de examen de servicios en la nube" y "modo Google Hacking"```

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

root@kitploit:~
##### Combinación de "Examen del modo de servicios en la nube", "Modo de análisis de aprendizaje automático" y "Modo de Google Hacking".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g
Opción Todas.```

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

root@kitploit:~
#### <a name='generating_sig'>10. Modo de generación de datos de firma/entrenamiento</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.

Informe de verificación.

Después de finalizar la ejecución de GyoiThon, se generan informes de cada objetivo en la siguiente ruta.``` 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 los siguientes dos tipos de informes.  

 * `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Este es el informe principal que incluye principalmente nombre de producto, versión, cve, etc.  
 El formato del informe es `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 El detalle de cada columna es el siguiente.  

|Columna|Descripción|Ejemplo|
|:----|:----|:----|
|fqdn|FQDN del servidor web objetivo.|`www.gyoithon.example.com`|
|ip_addr|Dirección IP del servidor web objetivo.|`192.168.220.129`|
|port|Número de puerto del servidor web objetivo.|`80`|
|cloud_type|Nombre del servicio en la nube (Azure, AWS, GCP o Desconocido).|`AWS`|
|method|Método de examen de GyoiThon.|`Crawling`|
|url|URL accedida.|`http://192.168.220.129:80/WackoPicko/admin/index.php?page=login`|
|vendor_name|Nombre del fabricante de los productos identificados.|`apache`|
|prod_name|Productos identificados.|`http_server`|
|prod_version|Versión de los productos identificados.|`2.2.14`|
|prod_trigger|Disparador de los productos identificados.|`Apache/2.2.14`|
|prod_type|Categoría del producto (Web, CMS, Framework, etc.).|`Web`|
|prod_vuln|Número CVE según los productos identificados (desc. puntuación CVSS).|`CVE-2017-3167, CVE-2017-3169, CVE-2017-7668` ...|
|origin_login|La página de inicio de sesión existe o no (Log: análisis mediante Machine Learning, Url: análisis mediante coincidencia de patrones de cadena en la URL).|`Log : 37.5 %\nUrl : 100.0 %`|
|origin_login_trigger|Disparador de la página de inicio de sesión identificada.|`Log : name",<input type="password"\nUrl : login`|
|wrong_comment|Comentarios innecesarios identificados.|`パスワードは「password1234」です。`|
|error_msg|Mensajes de depuración innecesarios identificados.|`Warning: mysql_connect() ..snip.. in auth.php on line 38`|
|server_header|Cabecera del servidor de la respuesta HTTP.|`Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2`|
|log|Ruta de los datos brutos.|`/usr/home/~snip~/http_192.168.220.129_80_20181112170525765.log`|
|date|Fecha del examen.|`2018/11/12  17:05:25`|

 * `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Este es el informe de resultados de búsqueda usando Censys que incluye puertos abiertos, información de certificación, etc.  
 El formato del informe es `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 El detalle de cada columna es el siguiente.  

|Columna|Descripción|Ejemplo|
|:----|:----|:----|
|fqdn|FQDN del servidor web objetivo.|`www.gyoithon.example.com`|
|ip_addr|Dirección IP del servidor web objetivo.|`192.168.220.129`|
|category|Categoría de la información.|`Server Info` o `Certification Info`|
|open_port|Puerto web abierto.|`443`|
|protocol|Protocolo del puerto web abierto.|`https`|
|sig_algorithm|Algoritmo de firma de la certificación.|`SHA256-RSA`|
|cname|Nombre común de la certificación.|`www.gyoithon.example.com`|
|valid_start|Fecha de inicio de validez de la certificación.|`2018-08-15T00:00:00Z`|
|valid_end|Fecha de fin de validez de la certificación.|`2019-09-16T12:00:00Z`|
|organization|Nombre de la organización de la certificación.|`GyoiThon coorporation, Inc.`|
|date|Fecha del examen.|`2018/11/22  11:19:36`|

| Nota |
|:-----|
| Debido a que Censys necesita varios días a varias semanas para examinar todo Internet, la información obtenida de Censys puede no estar actualizada.|

## <a name='Tips'>Consejos</a>
### 1. Cómo agregar manualmente una nueva firma (patrones de coincidencia de cadenas).  
La ruta `signatures` incluye los siguientes archivos.```
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

Estos son patrones de coincidencia de cadenas para la identificación del producto en default mode.

Si deseas agregar un nuevo patrón de coincidencia de cadenas, debes escribirlo en el siguiente formato.``` Format: field1@field2@field3@field4@field5

root@kitploit:~
|Tipo|Campo#|Descripción|Ejemplo|
|:---|:---|:---|:---|
|Requerido|1|Categoría de producto.|`CMS`|
|Requerido|2|Nombre del proveedor.|`drupal`|
|Requerido|3|Nombre del producto.|`drupal`|
|Opcional|4|Versión vinculada con esta firma.|`8.0` |
|Requerido|5|Regex de identificación del producto.|`.*(X-Generator: Drupal 8).*`|

Si no necesitas el campo opcional, debes establecer `*` en este campo.  

* Ejemplo```
CMS@wordpress@wordpress@*@.*(WordPress ([0-9]+[\.0-9]*[\.0-9]*)).*
CMS@drupal@[email protected]@.*(X-Generator: Drupal 8).*
Nota
Si deseas extraer la versión del producto, debes escribir dos grupos de regex (el segundo regex se utiliza para la extracción de la versión).

signature_default_content.txt

Estos son patrones de coincidencia de cadenas para la identificación del producto en Exploración del modo de contenido predeterminado.
Si deseas agregar un nuevo patrón de coincidencia de cadenas, debes escribirlo en el siguiente formato.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Type|Field#|Description|Example|
|:---|:---|:---|:---|
|Required|1|Categoría del producto.|`CMS`|
|Required|2|Nombre del proveedor.|`sixapart`|
|Required|3|Nombre del producto.|`movabletype`|
|Optional|4|Versión vinculada con esta firma.|`*` |
|Required|5|Ruta de exploración|`/readme.html`|
|Optional|6|Expresión regular para confirmar el producto.|`.*(Movable Type).*`|
|Optional|7|Expresión regular para identificar la versión.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Required|8|Página de inicio de sesión o no.|La página de inicio de sesión es `1`, la página que no es de inicio de sesión es `0`|

Si no necesita un campo opcional, debe establecer `*` en este campo.  

* Ejemplo```
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
Si quieres extraer la versión del producto, escribe dos grupos de expresiones regulares (la segunda expresión regular se usa para la extracción de la versión).
Nota
Si GyoiThon no puede confirmar el producto solo con Explore path, debes indicar el campo Regex of to confirm product. GyoiThon accede a la URL de Explore path y examina la respuesta HTTP utilizando Regex of to confirm product. Si esta expresión regular coincide, GyoiThon determina que el producto existe.

signature_search_query.txt

Este es el archivo de consulta de Google Custom Search para la identificación del producto en Modo Google Hacking.
Si quieres agregar una nueva consulta, debes escribirla en el siguiente formato.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Tipo|Campo#|Descripción|Ejemplo|
|:---|:---|:---|:---|
|Opcional|1|Categoría del producto.|`CMS`|
|Opcional|2|Nombre del proveedor.|`sixapart`|
|Opcional|3|Nombre del producto.|`movabletype`|
|Opcional|4|Versión vinculada a esta firma.|`*` |
|Requerido|5|Consulta de búsqueda personalizada de Google|`inurl:/readme.html`|
|Opcional|6|Expresión regular para confirmar el producto.|`.*(Movable Type).*`|
|Opcional|7|Expresión regular para identificar la versión.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Opcional|8|Página de inicio de sesión o no.|La página de inicio de sesión es `1`, no es página de inicio de sesión es `0`|

Si no necesitas un campo opcional, debes establecer `*` en ese campo.

* Ejemplo```
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
Si deseas extraer la versión del producto, debes escribir dos grupos de expresiones regulares (la segunda expresión regular se usa para la extracción de la versión).
Note
Si GyoiThon no puede confirmar el producto solo con la consulta de búsqueda personalizada de Google, debes indicar el campo Expresión regular para confirmar el producto. GyoiThon accede a la URL incluida en el resultado de ejecución de la API de Búsqueda Personalizada de Google y examina la respuesta HTTP utilizando la Expresión regular para confirmar el producto. Si esta expresión regular coincide, GyoiThon determina que el producto existe.

signature_comment.txt

Estos son patrones de coincidencia de cadenas para la identificación de comentarios innecesarios en modo predeterminado.
Si deseas agregar un nuevo patrón de coincidencia de cadenas, debes escribirlo en el siguiente formato.``` Format: field1

root@kitploit:~
|Tipo|Field#|Descripción|
|:---|:---|:---|
|Obligatorio|1|Expresión regular de comentario innecesario.|

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

Esto son patrones de coincidencia de cadenas para la identificación de mensajes de depuración innecesarios en el modo predeterminado.
Si desea agregar un nuevo patrón de coincidencia de cadenas, debe escribirlo en el siguiente formato.``` Format: field1

root@kitploit:~
|Type|Field#|Description|
|:---|:---|:---|
|Requerido|1|Expresión regular de mensaje de depuración innecesario.|

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

signature_page_type_from_url.txt

Esto son patrones de coincidencia de cadenas para la identificación del tipo de página basada en URL en modo predeterminado.
Si deseas agregar un nuevo patrón de coincidencia de cadenas, debes escribirlo en el siguiente formato.``` Format: field1@field2

root@kitploit:~
|Tipo|Campo#|Descripción|
|:---|:---|:---|
|Requerido|1|Tipo de página.|
|Requerido|2|Regex de identificación del tipo de página.|

* Ejemplo```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
Nota
El nombre del proveedor y el nombre del producto anteriores deben coincidir con un nombre en formato CPE.

2. Cómo agregar manualmente datos de aprendizaje.

La ruta modules/train_data/ incluye dos datos de entrenamiento para Machine Learning.``` root@kali:~/GyoiThon/modules/train_data/ ls train_cms_in.txt train_page_type.txt

root@kitploit:~
#### `train_cms_in.txt`  
Estos son datos de entrenamiento para análisis de Machine Learning en <a name='machine_learning_mode'>Modo Machine Learning</a>.  
Si deseas agregar nuevos datos de entrenamiento, debes escribirlos en el siguiente formato.```
Format: field1@field2@field3@field4

Si no necesita un campo opcional, debe establecer * en dicho campo.

  • Ejemplo``` joomla@joomla!@@(Set-Cookie: [a-z0-9]{32}=.); joomla@joomla!@@(Set-Cookie: .=[a-z0-9]{26,32}); heartcore@heartcore@@(Set-Cookie:.=[A-Z0-9]{32});.* heartcore@heartcore@@(<meta name=["']author["'] content=["']{2}).
root@kitploit:~
|Nota|
|:---|
|El nombre del proveedor y el nombre del producto anteriores deben coincidir con un nombre en [CPE format](https://en.wikipedia.org/wiki/Common_Platform_Enumeration).|

#### `train_page_type.txt`  
Estos son datos de entrenamiento para identificar el tipo de página usando Machine Learning en <a name='default_mode'>modo predeterminado</a>.  
Si deseas agregar nuevos datos de entrenamiento, debes escribirlos en el siguiente formato.```
Format: field1@field2
TipoCampo#Descripción
Requerido1Categoría.
Requerido2Característica de la página expresada por regex.
  • Ejemplo``` Login@.*(<input.type=["']text["'].name=["']user|uid|username|user_name|name["']).> Login@.(<input.type=["']password["']).>
root@kitploit:~
### 3. Cómo cambiar "la opción del módulo Exploit".
Cuando GyoiThon explota, utiliza **valores predeterminados** de las opciones del módulo Exploit.  
Si desea cambiar los valores de las opciones, ingrese cualquier valor en `"user_specify"` en `exploit_tree.json` de la siguiente manera.```
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/"
        },

El ejemplo anterior es para cambiar el valor de la opción TARGETURI en el módulo de exploit exploit/unix/webapp/joomla_media_upload_exec de /joomla a /my_original_dir/.

4. Cómo acceder a través de un servidor proxy.

GyoiThon puede acceder al servidor objetivo a través de un servidor proxy.
Si desea usar un servidor proxy, introduzca la información del servidor proxy en config.ini.

Nota
Actualmente, GyoiThon solo implementa Autenticación Básica.

Entorno de verificación de operación

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

Licencia

Apache License 2.0

Contáctenos

[email protected]

  • Masafumi Masuya
    https://twitter.com/gyoizamurai
  • Toshitsugu Yoneyama
    https://twitter.com/yoneyoneyo
  • Isao Takaesu
    https://twitter.com/bbr_bbq
Descargar herramienta
ÍndiceDominioSubdominioDirección IPEstado de acceso (http)Ubicación (http)Estado de acceso (https)Ubicación (https)Registros Whois
1mbsd.jpmbsd.jp['40.115.251.148']301https://www.mbsd.jp/301https://www.mbsd.jp/***
2mbsd.jpwww.mbsd.jp['40.115.251.148']301https://www.mbsd.jp/200--
3mbsd.jpwww2.mbsd.jp['40.115.251.148']301https://www.mbsd.jp/200--
CategoríaParámetroDescripción
Spiderdepth_limitProfundidad máxima de rastreo. El valor predeterminado es 2 capas.
delay_timeTiempo de retraso de rastreo. Valor predeterminado 3 (seg).
time_outOpción de cierre de Spider. Tiempo de espera de rastreo. Valor predeterminado 600 (seg).
item_countOpción de cierre de Spider. Elementos máximos. Valor predeterminado 300.
page_countOpción de cierre de Spider. Elementos máximos por página. Valor predeterminado 0 (sin límite).
error_countOpción de cierre de Spider. Errores máximos. Valor predeterminado 0 (sin límite).
CategoríaParámetroDescripción
Comúnmax_target_urlNúmero máximo de URL de examen. Si el número de URL recopiladas mediante rastreo web supera este valor de parámetro, el exceso se descarta. Valor predeterminado 100. 0 es ilimitado.
max_target_byteTamaño máximo de respuesta de examen. Si el tamaño de respuesta supera este valor de parámetro, el exceso se descarta. Valor predeterminado 10000 bytes. 0 es ilimitado.
scrambleLa lista de URL recopilada mediante rastreo web se ordena aleatoriamente. Valor predeterminado 1 (válido). 0 es inválido.
CategoryParameterDescription
Exploitserver_hostDirección IP asignada al servidor RPC (msgrpc).
server_portNúmero de puerto asignado al servidor RPC (msgrpc).
msgrpc_userID de usuario para la autorización de msgrpc.
msgrpc_passContraseña para la autorización de msgrpc.
LHOSTDirección IP asignada al servidor RPC (msgrpc).
OptionDescriptionExample
--categoryCategoría del producto en los datos de firma/entrenamiento.OS or WEB or FRAMEWORK or CMS.
--vendorNombre del proveedor del producto en los datos de firma/entrenamiento.wordpress, joomla!, drupal.
--packageNombre del archivo de paquete a importar. Debes separar tres campos: nombre del producto, versión y extensión usando @.[email protected]@.tar.gz, [email protected]@_origin.tar.zip, [email protected]@.tar.gz.
TipoCampo#DescripciónEjemplo
Requerido1Nombre del proveedor.joomla
Requerido2Nombre del producto.joomla\!
Opcional3Versión asociada a estos datos de entrenamiento.*
Requerido4Característica del producto expresada mediante regex.(Set-Cookie: [a-z0-9]{32}=.*);
CategoríaParámetroDescripción
ComúnproxyInformación del servidor proxy. El formato es scheme://hostname:port (ej: http://proxy-ejemplo:8083).
proxy_userSi necesita autenticación proxy, introduzca el usuario de autenticación.
proxy_passSi necesita autenticación proxy, introduzca la contraseña de autenticación.