Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
GyoiThon — GyoiThon — это развивающийся инструмент для тестирования на проникновение, использующий машинное обучение. | Kitploit
Инструменты/GitHubGitHub/gyoisamurai/gyoithon
РазведкаСканеры уязвимостейФреймворки для эксплойтовСбор информацииВеб-безопасностьТестирование на ПроникновениеМашинное ОбучениеПеречисление Поддоменов
GitHubgyoisamurai/gyoithon

GyoiThon

GyoiThon — это развивающийся инструмент для тестирования на проникновение, использующий машинное обучение.

Репозиторий
8263035 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

GyoiThon: Инструмент для пентеста нового поколения

Black Hat ASIA Arsenal 2018 Black Hat ASIA Arsenal 2019

Японская страница находится здесь.

Презентации

  • 25 января 2018 г.:JANOG41
  • 23 марта 2018 г.:Black Hat ASIA 2018 Arsenal
  • 12 августа 2018 г.:DEFCON26 DemoLabs
  • 24 октября 2018 г.:OWS in CSS2018
  • 3 ноября 2018 г.:AV TOKYO 2018 HIVE
  • 22-23 декабря 2018 г.:SECCON YOROZU 2018
  • 28 марта 2019 г.:Black Hat ASIA 2019 Arsenal

Документы

  • Установка
  • Использование
  • Советы
  • Демонстрация (YouTube)

Slack

  • https://gyoithon.slack.com
    Присоединяйтесь к Slack GyoiThon!!

Новая функция!!

Новая версия GyoiThon (версия 0.0.4) может собрать список ваших поддоменов, доступных из Интернета. И если поддомен опубликован как веб-сервис, то GyoiThon выполняет проверку работоспособности, которая представляет собой неразрушающую оценку уязвимостей.

Примечание
Новая функция использует Google Custom Search API. Поэтому, если вы используете новую функцию, вам необходимо подготовить API-ключ Google Custom Search.
  • например) Сбор поддоменов.
    Во-первых, вам необходимо подготовить файл domain_list.csv следующим образом: ``` "Domain Name" mbsd.jp
root@kitploit:~
И вы выполняете следующую команду. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list

В результате вы получаете список поддоменов, связанных с указанным доменом.

  • пример) Перечисление ваших поддоменов и выполнение проверки работоспособности. GyoiThon перечисляет ваши поддомены, и если поддомен опубликован как веб-сервис (с открытыми портами 80 или 443), то GyoiThon выполняет проверку работоспособности, представляющую собой недеструктивную оценку уязвимостей.``` root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list --through_health_check --safety
root@kitploit:~
В результате вы получаете список поддоменов и отчёт об оценке.  
|Индекс|Домен|Поддомен|IP-адрес|Статус доступа (http)|Расположение (http)|Статус доступа (https)|Расположение (https)|Записи Whois|Результаты оценки|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|1|mbsd.jp|mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|301|https://www.mbsd.jp/|***|***|
|2|mbsd.jp|www.mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|200|-|-|***|
|3|mbsd.jp|www2.mbsd.jp|['40.115.251.148']|301|https://www.mbsd.jp/|200|-|-|***|

## Обзор
GyoiThon — это **инструмент сбора разведывательной информации** для веб-сервера.  

GyoiThon выполняет **удалённый доступ** к целевому веб-серверу и **определяет продукты, работающие на сервере**, такие как CMS, программное обеспечение веб-сервера, фреймворки, языки программирования и т. д. Кроме того, он может **запускать эксплойт-модули** к определённым продуктам с помощью Metasploit. GyoiThon **полностью автоматически выполняет** описанные действия.  

