1、常用安全扫描工具内容提要常见扫描工具常见扫描工具扫描类型扫描类型扫描器扫描器网络漏洞扫描绿盟极光nessus启明天镜X-scan端口扫描 nmapWEB扫描IBM Rational AppScanHP WebInspect安恒明鉴 弱口令扫描hydraX-scan常见扫描工具常见扫描工具v 由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏洞层出不穷导致新的系统漏洞层出不穷v 由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在v 许多人出于好奇或别有
2、用心,不停的窥视网上资源许多人出于好奇或别有用心,不停的窥视网上资源为什么需要漏洞扫描为什么需要漏洞扫描v 扫描目标主机识别其工作状态(开扫描目标主机识别其工作状态(开/关机)关机)v 识别目标主机端口的状态(监听识别目标主机端口的状态(监听/关闭)关闭)v 识别目标主机系统及服务程序的类型和版本识别目标主机系统及服务程序的类型和版本v 根据已知漏洞信息,分析系统脆弱点根据已知漏洞信息,分析系统脆弱点v 生成扫描结果报告生成扫描结果报告漏洞扫描做什么漏洞扫描做什么常见扫描工具常见扫描工具漏洞扫描漏洞扫描 漏洞扫描原理漏洞扫描原理v 通过对端口的扫描以及服务的探测,得到设备上通过对端口的扫描以及
3、服务的探测,得到设备上安装的服务,并且通过发送请求的方式获取服务的安装的服务,并且通过发送请求的方式获取服务的版本信息,凭版本号就可获取很多漏洞信息版本信息,凭版本号就可获取很多漏洞信息v 尝试对系统进行攻击的方式,这个是最有效的发尝试对系统进行攻击的方式,这个是最有效的发现漏洞的方式,通过设备对攻击包的响应获取漏洞现漏洞的方式,通过设备对攻击包的响应获取漏洞信息信息v 被动监听被动监听,通过网络数据的分析来实现漏洞的发通过网络数据的分析来实现漏洞的发现现漏洞扫描实现方式漏洞扫描实现方式v 漏洞库和规则库的比对漏洞库和规则库的比对v 插件的技术插件的技术常见扫描工具常见扫描工具设备存活扫描设备
4、存活扫描v ICMP 探测探测(ping):ICMP包的探测包的探测v 异常的异常的IP包头包头 :设备对异常的设备对异常的IP包有反馈错误信包有反馈错误信息息v错误的数据分片错误的数据分片:设备在超时时间内收不到更正信设备在超时时间内收不到更正信息,会返回超时信息息,会返回超时信息v通过超长的包探测内部路由器通过超长的包探测内部路由器设备操作系统探测设备操作系统探测v 主动协议栈指纹识别:主动协议栈指纹识别:TCP包的顺序,包的顺序,FIN识别,识别,DF位识别,位识别,ACK序号识别序号识别v 被动协议栈指纹识别:被动协议栈指纹识别:通过对网络包的分析,主要通过对网络包的分析,主要是是TT
5、L,窗口大小,窗口大小,DF,TOS常见扫描工具常见扫描工具端口扫描端口扫描vTCP Connect扫描扫描 与每个与每个TCP端口进行三次握手通信,端口进行三次握手通信,vSYN扫描扫描 发送初始的发送初始的SYN数据包给目标主机数据包给目标主机vNULL扫描扫描 将一个没有标志位的数据包发送给将一个没有标志位的数据包发送给TCP端口端口vFIN扫描扫描 (反向扫描反向扫描)一个一个FIN的数据包被发送给目标主机的每个端口的数据包被发送给目标主机的每个端口vACK扫描扫描 ACK 扫描通常用来穿过防火墙的规则集扫描通常用来穿过防火墙的规则集vUDP扫描扫描 发送发送UDP包到端口包到端口 常
6、见端口扫描常见端口扫描v nmapv 各类漏洞扫描器各类漏洞扫描器 常见扫描工具常见扫描工具服务识别服务识别v根据根据telnet相关端口获取信息相关端口获取信息 执行执行telnet host port,根据返回信息判断,根据返回信息判断v根据对根据对get的返回进行判断的返回进行判断 get的返回中存在相关的服务信息的返回中存在相关的服务信息v服务指纹识别服务指纹识别 通对服务通对服务 中数据包的分析得出相关的信息中数据包的分析得出相关的信息 弱口令扫描弱口令扫描v 外部探测,基于用户名和密码字典的探测外部探测,基于用户名和密码字典的探测v 内部分析:内部分析:通过对密码文件和密码的结合进
7、行分析通过对密码文件和密码的结合进行分析内容提要安全漏扫安全漏扫 漏洞扫描主要是对网络中设备存在的漏洞进行发现,从上面的扫描原理可以漏洞扫描主要是对网络中设备存在的漏洞进行发现,从上面的扫描原理可以看出漏洞扫描同时也一种比较危险的行为,他有可能造成:看出漏洞扫描同时也一种比较危险的行为,他有可能造成:设备资源利用偏高设备资源利用偏高设备应用服务不可用设备应用服务不可用设备自身不可用设备自身不可用网络阻塞网络阻塞 安全使用漏洞扫描安全使用漏洞扫描 才能达到才能达到“取其利,避其害取其利,避其害”的效果的效果 介绍两款扫描器的使用安全介绍两款扫描器的使用安全 Nessus 绿盟极光绿盟极光Ness
8、usNessus安装安装1.从从http:/www.nessus.org/download/index.php?product=nessus32-win下下载最新的载最新的nessus软件。软件。2.注册,插件的升级注册,插件的升级(需要直接连接外网才可升级需要直接连接外网才可升级),用户的添加用户的添加 NessusNessus扫描策略扫描策略扫描前必需根据扫描的设备范围制定扫描策略NessusNessus扫描策略扫描策略Save Knowledge BaseNessus扫描器可以把扫描信息保存到Nessus服务器知识库中,以便将来使用。包括开放的端口,成功匹配的插件,发现的服务等Safe
9、Checks使对远程主机造成破坏的插件失效。Silent Dependencies如果这个选项被选上,报告中将不会包括依赖列表。若想在报告中包括依赖列表,请不要选择。Log Scan Details to Server保存扫描的更多的细节到服务器日志(.nessusd 信息)。包括:已使用的插件,完成的插件,被终止的插件。结果日志可以被用来确认特定的插件被使用,特定的主机被扫描。Stop Host Scan on Disconnect如果选上,若主机没有反应Nessus将会停止扫描,在一个扫描过程中,如果用户关掉 PCs,将会发生这种情况。在拒绝服务插件或一个安全机制开始对服务器阻塞之后,主机
10、停止反应(例如:IDS)。继续对这些主机扫描将会通过网络发送不必要的流量并延迟扫描。Avoid Sequential Scans默认情况下,Nessus 按次序扫描 IP 地址列表。如果选上,Nessus 将会随机扫描主机列表。在一个大规模扫中,分配特定子网的网络流量,将会非常有用。Consider Unscanned Ports as Closed如果一个端口没有被端口扫描器(例如:超出指定范围)发现,就认为这个端口是关闭的。DesignateHosts by their DNSName输出的报告使用主机名而不是IP地址。NessusNessus扫描策略扫描策略选项描述Reduce Para
11、llel Connections on Congestion当Nessus发送大量的数据包并使网络通道达到最大时,使Nessus能够检测出来。如果检测,Nessus将会控制扫描来适应和减小拥塞。一旦拥塞变小,Nessus将会自动的尝试使用网络通道中可用的空间。Use Kernel Congestion Detection(Linux only)能够使Nessus监视CPU和其他内部运行的程序来拥塞控制,相应规模变小。Nessus将会尝试使用更多的可用资源。这个特征仅仅适用于部署在Linux上的Nessus扫描器“Network”组给出了基于被扫描目标网络的更好的控制扫描的选项组给出了基于被扫描
12、目标网络的更好的控制扫描的选项NessusNessus扫描策略扫描策略选项描述TCP Scan使用Nessus内置的TCP扫描器来识别目标开放的TCP端口。这个扫描器是最优的同时有很多 self-tuning特征。UDP Scan使用Nessus内置的 DUP 扫描器来识别目标开放的 UDP端口。SYN Scan使用Nessus内置的SYN扫描器来识别目标开放的TCP端口。SYN扫描器是一个流行的端口扫描方法,通常被认为比TCP扫描更为intrusive(打扰),扫描器向端口发送一个SYN数据包,等待 SYN-ACK回复,通过是否回复决定端口的状态。SNMP Scan使Nessus用于扫描目标
13、的SNMP服务,在一个扫描中,Nessus将会猜测相关的SNMP设置。如果这个设置在“Preferences”下通过用户提供,将允许 Nessus 更好的检查远程主机,提供更细致的审计结果。例如,很多思科路由器通过检查返回的SNMP字符串的版本来确认漏洞。这个信息对于那些审计更有必要。Netstat SSH Scan这个选项使用本地主机的netstat来检查开放的端口。它依赖于netstat命令通过 SSH 连接到目标。这个扫描为基于 Unix 的系统做准备,并需要认证证书。Netstat WMI Scan 这个选项使用本地主机的netstat来检查开放的端口。它依赖于netstat命令通过W
14、MI连接到目标。这个扫描为基于Windows的系统做准备,并需要认证证书。Ping Host这个选项使远程主机在多个端口ping来确认他们是否活动。Ports Scanners组控制扫描中将会使用哪些端口扫描方法。组控制扫描中将会使用哪些端口扫描方法。NessusNessus扫描策略扫描策略选项描述Max Checks Per Host设置限制Nessus扫描器一次攻击单个主机检查的最大个数。Max Checks Per Scan设置限制Nessus扫描器同时扫描的最大主机个数。Network Receive Timeout(seconds)默认设置为5。这个时间是Nessus将会等待主机响应
15、的时间直到使用其他指定的插件。如果在低连通下扫描,最好把它设置为更大值。Max Simultaneous TCP Sessions Per Host设置限制对单一主机建立的TCP会话的最大个数。Max Simultaneous TCP Sessions Per Scan设置限制对整个扫描建立的TCP会话的最大个数,而不管被扫描的主机数。Performance组给出两个选项来控制将会使用多少个扫描。组给出两个选项来控制将会使用多少个扫描。当配置的一个扫描对扫描时间和网络活动有重要影响,当配置的一个扫描对扫描时间和网络活动有重要影响,这些选项将会非常有用。这些选项将会非常有用。NessusNess
16、us扫描插件扫描插件扫描前必需根据扫描的设备范围制定扫描策略扫描前必需根据扫描的设备范围制定扫描策略NessusNessus任务建立任务建立新建扫描,点击右下角新建扫描,点击右下角Launch Scan开始扫描:开始扫描:扫描目标可以是单个IP地址,如192.168.*.*,不同的IP地址用“,”隔开;也可以是一个网段192.168.*.1-32NessusNessus结果查看结果查看Reports可以看到查看扫描报告和扫描进度:可以看到查看扫描报告和扫描进度:绿盟极光插件管理绿盟极光插件管理主要是进行插件模板的管理主要是进行插件模板的管理 绿盟极光扫描策略绿盟极光扫描策略扫描参数应该根据实际
17、的情况进行调整扫描参数应该根据实际的情况进行调整绿盟极光密码策略绿盟极光密码策略根据实现的情况添加用户名和密码,例如系统的根据实现的情况添加用户名和密码,例如系统的oracle用户,用户,数据库的用户名等等数据库的用户名等等注意要点注意要点 正确的使用漏洞扫描器能减少网络中威胁和隐患的存在,而要正确的使用正确的使用漏洞扫描器能减少网络中威胁和隐患的存在,而要正确的使用漏洞扫描器需要注意以下几点:漏洞扫描器需要注意以下几点:不能认为只有连接在互联网上的机器才需要扫描。漏洞扫描也应当包含对内部不能认为只有连接在互联网上的机器才需要扫描。漏洞扫描也应当包含对内部网络中没有与互联网连接的系统进行审计,
18、目的是检查和评估欺诈性软件威胁网络中没有与互联网连接的系统进行审计,目的是检查和评估欺诈性软件威胁,以及恶意的雇员造成的威胁,以及恶意的雇员造成的威胁 漏洞扫描的频度问题。网络是一个动态变化的实体,特别是一些程序经常需要漏洞扫描的频度问题。网络是一个动态变化的实体,特别是一些程序经常需要更新,一些新的软件可能经常需要安装到服务器上,这可能会给造成新的安全更新,一些新的软件可能经常需要安装到服务器上,这可能会给造成新的安全威胁。新的漏洞和程序缺陷几乎每天都在被发现。所以定期更新相关的漏洞库威胁。新的漏洞和程序缺陷几乎每天都在被发现。所以定期更新相关的漏洞库和对设备的扫描是必需的,这个可以在目前的
19、安全管理平台来实现。和对设备的扫描是必需的,这个可以在目前的安全管理平台来实现。漏洞扫描的策略问题。漏洞扫描同时也一种比较危险的行为,在进行的同时需漏洞扫描的策略问题。漏洞扫描同时也一种比较危险的行为,在进行的同时需要对漏洞扫描的策略进行定制,达到安全扫描目的要对漏洞扫描的策略进行定制,达到安全扫描目的扫描策略总结扫描策略总结 扫描自身也是一个危险的行为,可能会导致一些异常的出现,而为了减少扫描自身也是一个危险的行为,可能会导致一些异常的出现,而为了减少这些异常的发生,我们可以做:这些异常的发生,我们可以做:减少一次扫描的设备数(尽量不使用一个整网段的扫描)减少一次扫描的设备数(尽量不使用一个
20、整网段的扫描)根据设备的负载调整扫描参数(主要是连接数)根据设备的负载调整扫描参数(主要是连接数)关闭不常见的端口扫描策略关闭不常见的端口扫描策略(比如(比如ping、WMI、SSH)同一次扫描中用同一类型的设备(减少次扫描中的策略数)同一次扫描中用同一类型的设备(减少次扫描中的策略数)根据扫描的设备类型和设备上加载的服务选择相关的插件(减少不同系统间插根据扫描的设备类型和设备上加载的服务选择相关的插件(减少不同系统间插件冲突带来的安全隐患)件冲突带来的安全隐患)扫描策略总结扫描策略总结 设备类型设备类型扫描策略扫描策略基本扫描插件基本扫描插件windowsSafe Checks;Stop H
21、ost Scan on Disconnect;Avoid Sequential Scans;Consider Unscanned Ports as Closed;Reduce Parallel Connections on Congestion;TCP Scan;UDP Scan;SYN Scan;Max Checks Per Host:默认值Max Checks Per Scan:默认值Network Receive Timeout:根据网络实际负载,建议在2Max Simultaneous TCP Sessions Per Host:10-50;Max Simultaneous TCP S
22、essions Per Scan:100-500;Windows;Windows:Microsoft Bulletin;Windows:user Manager;Backdoor;General;denial of serviceGain a shell remotely扫描策略总结扫描策略总结 设备类型设备类型扫描策略扫描策略基本扫描插件基本扫描插件Red Hat Linux Safe Checks;Stop Host Scan on Disconnect;Avoid Sequential Scans;Consider Unscanned Ports as Closed;Reduce Par
23、allel Connections on Congestion;Use Kernel Congestion Detection;TCP Scan;UDP Scan;SYN Scan;Max Checks Per Host:默认值Max Checks Per Scan:默认值Network Receive Timeout:根据网络实际负载,建议在2Max Simultaneous TCP Sessions Per Host:20-50;Max Simultaneous TCP Sessions Per Scan:200-500;Backdoor;General;denial of service
24、;Default UnixAccount;Red Hat local Security ChecksGain a shell remotely扫描策略总结扫描策略总结 设备类型设备类型扫描策略扫描策略基本扫描插件基本扫描插件Solaris(DNS)Safe Checks;Stop Host Scan on Disconnect;Avoid Sequential Scans;Consider Unscanned Ports as Closed;Reduce Parallel Connections on Congestion;TCP Scan;UDP Scan;SYN Scan;Max Chec
25、ks Per Host:默认值Max Checks Per Scan:默认值Network Receive Timeout:根据网络实际负载,建议在2Max Simultaneous TCP Sessions Per Host:5-20;Max Simultaneous TCP Sessions Per Scan:50-200;Backdoor;General;denial of service;Default UnixAccount;DNS;Solaris local Security ChecksGain a shell remotely扫描策略总结扫描策略总结 设备类型设备类型扫描策略扫
26、描策略基本扫描插件基本扫描插件 混合 Safe Checks;Stop Host Scan on Disconnect;Avoid Sequential Scans;Consider Unscanned Ports as Closed;Reduce Parallel Connections on Congestion;TCP Scan;SYN Scan;Max Checks Per Host:默认值Max Checks Per Scan:默认值Network Receive Timeout:根据网络实际负载,建议在2Max Simultaneous TCP Sessions Per Host:
27、5-10;Max Simultaneous TCP Sessions Per Scan:50-100;Backdoor;General;denial of service;Default UnixAccount;DNS;Solaris local Security ChecksWindows;Windows:Microsoft Bulletin;Windows:user Manager;Red Hat local Security ChecksGain a shell remotelyAIX local Security Checks漏洞确认机制漏洞确认机制 但漏洞扫描的结果也一定百分之百的准
28、确,而且不同的扫描器存在扫描结但漏洞扫描的结果也一定百分之百的准确,而且不同的扫描器存在扫描结果的差异,这些情况需要人工干预对漏洞扫描结果进行判断,判断流程:果的差异,这些情况需要人工干预对漏洞扫描结果进行判断,判断流程:确认服务运行状态确认服务运行状态(service*status)漏洞不存在确认操作系统确认操作系统确认端口开放确认端口开放(netstat)确认版本信息确认版本信息(*-v)确认配置确认配置(vi *.conf)漏漏洞洞描描述述不不同同内容提要前次总结前次总结一共发现高危漏洞一共发现高危漏洞244个,中危险个,中危险905个个这些漏洞中补丁或版本过低或者配置疏忽这些漏洞中补丁
29、或版本过低或者配置疏忽修补建议修补建议 定期对设备上运行的提定期对设备上运行的提供对外服务的服务进行供对外服务的服务进行补丁加固补丁加固 关闭不常见的端口和服关闭不常见的端口和服务,比如务,比如sendmail 定期对设备的安全基线定期对设备的安全基线进行核查进行核查前次总结前次总结问题描述:问题描述:扫描过程中泉州扫描过程中泉州局方局方反映办公网段部分服务出现异常,扫描结束时反映办公网段部分服务出现异常,扫描结束时发现办公网段部分服务异常,七台服务器主机出现问题:发现办公网段部分服务异常,七台服务器主机出现问题:四台四台为为HP-UNIX系统系统,重启部分进程后仍然无法提供正常服务,重启主重
30、启部分进程后仍然无法提供正常服务,重启主机后恢复。机后恢复。三台三台为为WINDOWS 2003系统系统,重启后恢复,重启后恢复。现场判断疑似现场判断疑似Nessus扫描机制问题,导致主机出现遭受扫描机制问题,导致主机出现遭受DDOS攻攻击的现象,造成连接故障击的现象,造成连接故障。泉州巡检宕机事件分析泉州巡检宕机事件分析结论:结论:本次扫描,本次扫描,unix或者或者hp unix主机上有较多的服务,且多为私有程序的主机上有较多的服务,且多为私有程序的服务,如综合告警系统,可能程序上面存在一些服务,如综合告警系统,可能程序上面存在一些bug,导致出现类似的现象,导致出现类似的现象。windo
31、ws系统可以通过防火墙的开启来屏蔽这一威胁,但是系统可以通过防火墙的开启来屏蔽这一威胁,但是unix主机一般不主机一般不会开启防火墙,如何避免同样问题的发生,还需要后续研究解决。但是针对会开启防火墙,如何避免同样问题的发生,还需要后续研究解决。但是针对于于本次本次的情况,需要对的情况,需要对nessus扫描的参数进行修改,以防止类似现象发生,扫描的参数进行修改,以防止类似现象发生,无法保证网段中所有服务器防火墙都开启,而如果面对无法保证网段中所有服务器防火墙都开启,而如果面对unix类型服务器需要类型服务器需要如何调整策略进行扫描都需要进行研究和测试。如何调整策略进行扫描都需要进行研究和测试。