GyoiThon:基于机器学习的渗透测试工具

简介

GyoiThon是一款本机具竞争的渗透测试工具。

Gyothon分清本SeLeNi的Web满足需要上装置的软件,中间设备,骨架构架,CMS等。。较晚地,Gyothon对分清的软件停止无效的袭击。。终极,GyoiThon将不自觉动作创造扫描比分公告。。前述的褶皱由Gyothon不自觉动作使生效。。

处置过程

GyoiThon将不自觉动作使生效前述的STEP1-STEP4。。

用户的但是容易搬运是在GyoiThon。,输出目的Web满足需要URL的首页。。

这很复杂。,它粗鲁地破费你无论哪个的工夫和生气。,您可以舒适的地分清Web满足需要上的泄密。。

处置连贯

第1步:搜集HTTP回答。

Gyothon将在CWOW中搜集目的网站的专有的HTTP回答。下面是Gyothon购置物的HTTP回答示例。。

示例1

HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 03:01:57 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Etag: "409ed-183-53c5f732641c0"
Content-Length: 15271
挫伤。

示例2

HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 06:56:17 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;
path=/;
Content-Length: 37496
挫伤。

示例3

HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 04:19:19 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: 11819
挫伤。
 

第2步:分清产品选派

Gyothon应用以下两种方式。,验明装置在Web满足需要上的产品选派。。

1。机具竞争

应用机具竞争(单纯的贝斯取自父名),Gyothon本每个软件粗有区别的的怪癖(ETAG VALU)、迷人的姑娘付出代价、使化合详述的HTML门或窗户下面的线脚等停止分清。。单纯的贝斯取自父名从以下示例的锻炼履历中竞争(锻炼)。与署名库有区别的,,当软件在特点中未被分清时,Naive Bias是本随机分清的一切特点遏制。

示例1

Etag: "409ed-183-53c5f732641c0"

Gyothon可以分清Apache的Web满足需要软件。

这是由于Gyothon学会了Apache的特点。,像“Etag头值(409ed-183-53c5f732641c0)”。在本人的商量测试中查明,Apache应用数字和小写字母字母的结成作为ETAG值。。而且,ETAG值被划分为4-5微不足道的、3-4微不足道的和12微不足道的。,在大少数养护下,终极座位是0。。

示例2

Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;

Gyothon可以分清CMS。 Joomla !

这是由于晶蜡石学会了乔姆拉的怪癖。!像,曲奇的名字(F0E6) … 9831e)”和“迷人的姑娘付出代价(0eba9 … 7f587)”。在本人的商量测试中查明,Joomla!在少数养护下应用32个小写字母字母作为Cookie选派和迷人的姑娘付出代价。

拖裾履历(例)

Joomla! (CMS)

Set-Cookie: ([a-z0-9]{32})=[a-z0-9]{26,32};
Set-Cookie: [a-z0-9]{32}=([a-z0-9]{26,32});
挫伤。

HeartCore (称为日本的CMS)

Set-Cookie:.*=([A-Z0-9]{32});.*

Apache (Web满足需要软件)

Etag:***-[-9a-Z] { 3,4}-[0-9a-z]{13}")[\r\n]
挫伤。

2。本字母串婚配。

自然,GyoiThon也可以经过惯例渗透测试工具中应用的字母串婚配来分清软件。榜样列举如下。

示例3

Gyothon可以分清CMS。 Drupal。

这舒适的。

第3步:应用元用模子做来应用。

GyoiThon应用Metasploit使生效与分清软件绝对应的泄密应用,并反省软件可能的选择受此泄密的产生。。

运转示例

[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_nonx_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp_uuid, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_ipv6_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_tcp, result: failure
挫伤。
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/debug_trap, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_bind_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_reverse_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/tight_loop, result: bingo!!

第4步:创造扫描公告。

Gyothon公告创造摘要泄密。

该公告采取HTML的电视节目的总安排。。

验电板

录像磁带演示:

应用

设定初值Metasploit DB

率先,应用MSFDB命令设定初值Meta ASPPLIT 履历库(PostgreSQL)。

根@容易受骗的人 msfdb init

过程1启动元用模子做骨架构架

可以装置Meta asPoTIT。 骨架构架长途满足需要(如KALI) 在Linux上启动元编码。

根@容易受骗的人 msfconsole
______________________________________________________________________________
|                                                                              |
|                   METASPLOIT CYBER MISSILE COMMAND V4                        |
|______________________________________________________________________________|
     \\                                  /                      /
      \\     .                          /                      /            x
       \\                              /                      /
        \\                            /          +           /
         \\            +             /                      /
          *                        /                      /
                                  /      .               /
   X                             /                      /            X
                                /                     ###
                               /                     # % #
                              /                       ###
                     .       /
    .                       /      .            *           .
                           /
                          *
                 +                       *
                                      ^
####      __     __     __          #######         __     __     __        ####
####    /    \\ /    \\ /    \\      ###########     /    \\ /    \\ /    \\      ####
################################################################################
################################################################################
# WAVE 4 ######## SCORE 31337 ################################## HIGH FFFFFFFF #
################################################################################

https://metasploit.com

      =[ metasploit v4.16.15-dev                         ]
+ -- --=[ 1699 exploits - 968 auxiliary - 299 post        ]
+ -- --=[ 503 payloads - 40 encoders - 10 nops            ]
+ -- --=[ Free Metasploit Pro trial:  ]
msf >

启动RPC满足需要

RPC满足需要启动元编码。

msf> load msgrpc ServerHost= ServerPort=55553 User=test Pass=test1234
[*] MSGRPC Service: 
[*] MSGRPC Username: test
[*] MSGRPC Password: test1234
[*] Successfully loaded plugin: msgrpc
msgrpc得到或获准进行选择 界定方法
ServerHost Meta ASP启动的满足需要IP地址。下面的榜样是:。
ServerPort Meta源满足需要端标语。下面的榜样是:55553。
User 身份验证用户名 (默许) => 无国界大夫有组织的)。下面的榜样是:test。
Pass 身份验证密电码 (默许) 随机串)。下面的榜样是:test1234。

