一. AWVS基本操作
1.1 任务描述
AWVS工具在网络安全行业中占据着举足轻重的地位,小时是一名安全服务工程师,AWVS这款工具在给小时做渗透测试工作时带来了巨大的方便,大大的提高了他的工作效率。
1.2 课程目标
ü 了解AWVS工具的功能特点
ü 了解AWVS工具的基本功能
ü 学会使用AWVS工具进行站点扫描
1.3 AWVS工具介绍
Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。它包含有收费和免费两种版本,AWVS官方网站是:http://www.acunetix.com/,官方下载地址:https://www.acunetix.com/vulnerability-scanner/download/,官方免费下载的是试用14天的版本。
1.3.1 AWVS界面介绍
AWVS的界面主要分为六个部分,分别是:标题栏、菜单栏、工具栏、主要操作区域、主界面、状态区域。
1.3.2 AWVS主要操作区域简介
1.3.3 AWVS的功能及特点
a)、自动的客户端脚本分析器,允许对 Ajax 和 Web 2.0 应用程序进行安全性测试。
b)、业内最先进且深入的 SQL 注入和跨站脚本测试
c)、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
d)、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
e)、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
f)、丰富的报告功能,包括 VISA PCI 依从性报告
h)、高速的多线程扫描器轻松检索成千上万个页面
i)、智能爬行程序检测 web 服务器类型和应用程序语言
j)、Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
k)、端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查
l)、可导出网站漏洞文件
1.3.4 AWVS的菜单栏,工具栏简介
u 菜单栏
File——New——Web Site Scan :新建一次网站扫描
File——New——Web Site Crawl:新建一次网站爬行
File——New——Web Services Scan:新建一个WSDL扫描
Load Scan Results:加载一个扫描结果
Sava Scan Results:保存一个扫描结果
Exit:退出程序
Tools:参考主要操作区域的tools
Configuration——Application Settings:程序设置
Configuration——Scan Settings:扫描设置
Configuration——Scanning Profiles:侧重扫描的设置
Help——Check for Updates:检查更新
Help——Application Directories——Data Directory:数据目录
Help——Application Directories——User Directory:用户目录
Help——Application Directories——Scheduler Sava Directory:计划任务保存目录
Help——Schedule Wen Interface:打开WEB形式计划任务扫描处
Help——Update License:更新AWVS的许可信息
Help——Acunetix Support——User Mannul(html):用户HTML版手册
Help——Acunetix Support——User Mannul(PDF):用户PDF版手册
Help——Acunetix Support——Acunetix home page:AWVS官网
Help——Acunetix Support——HTTP Status:HTTP状态码简介
u 工具栏
从左到右分别是(这些都可以在主要操作区域找到,所以不常用):
新建扫描——网站扫描——网站爬行——目标查找——目标探测——子域名扫描——SQL盲注——HTTP编辑——HTTP嗅探——HTTP Fuzzer——认证测试——结果对比——WSDL扫描——WSDL编辑测试——程序设置——扫描设置——侧重扫描设置——计划任务——报告
1.4 AWVS基本功能介绍
1.4.1 AWVS的蜘蛛爬虫功能
Site Crawler
点击Start对所输入的URL进行爬取,但是有的页面需要登录,不登录有些文件爬不到,就可以选择可以登录的login sequence进行登录(login sequence在处Application Settings处详细说明),爬网结果可以保存为cwl文件,以便后续站点扫描使用。
1.4.2 AWVS目标探测工具
Target Finder
相当于一款加强版(针对WEB渗透测试)的端口、banner探测工具功能:
1、探测指定IP/IP段开放特定端口的IP
2、探测出IP后,探测该端口的banner信息,可探测出该端口上运行的WEB服务的中间件的版本信息
3.可以指定IP地址段进行端口扫描(类似于Nmap),可以用与信息收集。
4.进行了端口扫描后会进行服务发现,得到端口上对应的服务。
1.4.3 AWVS的子域名探测工具
Subdomain Scanner
用DNS进行域名解析,找域名下的子域及其主机名(用于信息收集)
可选择使用操作系统默认配置的DNS服务器或自定义的一个DNS服务器(谷歌:8.8.8.8)
1.4.4 AWVS的HTTP嗅探工具
HTTP Sniffer
和BP proxy类似,首先要设置代理(Application Settings->HTTP Sniffer),截取数据包,修改数据包提交或者丢弃。
利用代理功能进行手动爬网(保存为slg文件,在Site Crawler页面点击Build structure from HTTP sniffer log),得到自动爬网爬取不到的文件。
1.4.5 AWVS的HTTP模糊测试工具
HTTP Fuzzer
类似于BP intruder,进行暴力破解,点击+选择类型,点击insert插入。
注意:插入字母的时候选取字母的范围填写的是字母对应的ASCII码。
1.5 AWVS基本操作—站点扫描(重点)
1.5.1 创建扫描项目
第一步Scan Type:
如图5-2-1,首先选择图中的第一个红框New Scan,然后在弹出的窗口中选择图中的第二个红框,在输入框里边输入将要检测的目标网站的URL,然后点击下边的Next即可。篮框是我们要额外讲的,这个的内容就是说如果我们之前曾经使用爬虫爬过目标网站,我们就可以使用蓝框来加载保存的文件继续爬行,不过这个实验因为我们是第一次爬行这个网站,所以并不需要使用这个。
图5-2-1
第二步:如图5-2-2,这个界面是让我们选择攻击模块的,可以根据不同的攻击要求,选择不同的攻击模块,这里我们选择Default(默认),使用默认模块即可。
图5-2-2
awvs一共有提供16种攻击模块,如下表:
Defalut默认,全部检测
AcuSensorAcunetix传感器机制,可提升漏洞审查能力,需要在网站上安装文件,目前针对ASP.NET/PHP
Blind SQL InjertionSQL盲注检测
CSRF检测跨站请求伪造
Directory_And_File_Checks目录与文件检测
Empty不使用任何检测
GHDB利用Google hacking数据库检测
High Risk Alerts高风险警告
Network Scripts网络脚本检测
Parameter Manipulations参数操作
Sql InjectionSQL注入检测
Text Search文本搜索
Weak Passwords检测弱口令
Web Applicationsweb应用检测
XSS跨站请求伪造
File Upload检测文件上传漏洞
如果想要调整或修改攻击模块,根据路径Configuration >> Scanning Profiles修改,如图5-2-3:
图5-2-3
第三步:
如图5-2-4,awvs会自动识别被检测站点的信息,在这个页面显示出来,还可以选择目标网站的脚本语言,如果不知道,可以不选择,直接点击下一步即可。
其中target information中的内容是:
² base path:扫描目标的根路径
² server banner:服务的banner
² target URL:目标url
² operating system:目标操作系统
² webserver:目标的web服务器
图5-2-4
第四步:
如图5-2-5,根据需求,可以录入或者填写登录信息,如果没有的话,直接按照默认设置,然后点击“Next”
PS:如果网站需要登录,则需要提供登录信息,否则有些需要登录才能操作的页面就无法探测到。
1) Use pre-recorded login sequence选项,第一个红圈:
黄色圈内:可直接打开AWVS的内置浏览器,录制登录被测网站的脚本
蓝色圈内:可导入已经录制好的登录脚本
2) Try to auto-login into the site选项,第二个红圈:
可直接输入登录网站所需的账户名和密码,然后AWVS用自动探测技术进行识别,不需要手工录入登录过程。
这里因为我们将要访问的网站是不需要直接登录就能访问的网站,所以这里就不在细说。
图5-2-5
第五步:
如图5-2-6,直接点击Finish即可。之后awvs就会对目标网站进行扫描,然后需要耐心等待扫描完成。
图5-2-6
1.5.2 使用awvs检测扫描结果
1.1.1.1查看扫描结果
如图5-2-7,既是在上一节中创建的扫描项目“www.any.com”的扫描结果。因为目标网站太大,所以要完全扫描完成需要较长的时间,所以这次就先在扫到10%的时候暂停,使用已经扫描得到的结果检测网站的漏洞。暂停按钮在界面的右上方的Pause(暂停),图片上是已经点击暂停之后的界面,所以显示的是Resume(继续)。
图5-2-7
在成功暂停之后,观察图5-2-8,可以看到,一共分为了三个板块,左边红框框起来的是已经发现的漏洞详情,右侧上方红框框起来的是发现的高中低危漏洞以及无关紧要的信息。通过颜色也可以看出来,高危漏洞是红色的,中危漏洞是黄色的,低危漏洞是蓝色的,而绿色的是危害很小的信息。右侧下方中划红线的是扫描进度,可以看出来我们这次扫描只进行了10.23%就结束了。
图5-2-8
1.1.1.2检测扫描结果
验证漏洞:如图5-2-9我们随便点开一个漏洞,然后将划红线的写入浏览器的url中,如图5-2-10。从图5-2-10中可以看到,在错误信息中,该系统使用的数据库与数据表的名字泄露了,而这些本来应该是非常机密的信息。
图5-2-9
图5-2-10
查看扫描出的网站结构:如图5-2-11,随便找一个普通的网站信息,比如说选择site struckure→/→member→index.php,选择第一个,点击之后,可以看到右边栏里出现的信息,能看到第二行page title的内容是“白露的空间”,初步推测这是一个用户的个人空间,从第五行显示的返回的状态码200推断是可以登录的,所以,复制第四行的URL,然后呢进入浏览器,将复制的URL粘贴进地址栏。
图5-2-11
从图5-2-12可以看到,通过在地址栏输入URL之后,就可以直接进入用户“白露”的空间,并不需要进行登录的操作。
通过上边这个例子同学们应该已经明白了awvs的强大之处。
图5-2-12
1.5.3 保存扫描结果
在扫描完成后(必须是扫描全部完成后,才可以保存扫描结果。因为目标网站实在太大,扫描用时过长,同学们可以选择新建对www.any.com/2.php进行扫描,很快就可以扫描完成,然后就可以针对这次扫描保存扫描结果,在本节课的图片中我使用的还是www.any.com这个网站),选择File→Save Scan Results,如图5-2-13:
图5-2-13
输入文件名称后,选择保存即可。如图5-2-14:
图5-2-14
1.5.4 导出扫描报告
在扫描完成后,找到工具栏里的report,如图5-2-15:
图5-2-15
然后就会出现扫描报告的预览图,如图5-2-16,其中红色框起来的位置就是扫描报告的预览图,选择保存按钮进行保存。
图5-2-16
输入文件名称后,选择保存即可。如图5-2-17:
图5-2-17
1.6 Acunetix WVS站点扫描(实验)
u 第一步,启动我们的环境后,在实验工具里找到Acunetix wvs工具。
u 第二步,我们点击左上角菜单栏”New Scan”,输入url:www.any.com,点击Next进入Options。
u 第三步,我们一路默认,点击Next,进入Target。
Scanning profile中的扫描类型如下,有用户也可以到主界面左边栏的Configuration >> Scanning profile中建立新的扫描类型。
Scan Settings默认只有一种,Default。用户可以到Configuration >> Scan Settings中建立新的扫描设置,也可以点击旁边的Customize自定义。
u 第四步,在Target选项中可以看到要扫描的网站的信息,从上到下分别为:Base path(网站根目录)、Server banner(Apache、PHP版本,OpenSSL版本)、Target URL(最终目标URL)、Operating system(服务器OS)、WebServer(服务器中间件)。继续点击Next进入Login。
u 第五步:在login选项中继续点击Next直到出现Finish,点击Finish开始扫描。
u 第六步,我们可以看到站点扫描正在进行。
扫描结束后,我们打开一个漏洞记录,点击后,左边的部分会出现漏洞详情,包括漏洞介绍、站点漏洞描述、漏洞编号和的相关信息等。右击漏洞站点,有五个选项:在HTTP Editor中进行编辑;输出到HTTP Fuzzer中进行模糊测试;输出到Blind SQL Injector中进行注入测试,这一项只有在SQL注入类的漏洞中有效,否则为灰色;重新进行测试;将警报标记为误报。下方为操作日志,可以看到停止扫描的字样。
将左半部分的滚动条下拉,可以看到网站目录,选择一个网页,可以看到右侧显示出网页信息,从上到下分别是:文件名、网页标题、页面文件目录、URL、HTTP状态码、页面是否要被扫描、内容类型(图片中的是文本)、发现的位置(Discovered from)、连接深度(网站根目录下第几级目录)、页面状态、检测到应用(Detected application)。在右侧的下边,我们还可以选择查看网页的Referers、HTTP请求头、输入变量、源代码等。右击左侧的网页,弹出菜单中的选项分别是:将位置复制到chipboard、在浏览器中打开网页、在HTTP Editor中进行编辑、输出到HTTP Fuzzer中进行模糊测试、查找http状态代码。