
GyoiThon एक बढ़ता हुआ पैठ परीक्षण उपकरण है जो Machine Learning का उपयोग करता है।

जापानी पृष्ठ यहाँ है।
नया GyoiThon (संस्करण 0.0.4) इंटरनेट पर मौजूद आपके सबडोमेन को सूचीबद्ध कर सकता है। और यदि सबडोमेन वेब सेवा के रूप में प्रकाशित है, तो GyoiThon एक स्वास्थ्य जांच करता है जो कि एक गैर-विनाशकारी भेद्यता मूल्यांकन है।
| नोट |
|---|
| नया फंक्शन Google कस्टम सर्च API का उपयोग करता है। इसलिए यदि आप नए फंक्शन का उपयोग करते हैं, तो आपको Google कस्टम सर्च की एक API कुंजी तैयार करनी होगी। |
domain_list.csv निम्नानुसार तैयार करना होगा: ```
"Domain Name"
mbsd.jpऔर आप निम्नलिखित कमांड निष्पादित करते हैं। ```
root@kali:~/GyoiThon# python3 gyoithon.py -i --domain_list
परिणामस्वरूप, आपको निर्दिष्ट डोमेन से संबंधित उपडोमेन की एक सूची प्राप्त होती है।
परिणामस्वरूप, आपको उपडोमेन की सूची और मूल्यांकन रिपोर्ट मिलती है।
|अनुक्रमांक|डोमेन|उपडोमेन|IP पता|एक्सेस स्थिति (http)|स्थान (http)|एक्सेस स्थिति (https)|स्थान (https)|Whois records|मूल्यांकन परिणाम|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|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 नंबर**, **अनावश्यक एचटीएमएल टिप्पणियाँ**/**डिबग संदेश**, **लॉगिन पृष्ठ** आदि की पहचान कर सकता है।
* वास्तविक कमजोरी की जांच
GyoiThon पहचाने गए उत्पादों पर Metasploit का उपयोग करके एक्सप्लॉइट मॉड्यूल निष्पादित कर सकता है।
परिणामस्वरूप, यह **लक्ष्य वेब सर्वर की वास्तविक कमजोरी की जांच** कर सकता है।

| नोट |
|:-----|
| यदि आप रुचि रखते हैं, **कृपया उन्हें अपने नियंत्रण में और अपने स्वयं के जोखिम पर उपयोग करें**। |
## <a name='Installation'>स्थापना</a>
1. git clone GyoiThon's repository.```
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/
| नोट |
|:-----|
| आप Root Path के आरंभ और अंत में `/` डालते हैं। |
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 का उपयोग करता है।
config.ini में पैरामीटर बदलकर, आप Scrapy की सेटिंग बदल सकते हैं।config.ini में पैरामीटर बदलकर, आप परीक्षण गति को समायोजित कर सकते हैं।| नोट |
|---|
| परीक्षण की गति और सटीकता में व्यापार-बंद है। |
root@kali:~/GyoiThon# python3 gyoithon.py -s
`-s` विकल्प जोड़कर, GyoiThon डिफ़ॉल्ट मोड के अतिरिक्त लक्ष्य वेब सर्वर द्वारा क्लाउड सेवा का उपयोग करने या न करने की पहचान करता है।
निष्पादन से पहले, आपको `config.ini` के नीचे दिए गए पैरामीटर को बदलना होगा।
|श्रेणी|पैरामीटर|विवरण|
|:----|:----|:----|
|CloudChecker|azure_ip_range|Azure डेटासेंटर IP रेंज का स्रोत URL। |
यह पैरामीटर Azure डेटासेंटर IP रेंज का स्रोत URL है। यह URL प्रति दिन कुछ बार बदलता है। इसलिए, आपको GyoiThon चलाने से पहले पृष्ठ "[Microsoft Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/confirmation.aspx?id=41653)" पर लिंक "यहां मैन्युअल रूप से डाउनलोड करने के लिए क्लिक करें" से नवीनतम URL प्राप्त करना होगा और इसे उपरोक्त पैरामीटर पर सेट करना होगा।
#### 3. मशीन लर्निंग विश्लेषण मोड।```
root@kali:~/GyoiThon# python3 gyoithon.py -m
By add -m option, GyoiThon identifies products/version using Machine Learning (Naive Bayes) in addition to default mode.
root@kali:~/GyoiThon# python3 gyoithon.py -g
By add `-g` option, GyoiThon identifies products/version using Google Custom Search API in addition to default mode. Before execution, you must set [API key](https://console.cloud.google.com/apis/dashboard) and [Search engine ID](https://support.google.com/customsearch/answer/2649143?hl=ja) to the below parameters.
|श्रेणी|पैरामीटर|विवरण|
|:----|:----|:----|
|GoogleHack|api_key|Google Custom Search API की API key. |
||search_engine_id|Google खोज इंजन ID. |
| Note |
|:-----|
| आप प्रति दिन 100 क्वेरी के मुफ्त Google Custom Search API का उपयोग कर सकते हैं। लेकिन, यदि आप 100 से अधिक क्वेरी का उपयोग करना चाहते हैं, तो आपको Google Custom Search API सेवा के लिए शुल्क देना होगा। |
#### 5. डिफ़ॉल्ट सामग्री मोड की खोज.```
root@kali:~/GyoiThon# python3 gyoithon.py -e
By add -e option, GyoiThon डिफ़ॉल्ट मोड के अलावा CMS, वेब सर्वर सॉफ़्टवेयर जैसे उत्पादों की डिफ़ॉल्ट सामग्री का अन्वेषण करता है।
config.ini में पैरामीटर बदलकर, आप अन्वेषण की सेटिंग बदल सकते हैं।
| श्रेणी | पैरामीटर | विवरण |
|---|---|---|
| ContentExplorer | delay_time | अन्वेषण का विलंब समय. डिफ़ॉल्ट मान 1 (सेकंड) है। |
| नोट |
|---|
| जब आप इस विकल्प का उपयोग करते हैं, तो लक्ष्य वेब सर्वर के विरुद्ध GyoiThon असंख्य पहुँच (सैकड़ों पहुँच) निष्पादित करने के कारण सर्वर पर भारी भार प्रभावित हो सकता है। इसके अलावा, 404 त्रुटि लॉग असंख्य मात्रा में एक्सेस लॉग में लिखे जाने से, यह SOC (सुरक्षा संचालन केंद्र) द्वारा पकड़ा जा सकता है। इसलिए, यदि आप इस विकल्प का उपयोग करते हैं, कृपया संबंधित व्यक्ति जैसे SOC, प्रशासक को सूचित करें और उनका उपयोग अपने नियंत्रण में और अपने जोखिम पर करें। |
root@kali:~/GyoiThon# python3 gyoithon.py -c
By add `-c` option, GyoiThon examines open port number and server certification using [Censys](https://censys.io/).
Before execution, you must set API key and Secret key to the below parameters.
|श्रेणी|पैरामीटर|विवरण|
|:----|:----|:----|
|Censys|api_id|Censys की API key. |
||secret|Censys की Secret key. |
#### 7. Metasploit सहयोग मोड।```
root@kali:~/GyoiThon# python3 gyoithon.py -p
By add -p option, GyoiThon examines real vulnerabilities such as DoS and backdoor using Metasploit in addition to default mode.
Before execution, you must launch RPC server of Metasploit and set below parameters in config.ini.
| नोट |
|---|
| जब आप इस विकल्प का उपयोग करते हैं, तो GyoiThon द्वारा लक्ष्य वेब सर्वर पर शोषण निष्पादित करने के कारण सर्वर संचालन पर भारी प्रभाव पड़ सकता है। इसके अलावा, यह विकल्प SOC (सुरक्षा संचालन केंद्र) द्वारा पकड़ा जा सकता है क्योंकि शोषण वास्तविक हमलों के समान होते हैं। इसलिए, यदि आप इस विकल्प का उपयोग करते हैं, तो कृपया संबंधित व्यक्तियों जैसे SOC, प्रशासक को सूचित करें और इसे अपने नियंत्रण वाले वातावरण में और अपने स्वयं के जोखिम पर उपयोग करें और। |
root@kali:~/GyoiThon# python3 gyoithon.py -l --log_path="Full path of stored logs"
By add `-l` option, GyoiThon executes various examination using stored HTTP responses without web crawling.
`-l` विकल्प जोड़ने पर, GyoiThon वेब क्रॉलिंग के बिना संग्रहीत HTTP प्रतिक्रियाओं का उपयोग करके विभिन्न परीक्षण निष्पादित करता है।
This mode assumes the web application that GyoiThon cannot execute web crawling.
GyoiThon can execute various examination similar web crawling of default mode using stored HTTP responses gathered by local proxy tool.
यह मोड उस वेब एप्लिकेशन को मानता है जिसके लिए GyoiThon वेब क्रॉलिंग निष्पादित नहीं कर सकता।
GyoiThon स्थानीय प्रॉक्सी टूल द्वारा एकत्रित संग्रहीत HTTP प्रतिक्रियाओं का उपयोग करके डिफ़ॉल्ट मोड के समान वेब क्रॉलिंग के विभिन्न परीक्षण निष्पादित कर सकता है।
| Note |
|:-----|
| Log file's extension is `.log`. |
| नोट |
|:-----|
| लॉग फ़ाइल का एक्सटेंशन `.log` है। |
#### <a name='complex_mode'>9. Combination of multiple options</a>.
##### Combination of "Examination of cloud services mode" and "Machine Learning analysis mode".
#### <a name='complex_mode'>9. एकाधिक विकल्पों का संयोजन</a>.
##### "क्लाउड सेवाओं के परीक्षण मोड" और "मशीन लर्निंग विश्लेषण मोड" का संयोजन।```
root@kali:~/GyoiThon# python3 gyoithon.py -s -m
root@kali:~/GyoiThon# python3 gyoithon.py -s -g
##### "क्लाउड सेवाओं की जांच मोड", "मशीन लर्निंग विश्लेषण मोड" और "गूगल हैकिंग मोड" का संयोजन।```
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 या अज्ञात)।|`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|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` or `Certification Info`|
|open_port|खुला वेब पोर्ट।|`443`|
|protocol|खुले वेब पोर्ट का प्रोटोकॉल।|`https`|
|sig_algorithm|प्रमाणन का हस्ताक्षर एल्गोरिदम।|`SHA256-RSA`|
|cname|प्रमाणन का सामान्य नाम।|`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).*
| टिप्पणी |
|---|
| यदि आप उत्पाद संस्करण निकालना चाहते हैं, तो आप दो regex समूह लिखें (दूसरा regex संस्करण निकालने के लिए उपयोग किया जाता है). |
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
| नोट |
|---|
| यदि आप उत्पाद संस्करण निकालना चाहते हैं, तो आप दो regex समूह लिखते हैं (दूसरा regex संस्करण निकालने के लिए उपयोग किया जाता है). |
| नोट |
|---|
यदि GyoiThon केवल Explore path द्वारा उत्पाद की पुष्टि नहीं कर सकता, तो आपको Regex of to confirm product फ़ील्ड को इंगित करना होगा। GyoiThon Explore path URL तक पहुँचता है और Regex of to confirm product का उपयोग करके HTTP प्रतिक्रिया की जाँच करता है। यदि यह regex मेल खाता है, तो GyoiThon निर्णय करता है कि उत्पाद मौजूद है। |
signature_search_query.txtयह Google Hacking mode में उत्पाद की पहचान के लिए Google Custom Search क्वेरी है।
यदि आप नई क्वेरी जोड़ना चाहते हैं, तो आपको इसे निम्नलिखित प्रारूप में लिखना होगा।```
Format: field1@field2@field3@field4@field5@field6@field7@field8
|प्रकार|फ़ील्ड#|विवरण|उदाहरण|
|:---|:---|:---|:---|
|वैकल्पिक|1|उत्पाद श्रेणी|`CMS`|
|वैकल्पिक|2|विक्रेता का नाम|`sixapart`|
|वैकल्पिक|3|उत्पाद का नाम|`movabletype`|
|वैकल्पिक|4|इस हस्ताक्षर से जुड़ा संस्करण|`*` |
|आवश्यक|5|Google कस्टम खोज क्वेरी|`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 Google Custom Search API के निष्पादन परिणाम में शामिल URL तक पहुँचता है और Regex of to confirm product का उपयोग करके HTTP प्रतिक्रिया की जाँच करता है। यदि यह regex मेल खाता है, तो 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
|प्रकार|फ़ील्ड#|विवरण|
|:---|:---|:---|
|आवश्यक|1|अनावश्यक डिबग संदेश का रेगेक्स|
* उदाहरण```
(ORA-[0-9a-zA-Z\.])
(fail|error|notice|parse|warning|fatal)[^\n]*line[^\n]*[0-9]+
signature_page_type_from_url.txtयह URL आधारित पृष्ठ प्रकार की पहचान के लिए स्ट्रिंग मिलान पैटर्न हैं, जो default mode में काम करता है।
यदि आप कोई नया स्ट्रिंग मिलान पैटर्न जोड़ना चाहते हैं, तो आपको इसे निम्नलिखित प्रारूप में लिखना होगा।```
Format: field1@field2
|प्रकार|फ़ील्ड #|विवरण|
|:---|:---|:---|
|आवश्यक|1|पेज प्रकार।|
|आवश्यक|2|पेज प्रकार की पहचान करने वाला Regex।|
* उदाहरण```
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'>Machine Learning मोड</a> में Machine Learning विश्लेषण के लिए प्रशिक्षण डेटा है।
यदि आप नया प्रशिक्षण डेटा जोड़ना चाहते हैं, तो आपको इसे निम्नलिखित प्रारूप में लिखना होगा।```
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 एक्सप्लॉइट करता है, तो वह एक्सप्लॉइट मॉड्यूल विकल्पों के **डिफ़ॉल्ट मान** का उपयोग करता है।
यदि आप विकल्प मान बदलना चाहते हैं, तो कृपया `exploit_tree.json` में `"user_specify"` में कोई भी मान इनपुट करें जैसा कि निम्नलिखित है।```
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/"
},
उपरोक्त उदाहरण, एक्सप्लॉइट मॉड्यूल "exploit/unix/webapp/joomla_media_upload_exec" में TARGETURI विकल्प का मान "/joomla" से "/my_original_dir/" में बदलने के लिए है।
GyoiThon, प्रॉक्सी सर्वर के माध्यम से लक्ष्य सर्वर तक पहुँच सकता है।
यदि आप प्रॉक्सी सर्वर का उपयोग करना चाहते हैं, तो कृपया config.ini में प्रॉक्सी सर्वर की जानकारी दर्ज करें।
| नोट |
|---|
| अभी, GyoiThon केवल बेसिक प्रमाणीकरण के साथ लागू किया गया है. |
| सूचकांक | डोमेन | उप-डोमेन | आईपी पता | एक्सेस स्थिति (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 अमान्य है। |
| श्रेणी | प्राचल | विवरण |
|---|
| Exploit | server_host | RPC सर्वर (msgrpc) को आवंटित IP पता |
| server_port | RPC सर्वर (msgrpc) को आवंटित पोर्ट नंबर | |
| msgrpc_user | msgrpc के प्राधिकरण के लिए उपयोगकर्ता ID | |
| msgrpc_pass | msgrpc के प्राधिकरण के लिए पासवर्ड | |
| LHOST | RPC सर्वर (msgrpc) को आवंटित IP पता |
| विकल्प | विवरण | उदाहरण |
|---|
| --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 | यदि आपको प्रॉक्सी प्रमाणीकरण की आवश्यकता है, तो कृपया प्रमाणीकरण पासवर्ड दर्ज करें. |