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

Японская страница находится здесь.
Новая версия GyoiThon (версия 0.0.4) может собрать список ваших поддоменов, доступных из Интернета. И если поддомен опубликован как веб-сервис, то GyoiThon выполняет проверку работоспособности, которая представляет собой неразрушающую оценку уязвимостей.
| Примечание |
|---|
| Новая функция использует Google Custom Search API. Поэтому, если вы используете новую функцию, вам необходимо подготовить API-ключ Google Custom Search. |
domain_list.csv следующим образом: ```
"Domain Name"
mbsd.jpИ вы выполняете следующую команду. ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list
В результате вы получаете список поддоменов, связанных с указанным доменом.
В результате вы получаете список поддоменов и отчёт об оценке.
|Индекс|Домен|Поддомен|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.
В результате он может **проверить реальные уязвимости целевого веб-сервера**.

| Примечание |
|:-----------|
| Если вам интересно, **пожалуйста, используйте их в среде под вашим контролем и на свой собственный риск**. |
## <a name='Installation'>Установка</a>
1. Клонируйте репозиторий GyoiThon с помощью git.```
root@kali:~# git clone https://github.com/gyoisamurai/GyoiThon.git
3. установите необходимые пакеты Python.```
root@kali:~# cd GyoiThon
root@kali:~/GyoiThon# pip3 install -r requirements.txt
root@kali:~/GyoiThon# apt install python3-tk
config.ini.Используя режим по умолчанию без опций и комбинацию нескольких опций, 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.
### Подготовка.
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/
| Примечание |
|:-----------|
| Вставляйте `/` в начале и в конце корневого пути. |
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
Режим по умолчанию собирает следующую минимальную информацию.
Scrapy — библиотеку Python.config.ini, вы можете изменить настройки Scrapy.config.ini, вы можете регулировать скорость проверки.| Примечание |
|---|
| Скорость и точность проверки являются компромиссом. |
root@kali:~/GyoiThon# python3 gyoithon.py -s
При добавлении опции `-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 определяет продукты/версии с помощью машинного обучения (Наивный Байес) в дополнение к режиму по умолчанию.
root@kali:~/GyoiThon# python3 gyoithon.py -g
При добавлении опции `-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, вы можете изменить настройки исследования.
| Category | Parameter | Description |
|---|---|---|
| ContentExplorer | delay_time | Время задержки исследования. Значение по умолчанию: 1 (сек). |
| Note |
|---|
| Когда вы используете эту опцию, это может привести к высокой нагрузке на сервер, поскольку GyoiThon выполняет множество обращений (сотни запросов) к целевому веб-серверу. Кроме того, из-за многочисленных ошибок 404, записываемых в журнал доступа, это может быть замечено SOC (Security Operation Center). Поэтому, если вы используете эту опцию, пожалуйста, уведомите заинтересованных лиц, таких как SOC, администратора, и используйте их в среде под вашим контролем и на свой страх и риск. |
root@kali:~/GyoiThon# python3 gyoithon.py -c
При добавлении опции `-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, администратора, и используйте их в среде под вашим контролем и на свой страх и риск. |
root@kali:~/GyoiThon# python3 gyoithon.py -l --log_path="Full path of stored logs"
При добавлении опции `-l` GyoiThon выполняет различные проверки, используя сохранённые HTTP-ответы без веб-сканирования.
Этот режим предназначен для веб-приложений, для которых GyoiThon не может выполнять веб-сканирование.
GyoiThon может выполнять различные проверки, аналогичные веб-сканированию в режиме по умолчанию, используя сохранённые HTTP-ответы, собранные локальным прокси-инструментом.
| Примечание |
|:-----|
| Расширение файла журнала — `.log`. |
#### <a name='complex_mode'>9. Комбинация нескольких опций</a>.
##### Комбинация "Режима проверки облачных сервисов" и "Режима анализа машинного обучения".```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
root@kali:~/GyoiThon# python3 gyoithon.py -s -g
##### Комбинация «Режим проверки облачных сервисов», «Режим анализа машинного обучения» и «Режим 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"
#### <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
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
|Тип|Поле#|Описание|Пример|
|:---|:---|:---|:---|
|Обязательный|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
|Тип|Номер поля|Описание|Пример|
|:---|:---|:---|:---|
|Обязательное|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
|Тип|Поле#|Описание|Пример|
|:---|:---|:---|:---|
|Необязательное|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
|Тип|Поле#|Описание|
|:---|:---|:---|
|Обязательно|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
|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
|Type|Field#|Описание|
|:---|:---|:---|
|Обязательный|1|Тип страницы.|
* Пример```
Login@.*(login|log_in|logon|log_on|signin|sign_in).*
| Примечание |
|---|
| Имя поставщика и имя продукта выше должны соответствовать имени в формате CPE. |
Путь modules/train_data/ включает два обучающих набора данных для машинного обучения.```
root@kali:~/GyoiThon/modules/train_data/ ls
train_cms_in.txt
train_page_type.txt
#### `train_cms_in.txt`
Это обучающие данные для анализа в <a name='machine_learning_mode'>режиме машинного обучения</a>.
Если вы хотите добавить новые обучающие данные, вы должны записать их в следующем формате.```
Format: field1@field2@field3@field4
Если вам не нужно необязательное поле, вы должны установить * для этого поля.
|Примечание|
|:---|
|Указанные выше названия вендора и продукта должны соответствовать названию в [формате CPE](https://en.wikipedia.org/wiki/Common_Platform_Enumeration).|
#### `train_page_type.txt`
Это обучающие данные для определения типа страницы с помощью машинного обучения в режиме <a name='default_mode'>по умолчанию</a>.
Если вы хотите добавить новые обучающие данные, вы должны записать их в следующем формате.```
Format: field1@field2
| Тип | Поле# | Описание |
|---|---|---|
| Обязательно | 1 | Категория. |
| Обязательно | 2 | Функция страницы, выраженная регулярным выражением. |
### 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/".
GyoiThon может обращаться к целевому серверу через прокси-сервер.
Если вы хотите использовать прокси-сервер, введите информацию о прокси-сервере в config.ini.
| Примечание |
|---|
| В настоящее время в GyoiThon реализована только базовая аутентификация. |
| Индекс | Домен | Поддомен | 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 | - | - |
| Категория | Параметр | Описание |
|---|
| Spider | depth_limit | Максимальная глубина сканирования. Значение по умолчанию: 2 слоя. |
| delay_time | Время задержки сканирования. Значение по умолчанию: 3 (сек). | |
| time_out | Опция закрытия паука. Тайм-аут сканирования. Значение по умолчанию: 600 (сек). | |
| item_count | Опция закрытия паука. Максимальное количество элементов. Значение по умолчанию: 300. | |
| page_count | Опция закрытия паука. Максимальное количество элементов на страницу. Значение по умолчанию: 0 (без ограничений). | |
| error_count | Опция закрытия паука. Максимальное количество ошибок. Значение по умолчанию: 0 (без ограничений). |
| Категория | Параметр | Описание |
|---|
| Common | max_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 | Если требуется аутентификация на прокси, укажите пароль. |