(八)漏洞扫描方案
1.参与人员
乙方工程师:谭 然、张 剑等。
范围经过双方确认,此次评估的对象包括:
2.网络设备
IP 地址 | 设备型号 | 备注 |
/ | / | |
/ | / | |
/ | / |
以现场测评实际数据为准
3.应用系统
地址 | 操作系统 |
/ | / |
/ | / |
以现场测评实际数据为准
4.评估方法
利用网络扫描工具和安全评估工具,检查路由器、Web服务器、Unix服务器、Windows NT服务器和防火墙的弱点,从而识别能被入侵者用来非法进入网络的漏洞。生成网络扫描评估报告,提交检测到的漏洞信息,包括位置和详细描述。这样就允许管理员侦测和管理安全风险信息。
扫描内容包括:
Ø是否能够获得目标系统的指纹信息;
Ø系统开放的端口号;
Ø系统中存在的安全漏洞;
Ø是否存在弱口令;
Ø……
5.工具选择
此次评估所使用的软件及程序主要分为三大类别:
1. 漏洞扫描工具
2. 辅助软件
3. 系统自带的程序
l漏洞扫描工具
在这个大类我们主要选用以下几种漏洞扫描工具,每一种工具各具特点,我们将根据被测单位的实际情况挑选使用,在本次扫描中将至少使用两种扫描软件对主机进行扫描工作。
Nessus
Nessus为业界部署最广泛的漏洞扫描、系统配置与合规性验证产品。全球已超过2万4千家企业正在使用,在信息安全和合规审计产品中,获得众多专业人士认可。Nessus®可以进行高速扫描、系统配置核查、资产发现、恶意软件发现、敏感性资料发现、补丁程序管理整合和漏洞分析。Tenable的漏洞研究团队准确的依据环境需求,提供不断更新的特征数据库 (plugins),目前特征库已超过80,000个漏洞和系统配置检查。Nessus®能扩展并适用于最大型的企业 环境,而且部署十分容易。可对网络、移动终端、系统、数据、Web应用以及数据库程序进行深入的扫描作业。
Acunetix
Acunetix作为一款全球领先的网络漏洞扫描工具,通过网络爬虫测试你的网站安全,检测流行的攻击,如交叉站点脚本,SOL注入等。在被黑客攻击前扫描购物车、表格、安全区域和其它Web应用程序。
Nikto
Nikto是一款能对web服务器多种安全项目进行测试的评估软件,能在200多种服务器上评估出2000多种有潜在危险的文件、CGI及其他问题。它也使用LibWhiske库,但通常比Whisker更新的更为频繁。
l辅助工具
Sniffer pro
Sniffer软件是NAI公司推出的功能强大的协议分析软件。使用Sniffer Pro网络分析器可以对网络进行分析。利用Sniffer Pro 网络分析器的强大功能和特征,解决网络问题。Sniffer Pro的主要功能包括:
Ø捕获网络流量进行详细分析
Ø利用专家分析系统诊断问题
Ø实时监控网络活动
Ø收集网络利用率和错误等
Ø在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。
Nmap
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。
Netcat
NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。
NetCat的一些主要功能:
Ø支持连出和连入(outbound and inbound connection),TCP和UDP,任意源和目的端口
Ø全部DNS正向/反向检查,给出恰当的警告
Ø使用任何源端口
Ø使用任何本地设置的网络资源地址
Ø内建端口扫描功能,带有随机数发生器
Ø内建loose source-routing功能
Ø可能标准输入读取命令行参数
Ø慢发送模式,每N秒发送一行
Ø以16进制显示传送或接收的数据
Ø允许其它程序服务建立连接
Ø对Telnet投标
Burp Suite
Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
- 系统自带程序
netstat
netstat程序有助于我们了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以让用户得知目前总共有哪些网络连接正在运行。利用该程序提供的参数功能,我们可以了解该命令的其他功能信息,例如显示以太网的统计信息、显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体使用信息,还能显示所有主机的端口号以及当前主机的详细路由信息。
netsh
Netsh是Windows 2000/XP/2003操作系统自身提供的命令行脚本实用工具,它允许用户在本地或远程显示或修改当前正在运行的计算机的网络配置。为了存档、备份或配置其他服务器,Netsh也可以将配置脚本保存在文本文件中。
类unix系统程序
Øvmstat - 这是可以快速察看内存、CPU和磁盘子系统的命令。vmstat 通常执行一个短时间,以便可以察看子系统利用的趋势。vmstat 经常可以在系统性能有一些问题的时候帮助我们知道哪些地方应该去深究。
Ømpstat - 这个命令在Linux和Solaris上都有,可以用它察看处理器利用的统计。mpstat 提供一个选项,允许在多处理器系统中察看指定CPU的统计。vmstat 没有这个功能。
Øiostat - 显示比vmstat更详细的跟子系统相关的统计信息。
Øsar,sa,lastcomm,last - 这些是检查历史数据和一些近来的系统事件。sar是一个Solaris和Linux的系统性能分析工具。这些可以用于检查的性能数据类似于vmstat, mpstat和 iostat的显示。 sar的数据是一段时间保存的内容,因此可以察看过去的信息。 lastcomm可以现在系统最近被执行的命令。这些可以用在系统审计中。sa 可以在*BSD和Linux中找到,它给用户在系统审计中更多的选项来收集信息。
Øps - 立足于进程状态,用于显示系统执行的进程和他们的信息。
Øtop - 显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。
Ølsof - 列举打开的文件,显示系统当前打开的所有文件。Unix系统的所有东西几乎都可以看作是文件,因此lsof也显示了系统的状态中有重要意义的内容。
Øfile - 判断文件是什么,不同的文件格式可以16进制的形式现实文件的内容
Øreadelf - 显示二进制文件的ELF(可执行链接和格式)头的细节。这些内容可以判断可执行提供的函数。
Øod - 以用户指定的格式输出文件内容。od对于在文件内容中有一些解释的情况下察看原始内容是有帮助的。
Øldd - 读取ELF头的内容,并显示可执行文件依赖的对象库。
Østring - 现实文件中的ASCII字符串。对于在二进制文件中查找其中可读的字符串是非常有用处的。
Øfind - 用于在文件系统中查找指定的对象。
Østrace - 这个工具开始或者附加到一个当前运行的进程中,显示这个进程所作的所有系统调用。这可以用来判断程序运行的行为,并且来决定是否是合适的程序。strace 存在于Linux上。在 Solaris上是truss, *BSD提供的ktrace可以达到相似的功能。
Øsudo - 可以让管理员给用户以其他用户的权限执行命令的能力,而不用给该用户密码。
Øgrep - 用于按照用户指定的模式查询。 grep用匹配规则。
Øless - 页面调度程序,用来按页显示文本。
6.评估的代价
Security Auditing采用的各种评估方法都或多或少地会对系统造成一定的影响。因为采用模拟攻击方法进行评估,所以有时可能象攻击一样造成比较严惩的结果,如系统停机、停止服务等。这是不可避免的,包括某些著名的评估工具都曾经在实际使用的时引起被评估系统不能正常工作,带来了不必要的麻烦。
7.流量的代价
经过测试,在扫描过程中,随着主机数量、漏洞的测试情况、网络划分、网络设备的构架等情况的不同,选用三种扫描软件 (NESSUS、SHADOW SECURITY SCAN、RETINA)进行模拟测试,具体数据如下表所示:
测试软件 | 网络占用带宽(Kb/s) |
/ | / |
/ | / |
以现场测评实际数据为准
注:所有测试都是在十台机子同时进行扫描的情况下完成
l通过分析和比较,这几款扫描软件在扫描过程中对网络的占用率在10Kb/s-40Kb/s左右波动,根据被测单位公司的网络情况分析,应该对其网络的正常运行不会出现很大的影响。
l主机的代价
扫描过程对于主机的影响,同上的实验环境,选用用3种扫描软件(NESSUS、SHADOW SECURITY SCAN、RETINA)进行测试:
ØNessus 7.0.0
扫描前CPU占用率均值 | 扫描时CPU占用率峰值 | |
/ | / | / |
/ | / | / |
/ | / | / |
/ | / | / |
以现场测评实际数据为准
ØAcunetix 11.0.0
扫描前CPU占用率均值 | 扫描时CPU占用率峰值 | |
/ | / | / |
/ | / | / |
/ | / | / |
/ | / | / |
以现场测评实际数据为准
通过这些图表显示,有三种扫描软件进行的扫描过程中,被扫描主机的CPU占用率在峰值的时候将增加10%左右,对所扫描的主机不会造成什么影响。
同时观察被测主机的内存变化,发现扫描对于主机内存的占用率几乎没有影响。
l主机的潜在威胁
扫描过程中如果选择DOS选项进行扫描时,网络流量会增加,在本公司的实际环境中使用扫描软件针对DOS攻击漏洞进行扫描时,如果被测试的主机存在某些被测试到的DOS漏洞,有可能造成被测主机出现死机、宕机、应用服务不响应等多种问题。因此在此次评估过程中,为了被测单位的网络能够顺利的运行,不再扫描评估过程中出现对被测单位应用不可预知的问题,在此次评估中不进行DOS方面的测试。
8.实施步骤
(1)网络扫描
安全评估实施参照不同方位、多种工具、采用不具有攻击的方法进行评估:
Ø防火墙内部:首先在内网进行扫描,对网络中各种服务器对象进行总体评估,对网络主机的安全状况进行细致深化的了解,同时对服务器的重要漏洞进行评估测试。
Ø防火墙外部:其次在防火墙的外部进行扫描,这种状态是模拟外网攻击者对网络进行评估测试。这种环境是在通过客户的网络安全设备的保护后,外部攻击者还能获取的网络安全漏洞的罗列。
为了使得测试内容更加具体详尽,这次测试将在防火墙内部进行,选用nessus和Acunetix两个软件进行多次扫描,以期能对被测单位的环境得到一个客观准确的了解,为了使被测单位网络能够正常运行,此次测试采用去除DOS测试选项的方法进行安全扫描。
(2)扫描策略
1.WINDOWS主机
扫描策略选择SANS 20中标准的WINDOWS子列,并去掉DOS大类的选项
2.网络设备
扫描策略选择以下子列:
(3)扫描操作
1.扫描准备
Ø首先要保证所有设备已经完成了备份工作。
Ø机房网管人员要提供两个IP地址给新疆天行健信息安全测评技术有限公司风险评估工程师。
Ø网管人员提供的两个接入点都必须保证能够到达所有的评估对象,并且链路之间不存在网络安全设备。
Ø新疆天行健信息安全测评技术有限公司风险评估工程师使用自己的笔记本进行扫描。
Ø新疆天行健信息安全测评技术有限公司风险评估工程师使用商业漏洞扫描工具RETINA进行扫描。
Ø新疆天行健信息安全测评技术有限公司风险评估工程师使用商业漏洞扫描工具Shadow Security Scanner进行扫描。
2.扫描过程
在这次文档中将选用Nessus对扫描实施过程进行演示,假设评估对象为一台Windows系统的主机,IP为192.168.1.1:
1.首先启动Nessus
2.填入评估对象地址,192.168.1.1
3.设置扫描端口类型为常见端口(common ports)
4.设置扫描策略为WINDOWS子类
5.点击scan按钮,开始扫描
6.扫描结束后,点击Generate Report,生成报表