Основные возможности GyoiThon следующие:  

 * Удалённый доступ / Полная автоматизация  
 GyoiThon может **полностью автоматически** собирать информацию о целевом веб-сервере, используя только **удалённый доступ**. Вам нужно запустить GyoiThon всего один раз для вашей операции.  

 * Неразрушающее тестирование  
 GyoiThon может собирать информацию о целевом веб-сервере, используя **только обычный доступ**.  
 Однако при использовании некоторых опций GyoiThon выполняет нестандартный доступ, например, отправку эксплойт-модулей.  

 * Сбор различной информации  
 GyoiThon имеет различные движки сбора разведывательной информации, такие как веб-сканер, Google Custom Search API, Censys, просмотрщик содержимого по умолчанию, проверка облачных сервисов и т. д. Анализируя собранную информацию с помощью **сопоставления строковых шаблонов** и **машинного обучения**, GyoiThon может определить **продукт/версию/номер CVE**, работающие на целевом веб-сервере, **ненужные HTML-комментарии**/**отладочные сообщения**, **страницу входа** и т. д.  

 * Проверка реальных уязвимостей  
 GyoiThon может запускать эксплойт-модули к определённым продуктам с помощью Metasploit.  
 В результате он может **проверить реальные уязвимости целевого веб-сервера**.  

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

| Примечание |
|:-----------|
| Если вам интересно, **пожалуйста, используйте их в среде под вашим контролем и на свой собственный риск**. |

## <a name='Installation'>Установка</a>
1. Клонируйте репозиторий GyoiThon с помощью git.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
  1. Установите python3-pip.``` root@kali:# apt-get update root@kali:# apt-get install python3-pip
root@kitploit:~
3. установите необходимые пакеты Python.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
  1. Отредактируйте config.ini в GyoiThon.
    Вам нужно отредактировать ваш config.ini.
    Более подробная информация — в разделе Usage.

Использование

Используя режим по умолчанию без опций и комбинацию нескольких опций, GyoiThon может собирать различную информацию о целевом веб-сервере.``` 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:~
### Подготовка.  
1. Отредактируйте целевой файл `host.txt`.  
Вы должны записать целевой веб-сервер в `host.txt`.  
Формат записи: `protocol FQDN(or IP address) Port Crawling_root_path`.  

* Пример.```
https gyoithon.example.com 443 /

Если вы хотите указать информацию о нескольких целях, вам нужно написать ниже.``` https gyoithon.example.com 443 / http 192.168.220.129 80 /vicnum/ https www.example.com 443 /catalog/

root@kitploit:~
| Примечание |
|:-----------|
| Вставляйте `/` в начале и в конце корневого пути. |

2. Отредактируйте файл конфигурации `config.ini`.  
Параметры, которые необходимо изменить пользователю, определяются в файле настроек `config.ini`.  
Если вы хотите изменить параметры, отредактируйте `config.ini`.  
Подробнее о `config.ini` читайте [здесь](https://github.com/gyoisamurai/GyoiThon/wiki/Configure).  

### Запуск GyoiThon.  
#### <a name='default_mode'>1. Режим по умолчанию.</a>```
root@kali:~/GyoiThon# python3 gyoithon.py

Режим по умолчанию собирает следующую минимальную информацию.

  1. Сбор HTTP-ответов с помощью веб-сканирования.
  2. Идентификация продукта/версии с помощью сопоставления строковых шаблонов.
  3. Проверка номера CVE (из NVD) для идентифицированных продуктов.
  4. Проверка ненужных комментариев HTML/JavaScript.
  5. Проверка ненужных отладочных сообщений.
  6. Проверка страниц входа.
  • Настройка сканирования
    GyoiThon использует Scrapy — библиотеку Python.
    Изменяя параметры в config.ini, вы можете изменить настройки Scrapy.
  • Настройка скорости проверки
    Количество проверок и размер HTTP-ответа сильно влияют на время проверки.
    Изменяя параметры в config.ini, вы можете регулировать скорость проверки.
Примечание
Скорость и точность проверки являются компромиссом.

2. Режим проверки облачных сервисов.```

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

root@kitploit:~
При добавлении опции `-s` GyoiThon определяет, использует ли целевой веб-сервер облачный сервис или нет, в дополнение к режиму по умолчанию.  
Перед выполнением вы должны изменить следующий параметр в `config.ini`:  

|Категория|Параметр|Описание|
|:----|:----|:----|
|CloudChecker|azure_ip_range|Исходный URL диапазонов IP-адресов центра обработки данных Azure. |

Этот параметр является исходным URL диапазона IP-адресов центра обработки данных Azure. Этот URL изменяется несколько раз в день. Поэтому вы должны получить последний URL по ссылке «click here to download manually» на странице «[Microsoft Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)» и установить его в вышеуказанный параметр перед запуском GyoiThon.  

#### 3. Режим анализа машинного обучения.```
root@kali:~/GyoiThon# python3 gyoithon.py -m

При добавлении опции -m GyoiThon определяет продукты/версии с помощью машинного обучения (Наивный Байес) в дополнение к режиму по умолчанию.

4. Режим Google Hacking.```

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

root@kitploit:~
При добавлении опции `-g` GyoiThon идентифицирует продукты/версии с помощью Google Custom Search API в дополнение к режиму по умолчанию. Перед выполнением необходимо задать [API key](https://console.cloud.google.com/apis/dashboard) и [Search engine ID](https://support.google.com/customsearch/answer/2649143?hl=ja) в указанных ниже параметрах.  

|Категория|Параметр|Описание|
|:----|:----|:----|
|GoogleHack|api_key|API-ключ для Google Custom Search API. |
||search_engine_id|Идентификатор поисковой системы Google. |

| Примечание |
|:-----|
| Вы можете использовать бесплатный Google Custom Search API на 100 запросов в день. Однако, если вы хотите использовать более 100 запросов, необходимо оплатить услугу Google Custom Search API. |

#### 5. Исследование режима содержимого по умолчанию.```
root@kali:~/GyoiThon# python3 gyoithon.py -e

При добавлении опции -e, GyoiThon исследует содержимое по умолчанию таких продуктов, как CMS, программное обеспечение веб-сервера, в дополнение к стандартному режиму.
Изменяя параметры в config.ini, вы можете изменить настройки исследования.

CategoryParameterDescription
ContentExplorerdelay_timeВремя задержки исследования. Значение по умолчанию: 1 (сек).
Note
Когда вы используете эту опцию, это может привести к высокой нагрузке на сервер, поскольку GyoiThon выполняет множество обращений (сотни запросов) к целевому веб-серверу. Кроме того, из-за многочисленных ошибок 404, записываемых в журнал доступа, это может быть замечено SOC (Security Operation Center). Поэтому, если вы используете эту опцию, пожалуйста, уведомите заинтересованных лиц, таких как SOC, администратора, и используйте их в среде под вашим контролем и на свой страх и риск.

6. Режим взаимодействия с Censys.```

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

root@kitploit:~
При добавлении опции `-c`, GyoiThon проверяет номер открытого порта и сертификат сервера с помощью [Censys](https://censys.io/).  
Перед выполнением необходимо задать API-ключ и секретный ключ в следующих параметрах.  

|Категория|Параметр|Описание|
|:----|:----|:----|
|Censys|api_id|API-ключ Censys. |
||secret|Секретный ключ Censys. |

#### 7. Режим взаимодействия с Metasploit.```
root@kali:~/GyoiThon# python3 gyoithon.py -p

При добавлении опции -p GyoiThon проверяет реальные уязвимости, такие как DoS и бэкдоры, с помощью Metasploit в дополнение к стандартному режиму.
Перед выполнением необходимо запустить RPC-сервер Metasploit и задать указанные ниже параметры в config.ini.

Примечание
При использовании этой опции может быть оказано значительное влияние на работу сервера, поскольку GyoiThon выполняет эксплойт против целевого веб-сервера. Кроме того, эта опция может быть обнаружена SOC (Центром безопасности), так как эксплойты похожи на реальные атаки. Поэтому, если вы используете эту опцию, пожалуйста, уведомите заинтересованные стороны, такие как SOC, администратора, и используйте их в среде под вашим контролем и на свой страх и риск.

8. Режим анализа на основе сохраненных журналов.```

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

root@kitploit:~
При добавлении опции `-l` GyoiThon выполняет различные проверки, используя сохранённые HTTP-ответы без веб-сканирования.  

Этот режим предназначен для веб-приложений, для которых GyoiThon не может выполнять веб-сканирование.  
GyoiThon может выполнять различные проверки, аналогичные веб-сканированию в режиме по умолчанию, используя сохранённые HTTP-ответы, собранные локальным прокси-инструментом.  

| Примечание |
|:-----|
| Расширение файла журнала — `.log`. |

#### <a name='complex_mode'>9. Комбинация нескольких опций</a>.  
##### Комбинация "Режима проверки облачных сервисов" и "Режима анализа машинного обучения".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
Комбинация «Режим проверки облачных сервисов» и «Режим Google Hacking».```

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

root@kitploit:~
##### Комбинация «Режим проверки облачных сервисов», «Режим анализа машинного обучения» и «Режим Google Hacking».```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m -g
Все опции.```

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

root@kitploit:~
#### <a name='generating_sig'>10. Режим генерации сигнатуры/тренировочных данных</a>.```
root@kali:~/GyoiThon# python3 gyoithon.py -d --category=CMS --vendor=joomla! [email protected]@_origin.tar.zip

При добавлении опции -d, GyoiThon генерирует сигнатуры/обучающие данные для обнаружения веб-продуктов, работающих на целевом веб-сервере.
Опции следующие.

Проверка отчёта.

После завершения выполнения GyoiThon отчёты по каждой цели генерируются по следующему пути.``` 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 генерирует следующие два типа отчетов.

 * `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Это основной отчет, содержащий название продукта, версию, CVE и т.д.  
 Формат отчета: `gyoithon_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Детали каждой колонки приведены ниже.

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN целевого веб-сервера.|`www.gyoithon.example.com`|
|ip_addr|IP-адрес целевого веб-сервера.|`192.168.220.129`|
|port|Номер порта целевого веб-сервера.|`80`|
|cloud_type|Имя облачного сервиса (Azure, AWS, GCP или Unknown).|`AWS`|
|method|Способ проверки GyoiThon.|`Crawling`|
|url|Посещённый URL.|`http://192.168.220.129:80/WackoPicko/admin/index.php?page=login`|
|vendor_name|Название поставщика идентифицированных продуктов.|`apache`|
|prod_name|Идентифицированные продукты.|`http_server`|
|prod_version|Версия идентифицированных продуктов.|`2.2.14`|
|prod_trigger|Триггер идентифицированных продуктов.|`Apache/2.2.14`|
|prod_type|Категория продукта (Web, CMS, Framework и т.д.).|`Web`|
|prod_vuln|Номера CVE, соответствующие идентифицированным продуктам (описание и оценка CVSS).|`CVE-2017-3167, CVE-2017-3169, CVE-2017-7668` ...|
|origin_login|Наличие страницы входа (Log: анализ с помощью машинного обучения, Url: анализ с помощью сопоставления шаблонов строк в URL).|`Log : 37.5 %\nUrl : 100.0 %`|
|origin_login_trigger|Триггер идентифицированной страницы входа.|`Log : name",<input type="password"\nUrl : login`|
|wrong_comment|Обнаруженные ненужные комментарии.|`パスワードは「password1234」です。`|
|error_msg|Обнаруженные ненужные отладочные сообщения.|`Warning: mysql_connect() ..snip.. in auth.php on line 38`|
|server_header|Заголовок Server из HTTP-ответа.|`Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2`|
|log|Путь к сырым данным.|`/usr/home/~snip~/http_192.168.220.129_80_20181112170525765.log`|
|date|Дата проверки.|`2018/11/12  17:05:25`|

 * `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Это отчет о результатах поиска с использованием Censys, включающий открытые порты, информацию о сертификатах и т.д.  
 Формат отчета: `gyoithon_censys_report_target FQDN(or IP address)_Port number_Root Path.csv`.  
 Детали каждой колонки приведены ниже.

|Column|Description|Example|
|:----|:----|:----|
|fqdn|FQDN целевого веб-сервера.|`www.gyoithon.example.com`|
|ip_addr|IP-адрес целевого веб-сервера.|`192.168.220.129`|
|category|Категория информации.|`Server Info` или `Certification Info`|
|open_port|Открытый веб-порт.|`443`|
|protocol|Протокол открытого веб-порта.|`https`|
|sig_algorithm|Алгоритм подписи сертификата.|`SHA256-RSA`|
|cname|Общее имя (Common Name) сертификата.|`www.gyoithon.example.com`|
|valid_start|Дата начала действия сертификата.|`2018-08-15T00:00:00Z`|
|valid_end|Дата окончания действия сертификата.|`2019-09-16T12:00:00Z`|
|organization|Название организации, выдавшей сертификат.|`GyoiThon coorporation, Inc.`|
|date|Дата проверки.|`2018/11/22  11:19:36`|

| Примечание |
|:-----|
| Поскольку Censys требуется от нескольких дней до нескольких недель для сканирования всего Интернета, полученная от Censys информация может быть неактуальной. |

## <a name='Tips'>Советы</a>
### 1. Как вручную добавить новую сигнатуру (шаблоны сопоставления строк).  
Путь `signatures` включает следующие файлы.```
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

Это шаблоны сопоставления строк для идентификации продукта в режиме по умолчанию.
Если вы хотите добавить новый шаблон сопоставления строк, вы должны записать его в следующем формате.``` Format: field1@field2@field3@field4@field5

root@kitploit:~
|Тип|Поле#|Описание|Пример|
|:---|:---|:---|:---|
|Обязательный|1|Категория продукта.|`CMS`|
|Обязательный|2|Название вендора.|`drupal`|
|Обязательный|3|Название продукта.|`drupal`|
|Необязательный|4|Версия, привязанная к этой сигнатуре.|`8.0` |
|Обязательный|5|Регулярное выражение для идентификации продукта.|`.*(X-Generator: Drupal 8).*`|

Если необязательное поле не нужно, укажите `*` в этом поле.  

* Пример```
CMS@wordpress@wordpress@*@.*(WordPress ([0-9]+[\.0-9]*[\.0-9]*)).*
CMS@drupal@[email protected]@.*(X-Generator: Drupal 8).*
Примечание
Если вы хотите извлечь версию продукта, укажите две группы регулярных выражений (второе регулярное выражение используется для извлечения версии).

signature_default_content.txt

Это шаблоны сопоставления строк для идентификации продукта в режиме Исследование содержимого по умолчанию.
Если вы хотите добавить новый шаблон сопоставления строк, вы должны записать его в следующем формате.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Тип|Номер поля|Описание|Пример|
|:---|:---|:---|:---|
|Обязательное|1|Категория продукта.|`CMS`|
|Обязательное|2|Название вендора.|`sixapart`|
|Обязательное|3|Название продукта.|`movabletype`|
|Необязательное|4|Версия, привязанная к этой сигнатуре.|`*` |
|Обязательное|5|Путь исследования|`/readme.html`|
|Необязательное|6|Регулярное выражение для подтверждения продукта.|`.*(Movable Type).*`|
|Необязательное|7|Регулярное выражение для определения версии.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Обязательное|8|Страница входа или нет.|Страница входа — `1`, не страница входа — `0`|

Если необязательное поле не требуется, установите для него значение `*`.  

* Пример```
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
Примечание
Если вы хотите извлечь версию продукта, укажите две группы регулярных выражений (второе регулярное выражение используется для извлечения версии).
Примечание
Если GyoiThon не может подтвердить продукт только с помощью Explore path, вам необходимо указать поле Regex of to confirm product. GyoiThon переходит по URL из Explore path и проверяет HTTP-ответ с помощью Regex of to confirm product. Если это регулярное выражение совпадает, GyoiThon считает, что продукт существует.

signature_search_query.txt

Это запрос пользовательского поиска Google для идентификации продукта в режиме Google Hacking.
Если вы хотите добавить новый запрос, вам нужно записать его в следующем формате.``` Format: field1@field2@field3@field4@field5@field6@field7@field8

root@kitploit:~
|Тип|Поле#|Описание|Пример|
|:---|:---|:---|:---|
|Необязательное|1|Категория продукта.|`CMS`|
|Необязательное|2|Название вендора.|`sixapart`|
|Необязательное|3|Название продукта.|`movabletype`|
|Необязательное|4|Версия, привязанная к данной сигнатуре.|`*` |
|Обязательное|5|Запрос Google Custom Search|`inurl:/readme.html`|
|Необязательное|6|Регулярное выражение для подтверждения продукта.|`.*(Movable Type).*`|
|Необязательное|7|Регулярное выражение для определения версии.|`(v=([0-9]+[\.0-9]*[\.0-9]*))`|
|Необязательное|8|Страница входа или нет.|Страница входа — `1`, не страница входа — `0`|

Если необязательное поле не нужно, необходимо установить `*` в это поле.  

* Пример```
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
Если вы хотите извлечь версию продукта, укажите две regex-группы (вторая regex используется для извлечения версии).
Note
Если GyoiThon не может подтвердить продукт с помощью только Google Custom Search query, необходимо указать поле Regex of to confirm product. GyoiThon обращается к URL, содержащемуся в результатах выполнения Google Custom Search API, и анализирует HTTP-ответ с помощью Regex of to confirm product. Если это регулярное выражение совпадает, GyoiThon считает, что продукт существует.

signature_comment.txt

Это шаблоны сопоставления строк для идентификации ненужных комментариев в режиме по умолчанию.
Если вы хотите добавить новый шаблон сопоставления строк, запишите его в следующем формате.``` Format: field1

root@kitploit:~
|Тип|Поле#|Описание|
|:---|:---|:---|
|Обязательно|1|Регулярное выражение ненужного комментария.|

* Пример```
(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

Это шаблоны сопоставления строк для идентификации ненужных отладочных сообщений в режиме по умолчанию.
Если вы хотите добавить новый шаблон сопоставления строк, вам нужно записать его в следующем формате.``` Format: field1

root@kitploit:~
|Type|Field#|Description|
|:---|:---|:---|
|Обязательное|1|Регулярное выражение ненужного отладочного сообщения.|

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

signature_page_type_from_url.txt

Это шаблоны сопоставления строк для идентификации типа страницы на основе URL в режиме по умолчанию. Если вы хотите добавить новый шаблон сопоставления строк, вы должны записать его в следующем формате.``` Format: field1@field2

root@kitploit:~
|Type|Field#|Описание|
|:---|:---|:---|
|Обязательный|1|Тип страницы.|

* Пример```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
Примечание
Имя поставщика и имя продукта выше должны соответствовать имени в формате CPE.

2. Как вручную добавить обучающие данные.

Путь modules/train_data/ включает два обучающих набора данных для машинного обучения.``` root@kali:~/GyoiThon/modules/train_data/ ls train_cms_in.txt train_page_type.txt

root@kitploit:~
#### `train_cms_in.txt`  
Это обучающие данные для анализа в <a name='machine_learning_mode'>режиме машинного обучения</a>.  
Если вы хотите добавить новые обучающие данные, вы должны записать их в следующем формате.```
Format: field1@field2@field3@field4

Если вам не нужно необязательное поле, вы должны установить * для этого поля.

  • Пример``` 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:~
|Примечание|
|:---|
|Указанные выше названия вендора и продукта должны соответствовать названию в [формате CPE](https://en.wikipedia.org/wiki/Common_Platform_Enumeration).|

#### `train_page_type.txt`  
Это обучающие данные для определения типа страницы с помощью машинного обучения в режиме <a name='default_mode'>по умолчанию</a>.  
Если вы хотите добавить новые обучающие данные, вы должны записать их в следующем формате.```
Format: field1@field2
ТипПоле#Описание
Обязательно1Категория.
Обязательно2Функция страницы, выраженная регулярным выражением.
  • Пример``` Login@.*(<input.type=["']text["'].name=["']user|uid|username|user_name|name["']).> Login@.(<input.type=["']password["']).>
root@kitploit:~
### 3. Как изменить "опцию модуля эксплойта".
Когда GyoiThon эксплуатирует, он использует **значение по умолчанию** опций модуля эксплойта.  
Если вы хотите изменить значения опций, введите любое значение в `"user_specify"` в `exploit_tree.json` следующим образом.```
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/"
        },

Вышеприведённый пример предназначен для изменения значения опции TARGETURI в модуле эксплойта "exploit/unix/webapp/joomla_media_upload_exec" с "/joomla" на "/my_original_dir/".

4. Как обращаться через прокси-сервер.

GyoiThon может обращаться к целевому серверу через прокси-сервер.
Если вы хотите использовать прокси-сервер, введите информацию о прокси-сервере в config.ini.

Примечание
В настоящее время в GyoiThon реализована только базовая аутентификация.

Среда проверки работы

  • Kali Linux 2018.2 (для Metasploit)
    • CPU: Intel(R) Core(TM) i5-5200U 2.20GHz
    • Память: 8.0GB
    • Metasploit Framework 4.16.48-dev
    • Python 3.6.6

Лицензия

Apache License 2.0

Контакты

[email protected]

  • Masafumi Masuya
    https://twitter.com/gyoizamurai
  • Toshitsugu Yoneyama
    https://twitter.com/yoneyoneyo
  • Isao Takaesu
    https://twitter.com/bbr_bbq
Скачать инструмент
ИндексДоменПоддоменIP-адресСтатус доступа (http)Расположение (http)Статус доступа (https)Расположение (https)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--
КатегорияПараметрОписание
Spiderdepth_limitМаксимальная глубина сканирования. Значение по умолчанию: 2 слоя.
delay_timeВремя задержки сканирования. Значение по умолчанию: 3 (сек).
time_outОпция закрытия паука. Тайм-аут сканирования. Значение по умолчанию: 600 (сек).
item_countОпция закрытия паука. Максимальное количество элементов. Значение по умолчанию: 300.
page_countОпция закрытия паука. Максимальное количество элементов на страницу. Значение по умолчанию: 0 (без ограничений).
error_countОпция закрытия паука. Максимальное количество ошибок. Значение по умолчанию: 0 (без ограничений).
КатегорияПараметрОписание
Commonmax_target_urlМаксимальное количество URL для проверки. Если количество URL, собранных веб-сканированием, превышает это значение, избыточные URL отбрасываются. Значение по умолчанию: 100. 0 — без ограничений.
max_target_byteМаксимальный размер ответа для проверки. Если размер ответа превышает это значение, избыточный размер отбрасывается. Значение по умолчанию: 10000 байт. 0 — без ограничений.
scrambleСписок URL, собранный веб-сканированием, случайным образом упорядочивается. Значение по умолчанию: 1 (активно). 0 — неактивно.
КатегорияПараметрОписание
Эксплойтserver_hostВыделенный IP-адрес для RPC-сервера (msgrpc).
server_portВыделенный номер порта для RPC-сервера (msgrpc).
msgrpc_userИдентификатор пользователя для авторизации msgrpc.
msgrpc_passПароль для авторизации msgrpc.
LHOSTВыделенный IP-адрес для RPC-сервера (msgrpc).
ОпцияОписаниеПример
--categoryКатегория продукта в сигнатуре/обучающих данных.OS или WEB или FRAMEWORK или CMS.
--vendorНазвание вендора продукта в сигнатуре/обучающих данных.wordpress, joomla!, drupal.
--packageИмя импортируемого файла пакета. Необходимо разделить три поля: название продукта, версию и расширение с помощью @.[email protected]@.tar.gz, [email protected]@_origin.tar.zip, [email protected]@.tar.gz.
ТипПоле #ОписаниеПример
Обязательное1Название вендора.joomla
Обязательное2Название продукта.joomla\!
Необязательное3Версия, связанная с этими обучающими данными.*
Обязательное4Особенность продукта, выраженная регулярным выражением.(Set-Cookie: [a-z0-9]{32}=.*);
КатегорияПараметрОписание
ОбщиеproxyИнформация о прокси-сервере. Формат: scheme://hostname:port (например: http://proxy-example:8083).
proxy_userЕсли требуется аутентификация на прокси, укажите имя пользователя.
proxy_passЕсли требуется аутентификация на прокси, укажите пароль.