汇编者分配寄给报社。

必须做的事更改以下值

挫伤。
[GyoiExploit]
server_host      : 
server_port      : 55553
msgrpc_user      : test
msgrpc_pass      : test1234
timeout          : 10
LHOST            : 
LPORT            : 4444
挫伤。
分配 界定方法
server_host Meta ASP启动的满足需要IP地址。在过程2中设置的满足需要领袖值。
server_port Meta源满足需要端标语。在过程2中设置的满足需要持枪值。
msgrpc_user 身份验证用户名。您在STEP2中设置的用户值。
msgrpc_pass 身份验证密电码。在过程2中设置的发射值。
LHOST Meta ASP启动的满足需要IP地址。在过程2中设置的满足需要领袖值。

汇编者目的(目的)寄给报社。

Gyothon应用对目的满足需要的面试。

因而,在使生效GyoiThon先前必须做的事停止汇编者。。

的范本

target server => 192.168.220.148
target port => 80
target path => /oscommerce/catalog/

192.168.220.148 80 /oscommerce/catalog/

必须做的事应用空格切断IP地址。,端标语和目的方法。

运转GyoiThon

行政命令列举如下。

慢车@客户端 python gyoithon.py

过程6扫描公告

应用无论哪个逛商店的人翻开和检查日记。。

慢车@客户端 firefox "gyoithon root path"/classifier4gyoithon/report/

球杆

1。若何添加字母串婚配以图案装饰。

署名方法包孕对应于每个产品类别的第四寄给报社。。。

慢车@客户端 ls "gyoithon root 方法/署名



此寄给报社遏制CMS的字母串婚配以图案装饰。。

该寄给报社遏制骨架构架的字母串婚配以图案装饰。。

此寄给报社遏制容易搬运系统的字母串婚配以图案装饰。。

此寄给报社遏制Web满足需要软件的字母串婚配以图案装饰。。

是否要添加新的字母串婚配以图案装饰,你可以在每个寄给报社的终于共有的添加新的字母串婚配以图案装饰。

像,在CMS中添加第一新的字母串婚配以图案装饰。。

tikiwiki@(Powered by TikiWiki)
wordpress@<.*=(.*/wp-).*/.*>
wordpress@(
typo@(

注意

下面的新产品选派必须做的事是Meta标记的选派。。必须做的事应用@来分离新产品选派和正则表达式以图案装饰。

2。若何添加竞争履历。

署名方法包孕对应于每个产品类别的第四寄给报社。。。

慢车@客户端 ls "gyoithon root path"/classifier4gyoithon/train_data/



此寄给报社遏制来自CMS的竞争履历。。

这个寄给报社遏制从骨架构架中竞争的履历。。

此寄给报社遏制来自容易搬运系统的竞争履历。。

该寄给报社遏制来自Web满足需要软件的竞争履历。。

是否你想添加新的竞争履历,可以在每个寄给报社的终于共有的添加竞争履历。。

像,向CMS添加新的竞争履历。。

joomla@(Set-Cookie: [a-z0-9]{32}=.*);
joomla@(Set-Cookie: .*=[a-z0-9]{26,32});
挫伤。
xoops@(xoops\.js)
xoops@(xoops\.css)
"new product 选派@正则表达式 pattern"
[EOF ]

注意

下面的新产品选派必须做的事是Meta标记的选派。。必须做的事应用@来分离新产品选派和正则表达式以图案装饰。

必须做的事删除经过锻炼的履历。 PKL)。

慢车@客户端 ls "gyoithon root path"/classifier4gyoithon/trained_data/
train_cms_out.pkl
train_framework_out.pkl
train_web_out.pkl
慢车@客户端 rm "gyoithon root path"/classifier4gyoithon/trained_data/*.pkl

三。若何更改应用模块得到或获准进行选择。

当应用陀螺仪时,它将应用开发模块得到或获准进行选择的默许值。。

是否要更改得到或获准进行选择值,请在其中输出无论哪个值为USER指定。,列举如下所示。

"unix/webapp/joomla_media_upload_exec": {
    "targets": {
        "0": [
            "generic/custom",
            "generic/shell_bind_tcp",
            "generic/shell_reverse_tcp",
挫伤。
        "TARGETURI": {
            "type": "string",
            "required": true,
            "advanced": false,
            "evasion": false,
            "desc": "The base path to Joomla",
            "default": "/joomla",
            "user_specify": "/my_original_dir/"
        },

下面的榜样是将exploit模块“exploit/unix/webapp/joomla_media_upload_exec”中的TARGETURI得到或获准进行选择的值更改为“/joomla”中的“/my_original_dir/”。

*参考来源:GitHub,FB小编 secist 编译,请从转载中注明。

发表评论

电子邮件地址不会被公开。 必填项已用*标注