第三天作业
1.Xray
1.1安装Xray
xray介绍
Xray是一款功能强大的安全评估工具,主要用于Web应用程序的自动化漏洞检测。
xray安装
官方下载链接:https://github.com/chaitin/xray/releases
1、生成证书
cd到xray目录下然后再运行 .\xray_windows_amd64.exe genca
2、将证书进行导入(配置好代理端口不要与BP冲突),如图所示文件夹中会出现ca.crt和ca.key文件
3.打开ca.crt进行证书的安装,如图所示点击下方安装证书。
在证书导入时选择下方的选项,点击浏览,选择受信任的根证书颁发机构。
其中如果是Firefox浏览器,配置证书参考下方链接:
Installing root certificate in Mozilla Firefox - WebMoney Wiki
1.2主动扫描和被动扫描
Xray支持主动扫描和被动扫描两种模式:
主动扫描:基于爬虫模式进行,模拟人工点击网页链接,快速爬取网站目录,并使用漏洞扫描插件检测漏洞。用户可以通过命令行指定扫描的URL和输出报告的格式,如HTML。
被动扫描:基于代理模式进行,扫描器作为中间人,原样转发流量并返回响应给客户端,同时记录流量并修改参数重新发送请求进行扫描。用户需要在浏览器中设置代理,并将流量转发给Xray监听的端口。
1.主动扫描
使用基础爬虫爬取并对爬虫爬取的链接进行漏洞扫描
格式:xray webscan --basic-crawler http://example.com --html-output vuln.html
输入命令如下所示:
.\xray_windows_amd64.exe webscan --basic-crawler http://127.0.0.1/pikachu --html-output result1.html
成功完成主动扫描后,xray会将扫描结果报告以上述命令中指定的result1.html形式输出。
以下是对pikachu主动扫描成功后的报告:
2.被动扫描
使用HTTP 代理进行被动扫描
格式:xray webscan --listen 127.0.0.1:8989 --html-output proxy.html
设置浏览器 http 代理为 http://127.0.0.1:8989,就可以自动分析代理流量并扫描。
首先设置好浏览器代理,这里使用插件设置,配置如下:
输入以下命令:
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:8989 --html-output result2.html
通过下图可以观察到xray已经开始监听端口
此时在浏览器上打开之前设置好的代理,通过浏览器访问pikachu,因为是被动扫描,需要在访问时才能监听到经过xray代理的流量,如下图所示:
此时打开xray的目录可以找到我们命令中指定的result2.html输出的扫描结果报告。如下图所示,因为被动扫描需要访问页面才会有流量经过,所以扫描结果报告中显示的漏洞与访问的页面有关。
2.GoBy
2.1GoBy安装
官网下载地址:Goby - Attack surface mapping
linux上的部署:
1.将Linux版本解压
unzip goby-linux-x64-2.3.0-Community.zip
cd goby-linux-x64-2.3.0/golib
2.给goby-cmd-linux加上执行权限
3.运行命令即可运行:./goby-cmd-linux -apiauth user:pass -mode api -bind 0.0.0.0:8361(user和pass、端口号可以自己更改)
-apiauth
nono:123456 表示设置 账号:密码
-mode
api 表示运行模式为api
-bind
0.0.0.0:8361 表示 监听IP:端口
4.在本地的goby上添加服务器,填入Linux的地址和账户密码端口
2.2GoBy的使用
这里主要尝试用goby对pikachu靶场进行扫描
找到下载好的goby目录下的goby.exe,点击打开并完成注册和登录。
点击新建扫描任务,输入pikachu靶场的信息如下并点击开始。
扫描完成后点击查看资产可以看到pikachu靶场所使用到的端口以及服务,如下图所示。
3.xray和burp suite联动扫描
3.1在burp suite中设置上游代理
进入 Burp 后,打开 User options
标签页,然后找到 Upstream Proxy Servers
设置。点击 Add
添加上游代理以及作用域,Destination host
处可以使用*
匹配多个任意字符串,?
匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。
3.2联动的使用
1.打开命令行窗口,进入到xray目录下输入命令开始监听8989端口。
2.打开浏览器,设置代理为burp suite。打开burp suite在proxy点击开始拦截,此时访问pikachu靶场的任何一个页面,流量将经过burpsuite被拦截下来。以访问pikachu的xss(get型)页面为例,在该页面提交的表单中输入参数123,可以在burp suite中看到被拦截下来的包。
3.此时将该包放行,流量将继续经过xray,此时我们可以看到xray中出现了处理我们get请求的信息,并且直接告诉了我们这个漏洞是xss漏洞,并显示了这个漏洞的信息,利用方式payload等。
4.在生成的漏洞报告中也可以看到xray检测出的漏洞,由于xray是被动监听,即在报告中只会显示出我们访问页面的漏洞。
4.上层代理服务器工作原理
在上述burp suite和xray的联动中,是将xray作为burp suite的上游代理,即当访问网页的时候,正常的流程是发送包到服务器获取资源,设置代理后即在客户端和服务器之间加经过burp suite和xray的流程。流量会先经过burpsuite,再经过xray,最后按照正常流程走。