漏洞扫描技术
一,漏洞扫描技术
1.1扫描原理
1.1.1. Ping 检测
win+R -> cmd -> ping + 目标IP
当 ping 通目标 IP 后 返回 TTL值判断目标 IP 的操作系统
TTL=128:可能是 windows xp/2000/2003 系统
TTL=64:可能是 windows 7/2008/10 系统,Linux系统
TTL=255:可能是交换机,路由器设备
1.1.2. 端口扫描
win+R -> cmd -> telnet + 目标IP + 目标端口号
注意:扫描器的运作是基于 TCP/IP 的,个人计算机,服务器主机或者防火墙和路由器都适用。扫描信息的来源基本都必须依赖于端口,即必须某端口对外开放,才可以以此判断主机上运行的操作系统,服务软件类型及版本等。例如:使用 ftp.exe 连接主机,判断主机 FTP 服务程序类型和版本,如果 FTP 服务对应的 21 端口无法访问,则得不到任何信息。
1.2. 扫描分类
- 开放扫描:
- 半开放扫描:
- 隐蔽扫描:
- 扫射扫描:
- 其他扫描:
1.3.扫描前准备
- 了解网络的部署情况,企业的 需要/不需要/不能 扫描(有些扫描可能造成网络瘫痪)
- 扫描时间和方式(正常来说都是在凌晨,半夜进行扫描,这个时间段访问的用户比较少)
- 定制好扫描策略(针对于 漏洞/端口/弱口令/全部 扫描)
- 防火墙是否开启(防火墙开启的情况下,默认是扫描不到的)
- 企业服务是否配置了相关的安全策略,以访锁死(注意)(比如说:数据库设置3次密码,针对那些弱口令的暴力破解)
1.4. 常见的扫描工具
- SuperScan
- Fluxay(流光)
- X-Scan
- MBSA
- Wikto
- NMAP
- 天镜(启明)
- 极光(绿盟)
国外:Arachni(开源的,kali中自带),HP WebInspect,IBM AppScan,Acunetix WVS(AWVS),Nessus,Nexpose,Netspaker…
国内:绿盟科技,杭州安恒,知道创宇,启明星辰…
1.5. X-scan 的简写使用
设置—>扫描参数
这里可以设置 扫描目标 IP 或者网段
或者把要扫描的目标网址或者IP放到记事本里,通过”从文件获取主机列表”进行扫描
1)全局设置
扫描模块:一般默认,但是想怎么扫就勾上要扫的模块
并发扫描:根据自己电脑性能来决定并发扫描数量
扫描报告:一般采用网页报告就是 HTML 格式的(选择扫描完自动生成扫描列表)
2)其他设置
跳过没有响应的主机:默认的一般是这个,扫描比较快(方式:ping/telent)
无条件扫描:不管主机是否禁止,这种扫描比较慢
3)插件设置
字典文件设置:默认字典都比较弱,可以自己编辑添加,这都在 dat 这个文件夹里
工具
物理地址查询:判断扫描的IP地址和你自己主机的关系
ARP query:扫描 Mac地址 和 IP地址
Whois:查询域名,在网站中用到
Trace roots:测试路由情况,most name 就是目标网站的IP(ping网站 就能得到)
Ping:和window自带的ping一样
1.6. AppScan
功能介绍
AppScan 是 web 应用程序渗透测试舞台上使用最广泛的工具之一,它是一个桌面应用程序,有助于专业安全人员进行 web 应用程序自动化脆弱性评估。
AppScan 其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan source edition ,到针对 web 应用程序的快速扫描的 AppScan standard edition 以及进行安全管理和汇总整合的 AppScan enteprise edition 等,我们经常说的只是桌面的 AppScan ,即 AppScan standard edition ,其安装在 window 操作系统下,可以对网站等 web应用程序进行自动化的应用安全扫描和测试。
它需要 微软 C++ 2017 和 微软 .NET Framework4 4.7.2 Full 框架(所以就下载到虚拟机里,但是虚拟机 win 下下载时也没单独下载这个框架)
下载路径:https://www.52pojie.cn/thread-1189130-1-1.html
1.6.1.实例
打开phpstudy,开启一台机器作为站点
文件->新建->常规模块(一般来说的)
AppScan(自动或手动)(一般常选)
外部设备/客户机(AppScan作为记录代理)
从该url 启动扫描:扫哪个就填哪个站点
仅扫描此目录中或目录下的链接:就是选中的站点
将所有路径作为区分大小写来处理:这个包括第三方目录(该域名下的调用的第三方地址)
有点的站点可能需要账户密码才能扫描。
测试策略:
可以直接用默认的 Default(缺省值)
如何启动:
全面自动:一般选用这个就行了,立即扫描
稍后自动:就是先爬取网站,到达一定时间然后再扫描。
保存:
是:就会新建文件,扫描的会话就会保存在这个文件里
配置:
显示了以上的配置
可以单独点开查看,有的可以导入/导出
报告:
模板:有好几种,根据不同要求选择
注意:
有的时候AppScan 扫描一个网站会导致这个网站崩溃(例如:银行,内容比较多,扫描的时间就比较久),或者扫描的过程中遇到错误,自动暂停了;这时我们就可以选择保存,这样我们就可以在下次扫描时接着上一次扫描的位置接着扫描。
缺点:
软件比较大,占内存。同时,它扫描速度也比较慢。它在国内的扫描力度不行,但是通用漏洞扫描比较强大。
1.7. AWVS
功能介绍
AWVS 是一个自动化的 web应用程序测试工具,通过检查可利用的漏洞,黑客可以审核 web 应用程序的安全性。
1.7.1. Dashboard 仪表板
显示扫描的运行以及爬取状态,显示漏洞个数和级别
1.7.2. Targets 添加扫描目标
General
Address:添加扫描IP
Description:设置扫描描述。
site login:登录扫描,有些时候扫描要登录。
use pre-recorrded login sequence:以保存的形式进行扫描,就是在登录的时候,把扫描的请求构成一个文件进行添加。
AcuSensor:就是在扫描前对目标网站判断是 php,aspx,jsp,用于减少误报,如果要用这个功能,就要在线下载这个文件(一般来说,也是很少用这个功能的)。
Crawl
User Agent:使用的头,可以用于伪造 Firefox,Chrome 等(访问的头)。
Exclude Path:排除扫描的路径。
Import Files:可以导入上一次没有扫完但是保存下来的文件进行接着扫描。
HTTP
HTTP Authentication:HTTP认证,就是有些网站得要登录,否则爬取不了登录后的页面信息。
Client Certificate:客户端证书,特殊的网站需要证书,导入进来就行了。
Proxy Server:HTTP代理功能。
Advanced:高级功能(一般不做)
Technologies:检测相应的 asp,php..
Scan Type:扫描类型
默认情况下是进行全方位扫描
Report:生成报告(各类模板,但是都是英文的)
Schedule:可以保持不变(instant),也可以自己修改,可以在特定时间段反复扫描
1.7.3. Settings
- Notification Settings:设置邮件发送告知工作人员扫描完成。
1.8. HP WebInspect
HP WebInspect 是一款文件大,系统资源占用更大的扫描软件,在安装后会开机自启很多功能繁琐的进程和服务,所以尽量将其安装在虚拟机中,操作系统在 win7以上,确保其支持 .Net Framework 4.5x 和 SQL Server 2012,开启前还需运行 services.msc 工具检查 SQL 和 WebInspect 系列服务是否正确启动,以防扫描时出现致命的错误中断,10.30版本可能需要 VPN。
优点:扫描 出来的报告是最全的。
1.8.1. 实例
文件 -> 新建
Start URL:输入要扫描的网站
点击右面的 verify:显示网站(确保网站可以访问)
next button=>:下一步(返回了 start url 的页面)
Scan Type:扫描类型(就用默认的 standard 就好了)
Scan Method:扫描模型(Crawl and Audit:爬行和审计 都有)
Policy:standard 就好了(里面还有单独的选项,如 SQL 之类的)
Gudie Scan 页面=>:下一步
Use a login macro for this site:登录扫描
create:创建,跳转页面后是一个录制的过程(右边红⚪)
stop:停止录制
上面的 play 是模拟登录,看是否有问题
紧接着后面的 => 进行下一步
Profiler:运行策略,保持默认就好了,setting 也保持默认 ✔
Configure Detailed Options:里面的就是默认选项
Validate Settings and Start Scan 页面:上面 Save ,保持策略,下次扫描可以直接导入这个扫描策略。
Start Scan:开始扫描
Reports:报告输出
Generate report->next->
特点:一边扫描,一边爬取,而AppScan 是先爬取后扫描
1.9. Netspaker
效果比 AWVS 差很多。
1.10. WVSS
绿盟的安全系统(要钱,没有破解版的)
1.11. 安恒明鉴
安恒的漏洞弱口令扫描工具(要钱,没破解版的)
1.12. Nessus
1.12.1.功能
Scan
Advanced Scan:高级扫描(默认)
Policies
Setting Type:根据自己情况
Port Scanning:端口设置扫描;设置端口扫描是十分重要的,直接关系扫描结果的准确性,如果是 default 的话就是默认的端口,如果输入 1-65535 就是1-65535 的所有端口,这样耗时很长,建议新手用 default。
Plugins:插件项目,选择合适的插件,搜索 denial ,列出所有拒绝服务检测的插件,点击“ENABLE”,禁止 Nessus 使用这些插件扫描,因为这些插件扫描可能造成目标系统宕机,应该排除掉。(默认是开启状态的,绿色的;禁止后是DISABLED红色的,意思是这个插件不再使用)
Schedule:可以设置扫描时间进行计划任务
右上角 点->sign out:设置完要退出
再次登录账户密码,新建扫扫描就会发现可以使用刚才设置的了
Upload Target:可以导入一个包含所有 IP 的 txt 文件
Lanch:点击,可以进行漏洞扫描
点击 scan1 可以得到扫描结果。
1.12.2. 实例
步骤:
Policies页面
先 Advance Scan 新建一个策略模板
General:策略名称,描述
Permission:选择 can use
后面的默认好了
Plugins:右上角搜索 denial,把得出的 disable掉
save 保存模板,这样策略模板就新建成功了。
My Scan页面
New Scan:右上角,新建扫描
Advance scan:默认扫描策略
/user Defined选择自定义添加的扫描策略
输入任务名称,扫描IP地址,点击save即可看到新增的扫描任务
launch:启动扫描任务,可看到任务正在running
1.13. Nexpose
VM 虚拟机 ova 版本下载地址:http://download2.rapid7.com/download/NeXpose-v4/NexposeVA.ova 或者 http://www.rapid7.com/products/nexpose/download.jsp
ova 版本的账户密码:nexpose
最大的优点:这个软件和 MSF 一起使用(它们是同一个公司出的)
1.14. 启明天镜(BS 版)
天镜脆弱性扫描与管理系统
免费 3 个月的使用,还原虚拟机(或者修改日期)又可以免费使用。(但是没有找到资源)
1.15. RSAS(绿盟)
系统和 Web 可以同时扫描。
二,漏洞扫描评估方案讲解
2.1. 测试目的
2.1.1. 测试目的
通过了解各家厂商的设备性能和功能是否能够满足当前业务需要。
2.1.2. 测试对象
- 绿盟科技 Web 应用漏洞扫描系统
- 杭州安恒网站安全监测平台
- 知道创宇 WEBSOC 网站立体监控系统
- 启明星辰
2.1.3. 测试内容
- 功能测试:包括扫描漏报测试,漏洞误报测试,页面发现测试,管理功能测试。
- 性能测试:包括扫描速度测试,平均速率测试,最大速率测试。
- 可靠性测试:包括断电恢复测试,断点续扫测试。
2.1.4. 测试环境
网络拓扑
测试目标机构
2.2. 测试案例
首先要找那种漏洞多的网站进行测试
2.2.1. 扫描功能和相关性能测试
- 漏报数
- 误报数
- 页面发现数
- 扫描速率
- 平均速率
- 最大速率
- …
2.2.2. 管理功能测试
按照工作流分别对任务管理,报表管理,分布式管理功能按照测试表逐项测试。
2.2.3. 可靠性测试
- 断电恢复测试:扫描过程突然断电,查看扫描引擎是否能够对任务信息,扫描过程信息,关键配置信息,模板信息等进行备份或保存。
- 断点续扫测试:扫描任务暂停或意外中断后再恢复,查看任务是否正常。
2.3. 测试结果
2.3.1. 扫描功能和相关测试性能
2.3.2. 管理功能测试
2.3.3. 可靠性测试
2.4. 相关扫描软件测试评估
国外软件:http://sectoolmarket.com/wivet-score-unified-list.html(不一定很准确)