1、参考阅读参考阅读 反击黑客 (美)(美)Ed Skoudis 王纲译 机械工业出版社 2002年Ed Skoudis ,是有名的信息安全预测专家、克林顿安全办公室的高级顾问以及网络安全研究会“ The Hack-Counter Hack Training Course ”的创始人,是多年来一直从事计算机安全工作。 Counter Hack: A Step-by-Step Guide to Computer Attacks and Effective Defenses ”(中文版译名为反击黑客),详细介绍防御各种黑客攻击的技术与方法。典型网络攻击步骤典型网络攻击步骤端口端口判断判断判断判断系统系
2、统选择选择最简最简方式方式入侵入侵分析分析可能可能有漏有漏洞的洞的服务服务获取获取系统系统一定一定权限权限提提升升为为最最高高权权限限安装安装多个多个系统系统后门后门清除清除入侵入侵脚印脚印攻击其攻击其他系统他系统获取敏获取敏感信息感信息作为其作为其他用途他用途网络攻击手段网络攻击手段 准备阶段 数据传输过程中的窃听 IP地址欺骗 会话劫持 拒绝服务攻击 维护访问权 后门和木马准备阶段准备阶段 获取目标的一般信息 探测目标的薄弱环节 战争拨号 端口扫描 漏洞扫描Whois数据库查找数据库查找IPIP地址、主机是否运行、到要入侵点的路由、主机操作系地址、主机是否运行、到要入侵点的路由、主机操作系
3、统与用户信息等。统与用户信息等。PingPing命令命令判断计算机是否开着,或者数据包发送到返回判断计算机是否开着,或者数据包发送到返回需要多少时间需要多少时间 Tracert/TraceroutTracert/Tracerout命令命令跟踪从一台计算机到另外一台跟踪从一台计算机到另外一台计算机所走的路径计算机所走的路径 FingerFinger和和RusersRusers命令命令收集用户信息收集用户信息 HostHost或者或者NslookupNslookup命令,结合命令,结合WhoisWhois和和FingerFinger命令命令获取获取主机、操作系统和用户等信息主机、操作系统和用户等信
4、息 应用的方法:应用的方法:准备阶段准备阶段 调查和计划 了解有关攻击目标的信息 我们的目的我们的目的:一旦发现某些行为特征一旦发现某些行为特征,就可能在攻击真就可能在攻击真正开始前阻止正开始前阻止 技术手段: 查找目标的基本信息(查找目标的基本信息(whoiswhois数据库)数据库) 战争拨号,网络测绘战争拨号,网络测绘 端口扫描端口扫描 针对特定的IP 哪些端口开放提供服务 哪种操作系统(响应特征) 扫描工具 “知道门和窗” 非技术手段: 社会工程学使用社会技巧和人际关系, 获取与安全相关的信息 内部的一些地址“建筑物里面有些什么” 偷听 垃圾搜寻 通过公告牌与聊天室交换信息(漏洞 利用
5、的技术 相关目标的信息) 利用软件开发商的一些文档了解产品的细节 通用目标侦察工具通用目标侦察工具Sam Spadepingping:这个工具将:这个工具将ICMP EchoICMP Echo请求消息发给目标,看是否它是可达的,请求消息发给目标,看是否它是可达的,并判断应答的时间。并判断应答的时间。 WhoisWhois:Sam SpadeSam Spade使用默认使用默认WhoisWhois服务器或通过允许用户指定使用哪个服务器或通过允许用户指定使用哪个WhoisWhois数据库来查询数据库来查询WhoisWhois。可使用内建的智能将。可使用内建的智能将、和和.org.org的的Whois
6、Whois查询发送到合适的查询发送到合适的WhoisWhois服务器。服务器。 IPIP块块WhoisWhois:可以使用这个特性判断谁拥有一个特定组的可以使用这个特性判断谁拥有一个特定组的IPIP地址,它使地址,它使用的用的ARINARIN数据数据( (American Registry for Internet Numbers) )。 NslookupNslookup:这个特性允许查询这个特性允许查询DNSDNS服务器,以找到与服务器,以找到与IPIP地址映射的域。地址映射的域。 DNSDNS带传输:这个特性传输关于来自合适的名字服务器的一个给定域名带传输:这个特性传输关于来自合适的名字服
7、务器的一个给定域名的国内的所有信息。的国内的所有信息。 TracerouteTraceroute:这个特性返回源计算机与选择的目标之间的路由器跳的一这个特性返回源计算机与选择的目标之间的路由器跳的一个列表。个列表。 FingerFinger:这个特性支持查询一个系统,决定它的用户列表。这个特性支持查询一个系统,决定它的用户列表。 SMTP VRFYSMTP VRFY:这个功能用于判断特定邮件地址在一给定电子邮件服务器:这个功能用于判断特定邮件地址在一给定电子邮件服务器上是否合法。它基于简单的邮件传输协议(上是否合法。它基于简单的邮件传输协议(SMTPSMTP)鉴别命令,是最广泛)鉴别命令,是最
8、广泛使用的电子邮件协议里的选项,用于检查邮件地址的合法性。使用的电子邮件协议里的选项,用于检查邮件地址的合法性。 WebWeb浏览器浏览器:Sam SpadeSam Spade的内建的小型的内建的小型 WebWeb浏览器使用户能查看原始浏览器使用户能查看原始HTTPHTTP交互,包括所有的交互,包括所有的HTTPHTTP首部。首部。 例:经理在她工作处的例:经理在她工作处的 PC 上安装了调制解调器和上安装了调制解调器和 pcAnywhere。pcAnywhere 是一种简单的程序,它允许用户通过调制解调器从远程位置拨是一种简单的程序,它允许用户通过调制解调器从远程位置拨号到一台号到一台 PC
9、 并与之连接。并与之连接。 战争拨号战争拨号通过持续地拨入来侵入组织的基于调制解调器的系统。通过持续地拨入来侵入组织的基于调制解调器的系统。战争拨号工具战争拨号工具 L0pht的 TBA 2000年早期,一个名为 L0pht 的黑客组织发布了一个名为TBA的非常吸引人的战争拨号器。它是一个具有大量标准功能的战争拨号器,例如随机/连续拨号,载波检测。 TBA引起人们注意的功能是它的运行平台:掌上个人数字助理。你用来存储日历和电话号码的工具现在可以用来进行战争拨号攻击了。 THC-Scan2.0 THC-Scan由The Hackers Choice团体发布,能自动检测调制解调器的速度、数据位、校
10、验位及停止位。此工具也尝试去判断被发现的计算机所使用的操作系统。而且,THC-Scan有能力确认什么时候能再有拨号音,这样,黑客们便可以不经过你的PBX就可以拨打免费电话。THC-Scan 2.0版于1998年圣诞节推出。战争拨号的预防措施战争拨号的预防措施审计、监控和记录用于登录的设备以及其它可能受攻击的设备。 安全性策略是一个良好的开端,但缺少了备份和执行就等于浪费时间。 遍历您的安装。好的遍历通常能使您找到连接到机器的调制解调器。还有,保存好的文档和平面图,以便您知道该查看哪儿。 查看您调制解调器上的自动应答配置。这也可以用来保护您的调制解调器。 最后,使用与内部 PBX 号码范围完全不
11、同的电话号码。这是阻止战争拨号攻击的比较有效的方法之一。 例如,如果您的号码是 324-1000,请将象 765-3000 这样的范围用于您的带外管理解决方案。对这些号码进行保密并将访问权限制于重要的专职成员。获取网络服务的端口作为入侵通道。获取网络服务的端口作为入侵通道。1.TCP Connect()1.TCP Connect()2.TCP SYN2.TCP SYN3.TCP FIN3.TCP FIN4.IP4.IP段扫瞄段扫瞄5.TCP5.TCP反向反向IdentIdent扫瞄扫瞄6.FTP6.FTP代理扫瞄代理扫瞄7.UDP ICMP7.UDP ICMP不到达扫瞄不到达扫瞄7种扫瞄类型:
12、种扫瞄类型: 端口扫描类型端口扫描类型l开放扫描(Open Scanning)需要扫描方通过三次握手过程与目标主机建立完整的TCP连接可靠性高,产生大量审计数据,容易被发现l半开放扫描(Half-Open Scanning)扫描方不需要打开一个完全的TCP连接l秘密扫描(Stealth Scanning)不包含标准的TCP三次握手协议的任何部分 隐蔽性好,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息 开放扫描开放扫描pTCP connect()扫描l 原理扫描器调用socket的connect()函数发起一个正常的连接l如果端口是打开的,则连接成功l否则,连接失败l 优点
13、简单,不需要特殊的权限l 缺点服务器可以记录下客户的连接行为,如果同一个客户轮流对每一个端口发起连接,则一定是在扫描p Reverse-ident扫描l Ident协议(RFC1413)使得可以发现任何一个通过TCP连接的进程的所有者的用户名,即使该进程并没有发起该连接 只有在TCP全连接之后才有效 Ident 服务在TCP端口113 例如 A 想知道 从B的6191口连入自己TCP23口的用户名 A可以连接B的 ident 服务,发送请求 6191,23 如果连接存在,B回应 6193, 23 : USERID : UNIX : stjohns 如果连接不存在,回应 6195, 23 : E
14、RROR : NO-USERl 攻击示例 可以先连接到80端口,然后通过identd来发现服务器是否在root下运行(可以直接发现Web服务器是否错误的配置成root权限)l 建议关闭ident服务,或者在防火墙上禁止,除非是为了审计的目的 半开放扫描半开放扫描p TCP SYN扫描l 原理向目标主机的特定端口发送一个SYN包l如果应答包为RST包,则说明该端口是关闭的l否则,会收到一个SYN|ACK包。于是,发送一个RST,停止建立连接由于连接没有完全建立,所以称为“半开连接扫描”l 优点很少有系统会记录这样的行为l 缺点在UNIX平台上,需要root权限才可以建立这样的SYN数据包p TC
15、P Idlescanl 由Antirez首先使用,并在Bugtraq上公布 l 原理:扫描主机通过伪造傀儡主机IP地址向目标主机发起SYN扫描,并通过观察傀儡主机IP序列号的增长规律获取端口的状态 。(开放状态,对ACK包返回RST包,序号增加;关闭状态,直接丢弃RST包,不增加)l 优点l不直接扫描目标主机也不直接和它进行连接,隐蔽性较好 l 缺点对傀儡主机的要求较高 秘密扫描秘密扫描p TCP Fin扫描扫描l 原理扫描器发送一个FIN数据包l如果端口关闭的,则远程主机丢弃该包,并送回一个RST包l否则的话,远程主机丢弃该包,不回送变种,组合其他的标记l 优点不是TCP建立连接的过程,所以
16、比较隐蔽l 缺点与SYN扫描类似,也需要构造专门的数据包在Windows平台无效,总是发送RST包p TCP XMAS扫描l 原理扫描器发送的TCP包包头设置所有标志位l关闭的端口会响应一个同样设置所有标志位的包 l开放的端口则会忽略该包而不作任何响应 l 优点比较隐蔽l 缺点主要用于UNIX/Linux/BSD的TCP/IP的协议栈 不适用于Windows系统 其他扫描其他扫描p FTP Bounce Scanl 原理用PORT命令让ftp server与目标主机建立连接,而且目标主机的端口可以指定如果端口打开,则可以传输否则,返回425 Cant build data connection
17、: Connection refused. Ftp这个缺陷还可以被用来向目标(邮件,新闻)传送匿名信息l 优点:这种技术可以用来穿透防火墙l 缺点:慢,有些ftp server禁止这种特性p UDP ICMP port unreachable scanningl 利用UDP协议l 原理开放的UDP端口并不需要送回ACK包,而关闭的端口也不要求送回错误包,所以利用UDP包进行扫描非常困难有些协议栈实现的时候,对于关闭的UDP端口,会送回一个ICMP Port Unreach错误l 缺点速度慢,而且UDP包和ICMP包都不是可靠的需要root权限,才能读取ICMP Port Unreach消息l
18、一个应用例子Solaris的rpcbind端口(UDP)位于32770之上,这时可以通过这种技术来探测 端口扫描对策端口扫描对策p设置防火墙过滤规则,阻止对端口的扫描p例如可以设置检测SYN扫描而忽略FIN扫描p使用入侵检测系统p禁止所有不必要的服务,把自己的暴露程度降到最低pUnix或linux中,在/etc/inetd.conf中注释掉不必要的服务,并在系统启动脚本中禁止其他不必要的服务pWindows中通过Services禁止敏感服务,如IISNmapNmap由Fyodor编写提供TCP、UDP端口扫描、操作系统指纹识别集成了多种扫描技巧,提供的端口扫描功能比较全面,是目前国外最为流行的
19、端口扫描工具之一。没有扫描漏洞的功能,无法对目标主机的脆弱性进行深入挖掘。SuperScan在Windows环境下的TCP端口扫描程序。它允许灵活的定义目标IP端口列表图形化的交互界面使得用起来简单方便。具有以下功能:1) 通过Ping来检验IP是否在线;2) IP和域名相互转换;3) 检验目标计算机提供的服务类别;4) 检验一定范围目标计算机的是否在线和端口情况;5) 工具自定义列表检验目标计算机是否在线和端口情况;6) 自定义要检验的端口,并可以保存为端口列表文件;7) 软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,我们也可以自己定义修
20、改这个木马端口列表.X-ScanX-Scan由国内“安全焦点”编写Windows环境下的能够扫描漏洞的检测工具。支持插件功能,提供了图形界面和命令行两种操作方式,能够实现扫描远程操作系统类型、标准端口、常见漏洞等功能。只能提供一种端口扫描方式,在目标网络复杂时无法灵活自主的进行选择配置,从而限制了它的适应性。图图: X-scan 操作系统的识别操作系统的识别l操作系统辨识的动机操作系统辨识的动机许多漏洞是系统相关的,而且往往与相应的版本对应从操作系统或者应用系统的具体实现中发掘出来的攻击手段都需要辨识系统操作系统的信息还可以与其他信息结合起来,比如漏洞库,或者社会诈骗(社会工程,social
21、engineering)l如何辨识一个操作系统如何辨识一个操作系统一些端口服务的提示信息,例如,telnet、http、ftp等服务的提示信息TCP/IP栈指纹DNS泄漏出OS系统图图: winfingerprint跟踪路由技术跟踪路由技术 跟踪路由的技术来确定组成你的网络基础设施的各种路由器和网关。跟踪路由技术依赖于IP首部中的生存时间(TTL)字段。TTL与时间无关;它与跳有关。 利用利用TTLTTL字段进行网络测绘字段进行网络测绘TTL工作原理-路由器收到IP数据包,将TTL字段的值减去1。如果TTL值是0,则路由器给数据包的源站回送一个ICMP超时的消息。通过发送具有各种TTL值的一系
22、列数据包,能够从已经知道的源站跟踪所有的路由器,一直到所有目的地。攻击者能够再现出你的网络拓扑结构。Cheops:一个很好的网络测绘工具一个很好的网络测绘工具 Cheops是由Mark Spence编写的,运行在Linux系统下,能够使用ping和跟踪路由功能并自动完成网络目录和拓扑结构的绘制工作。 其他的功能 允许系统管理员在网络内方便的自动进行FTP和安全界面连接。 支持远程操作系统标识功能,使用TCP栈指纹技术。资源扫描与查找资源扫描与查找 扫描网络资源和共享资源,如目标网络计算机名、域名和共享文件等等; 扫描目标系统上合法用户的用户名和用户组名。 Windows系统,特别是Window
23、s NT/2000在这些方面存在着严重的漏洞,很容易让非法入侵者获取到关于该目标系统的很多有用信息,如共享资源、Netbios名和用户组等。l 采用协议:NetBIOS协议、CIFS/SMB协议和空会话l 常用工具: Net View Nbtstat和Nbtscan Legion和Shedp Net View NET VIEW computername /CACHE | /DOMAIN:domainname或 NET VIEW /NETWORK:NW computername 在命令行中输入在命令行中输入“net view /domain”net view /domain”命令,可以获取网络上
24、可用的域命令,可以获取网络上可用的域 /domain:domainname 指定要查看其可用计算机的域或工作组。如果省略 DomainName,/domain 将显示网络上的所有域或工作组名。 在命令行中输入在命令行中输入“net view /domain:domain_name”命令命令,可以获取某一域中的计算机列,可以获取某一域中的计算机列表,其中表,其中domain_name为要列为要列表计算机的域名。表计算机的域名。 在在命 令 行命 令 行中 输 入中 输 入 “ n e t v i e w computer_name”命令,可以获命令,可以获取网络某一计算机的共享资源列表,取网络某
25、一计算机的共享资源列表,其中其中computer_name为计算机名为计算机名 。/network:nw 显示 NetWare 网络上所有可用的服务器p nbtstat和nbtscan nbtstat(NetBIOS over TCP/IP)是)是Windows NT/2000内置的命令内置的命令行工具,利用它可以查询涉及到行工具,利用它可以查询涉及到NetBIOS信息的网络机器。另外,信息的网络机器。另外,它还可以用来消除它还可以用来消除NetBIOS高速缓存器和预加载高速缓存器和预加载LMHOSTS文件等文件等。这个命令在进行安全检查时非常有用。这个命令在进行安全检查时非常有用。l 利用利
26、用nbtstat查看目标查看目标 系统系统NetBIOS列表列表l Nbtstat本身有一些缺陷,如一次只能扫描一台主机等,本身有一些缺陷,如一次只能扫描一台主机等,nbtscan(http:/www.abb.aha.ru/software/nbtscan.html)却可以对一个网段进行扫描)却可以对一个网段进行扫描,利用利用nbtscan对网段进行扫描对网段进行扫描。 p Legion和和Shed 在在NetBIOS扫描中,很重要的一项就是扫描网络中的共享资源,以窃扫描中,很重要的一项就是扫描网络中的共享资源,以窃取资源信息或植入病毒木马。取资源信息或植入病毒木马。Legion和和Shed就
27、是其中的典型。就是其中的典型。l Legion的共享资源扫描可以对一个的共享资源扫描可以对一个IP或网段进行扫描,它还包或网段进行扫描,它还包含一个共享密码的蛮力攻击工具,如含一个共享密码的蛮力攻击工具,如 “Show BF Tool”按钮按钮。 主要用于主要用于Windows 2000以前的操作系统中以前的操作系统中 l Shed是一个速度很快的共享资源扫描工具,它可以显示所是一个速度很快的共享资源扫描工具,它可以显示所有的共享资源,包含隐藏的共享。有的共享资源,包含隐藏的共享。p 空会话空会话l 原理利用Windows NT/2000对NetBIOS的缺省信赖通过TCP端口139返回主机的
28、大量信息l 实例如果通过端口扫描获知TCP端口139已经打开net use 192.168.102.230IPC$ /USER: 在攻击者和目标主机间建立连接 Windows 2000还有另一个SMB端口445p 预防资源扫描和查找的方法:预防资源扫描和查找的方法: 防范NetBIOS扫描的最直接方法就是不允许对TCP/UDP 135到139端口的访问,如通过防火墙或路由器的配置等。另外,对单独的主机,可使用NetBIOS over TCP/IP项失效或注册表配置来实现。Windows 2000 操作系统还要禁止445端口。用户和用户组查找用户和用户组查找 利用前面介绍的方法,可以很容易获取远
29、程Windows NT/2000主机的共享资源、NetBIOS名和所处的域信息等。但黑客和非法入侵者更感兴趣的是通过NetBIOS扫描,获取目标主机的用户名列表。如果知道了系统中的用户名(即账号)后,就可以对该账号对应的口令进行猜测攻击(有些口令往往很简单),从而对远程目标主机进行更深入的控制。 在Windows NT/2000的资源工具箱NTRK中提供了众多的工具用于显示远程主机用户名和组信息,如前面介绍的nbtstat和nbtscan,另外还有UsrStat等工具等工具p UsrStat UsrStat是一个命令行工具,用于显示一个给定域中的每一个用是一个命令行工具,用于显示一个给定域中的
30、每一个用户的用户名、全名和最后的登录日期与时间,如图所示,可显示域户的用户名、全名和最后的登录日期与时间,如图所示,可显示域中计算机上的用户信息。中计算机上的用户信息。 发现操作系统、系统软件、常见应用软件、数据库存在的漏洞,提供解决方案。 双刃剑漏洞发现与扫描漏洞发现与扫描蠕虫名称蠕虫名称CodeRedNimdaSQLSlammerBlasterSasser利用漏洞利用漏洞IIS IndexServerUnicode漏洞MIME漏洞SQLServer 2000Resolution漏洞Windows RPC漏洞LSASS漏洞微软公告微软公告MS01-033MS00-078MS01-020MS0
31、2-039MS03-026MS04-011补丁发布补丁发布2001.6.182000.10.202001.03.29 2002.6.242003.7.162004.4.13攻击代码攻击代码2001.6.212000.10.202002.6.262003.7.242004.4.13蠕虫出现蠕虫出现2001.7.132001.9.182003.1.252003.8.132004.5.1弥补时间弥补时间3天/25天0天/140天20天/210天 8天/27天0天/20天1980 1980 1985 19901985 1990 1995 1995 2000 2002 2000 2002时间(年)时间(
32、年)高高各种攻击者的综合各种攻击者的综合威胁程度威胁程度低低对攻击者技术知识和对攻击者技术知识和技巧的要求技巧的要求黑客攻击越来越容易实现,威胁程度越来越高黑客攻击越来越容易实现,威胁程度越来越高信息网络系统的复杂性增加脆弱性程度网络系统日益复杂,网络系统日益复杂,安全隐患急剧增加安全隐患急剧增加时间时间黑客高手发现黑客高手发现新的弱点新的弱点黑客开始利用黑客开始利用新弱点进行攻新弱点进行攻击击针对该弱点的粗针对该弱点的粗糙的攻击工具开糙的攻击工具开始传播始传播网络安全厂家获取相网络安全厂家获取相关漏洞信息集成到扫关漏洞信息集成到扫描检测工具中描检测工具中自动扫描和利用该弱自动扫描和利用该弱点
33、的攻击工具的广泛点的攻击工具的广泛散布和使用散布和使用弱点被广泛的用于攻击弱点被广泛的用于攻击漏洞发现方式漏洞发现方式-主机漏洞扫描主机漏洞扫描主机扫描器(本地扫描器) 与待检查系统运行于同一结点,执行对自身的检查。主要功能 分析各种系统文件内容,查找可能存在的对系统安全造成威胁的配置错误。特点 可以在系统上任意创建进程。为了运行某些程序,检测缓冲区溢出攻击,就要求扫描器做到这一点。 可以检查到安全补丁一级,以确保系统安装了最新的安全补丁。 可以查看本地系统配置文件,检查系统的配置错误。除非能攻入系统并取得超级用户权限,远程扫描器很难实现漏洞发现方式漏洞发现方式-网络扫描器网络扫描器网络扫描器
34、网络扫描器( (远程扫描器远程扫描器) ) 和待检查系统运行于不同结点,通过网络远程探测目标结点,检查安全漏洞。 通过执行一整套综合的渗透测试程序集(扫描方法集),发送精心构造的数据包来检测目标系统是否存在安全隐患。-搜集目标主机上的各种信息,然后与系统的漏洞库进行匹配,如果满足匹配条件,则认为安全漏洞存在;-模拟黑客的攻击手法对目标主机进行攻击,如果模拟攻击成功,则认为安全漏洞存在。 扫描器基本模块扫描器基本模块用户界面用户界面扫描引擎扫描引擎扫描方法扫描方法集集漏洞数据漏洞数据库库扫 描 输 出扫 描 输 出报告报告扫描策略扫描策略 主机扫描内容主机扫描内容-unix(1)-unix(1)
35、系统完整性检查系统完整性检查 关键系统文件变化检查关键系统文件变化检查 用户账户变化检查用户账户变化检查 黑客入侵标记检查黑客入侵标记检查 未知程序版本未知程序版本 不常见文件名不常见文件名 可疑设备文件可疑设备文件 未经授权服务未经授权服务 网络数据包截获攻击检测网络数据包截获攻击检测 弱口令选择检测弱口令选择检测 有安全漏洞程序版本检测有安全漏洞程序版本检测 标记可被攻击程序标记可被攻击程序 报告需要安装的安全补丁报告需要安装的安全补丁 检查系统配置安全性检查系统配置安全性 全局信任文件全局信任文件主机扫描内容主机扫描内容-unix (2)unix (2) crontab文件文件 rc系统
36、启动文件系统启动文件 文件系统文件系统mount权限权限 打印服务打印服务 账户配置账户配置 组配置组配置 检查网络服务安全性检查网络服务安全性 是否允许是否允许ip转发转发 标记有风险服务标记有风险服务 Ftp 配置配置 News服务器配置服务器配置NFS配置配置 邮件服务器配置邮件服务器配置 Web服务器配置服务器配置 检查用户环境变量安全性检查用户环境变量安全性 系统文件属主系统文件属主 系统文件权限许可系统文件权限许可 文件属主及权限许可文件属主及权限许可 shell启动文件启动文件 用户信任文件用户信任文件 应用程序配置文件应用程序配置文件主机扫描内容主机扫描内容- -Windows
37、 允许建立允许建立guestguest账户账户 guestguest账户无口令账户无口令 口令构造和过时原则口令构造和过时原则 弱口令选择弱口令选择 登陆失败临界值登陆失败临界值 注册表权限许可注册表权限许可 允许远程注册访问允许远程注册访问 独立的注册设置独立的注册设置 对系统文件和目录不正确的分对系统文件和目录不正确的分配许可权配许可权 非非NTNT缺省配置的未知服务缺省配置的未知服务 运行易遭到攻击的服务,如:运行易遭到攻击的服务,如:运行在运行在WebWeb服务器上的服务器上的SMBSMB服务等服务等 带有许可访问控制设置的共享带有许可访问控制设置的共享,可能给远程用户全部访问权,可能
38、给远程用户全部访问权网络扫描内容(网络扫描内容(1 1)后门类后门类 浏览器类浏览器类 强力攻击类强力攻击类 CGI-BinCGI-Bin类类 守护进程类守护进程类 DCOMDCOM类类 DNSDNS协议类协议类 NFS NFS 类类电子邮件类电子邮件类 Finger Finger 类类 防火墙类防火墙类 FTPFTP协议类协议类 信息收集类信息收集类 Instant MessagingInstant Messaging LDAP LDAP类类 NetBIOS NetBIOS 类类 NIS 类类 NT 关键问题类关键问题类 NT 组类组类 NT 网络类网络类 NT 口令检查类口令检查类 NT
39、口令策略类口令策略类 NT 补丁类补丁类 NT 策略类策略类 NT 注册表类注册表类 NT 服务类服务类 NT 用户类用户类 协议欺骗类协议欺骗类 路由器路由器/交换机类交换机类 RPC 类类 共享类共享类 SNMP 类类 TCP 端口扫描端口扫描 UDP 端口扫描端口扫描 Web 扫描扫描 X Windows 类类网络扫描内容(网络扫描内容(2 2)漏洞扫描系统的性能指标漏洞扫描系统的性能指标 准确性 效率 扫描方法的关联性 扫描器自身的安全 漏洞的描述 升级频率Nessus目前全世界最多人使用的系统漏洞扫描与分析软件。超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。
40、1998年, 创办人 Renaud Deraison 展开了一项名为 “Nessus”的计划,其计划目的是希望能为因特网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫描程序。经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性。2002年时, Renaud 与 Ron Gula, Jack Huffard 创办了一个名为 Tenable Network Security 的机构。在第三版的Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码 (原本为开放源代码), 并注册成为该机构的网站。 目前此机构位于美
41、国马里兰州的哥伦比亚。Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的。 Exploit 发现漏洞后利用相应的Exploit获取控制权 有漏洞不一定就有Exploit 。 有Exploit就肯定有漏洞 Metasploit是一个免费的、可下载的框架,H.D. Moore在2003年发布附带数百个已知软件漏洞的专业级漏洞攻击工具。可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。 漏洞发
42、现和利用漏洞发现和利用-Metasploit网络攻击手段网络攻击手段 准备阶段 传输过程中的窃听 IP地址欺骗 会话劫持 拒绝服务攻击 维护访问权 后门和木马传输中的威胁传输中的威胁窃听窃听 电缆 嗅探器sniffer 对网卡重新编程 自感应技术(从电缆线读取辐射信号,要求足够近) 搭接电缆 WAN上的信号截取者还必须能将信号从多路复用信号中分离 微波和卫星 很容易截获信号 依靠大容量和复杂的多路复用技术,即使获取了信号也无法将某个特定信号分离 光纤 安全性: 分接易被发现 没有电磁辐射无线通信 在美国,无线计算机连接 车库开门器 本地无线电 部分无绳电话 短距离无线应用共用频段干扰 安全问题
43、: 无线信号强度 100-200英尺(1英尺=0.3048米) 用调谐天线就可接受 无线通信的标准 802.11b 802.11a 802.11g 加密标准 WEP 40位或104位经典流式密钥(调查显示,85%无线网络没有使用WEP功能)通过集线器进行嗅探:被动嗅探通过集线器进行嗅探:被动嗅探典型工具典型工具 Snort和和Sniffit通过交换机进行嗅探:主动嗅探通过交换机进行嗅探:主动嗅探攻击者发明了很多攻击者发明了很多工具工具,这些工具,这些工具向交换型向交换型LANLAN发送欺骗性数据,发送欺骗性数据,以达到截获流量的目的。以达到截获流量的目的。Dsniffwww.monkey.or
44、g/-dugsong/dsniff 由Dug Song编写,是个工具集,可在LAN中以多种灵活的方式截取信息。n 用洪泛对付交换机用洪泛对付交换机n 用用ARPARP欺骗信息对付交换机欺骗信息对付交换机n 能够分析大量应用程序的数据包能够分析大量应用程序的数据包n 发送假的发送假的DNSDNS信息信息n 对对HTTPSHTTPS和和SSHSSH进行嗅探进行嗅探ARP欺骗过程欺骗过程发送假的发送假的DNSDNS信息进行流量转向信息进行流量转向。Dsniff包含一个叫dnsspoof的程序,可让攻击者发送假的DNS回应给受害者,以使攻击者要访问其他机器时却访问攻击者的机器。Dsniff对对HTTP
45、SHTTPS和和SSHSSH进行嗅探进行嗅探 Dsniff利用SSL和SSH对证书以及公钥的信任,如果Web服务器发给浏览器的证书是由一个浏览器不认识的证书机构签发的,浏览器将问用户是否接受此不信任的证书,信任的决定权留在了用户(通常是没经验的,一般用户不在意此)手里,浏览器会警告用户,但它仍允许用户继续建立连接。 Dsniff工具集中用于攻击HTTPS和SSH的工具名是:webmitm和sshmitm。Dsniff对对HTTPSHTTPS和和SSHSSH进行嗅探进行嗅探嗅探的防御 将传输的数据进行加密。 使用交换机。 防止ARP欺骗 对包含了重要系统和数据的网络,在交换机上进行端口级安全设置
46、,用链到端口上的机器的MAC地址来配置此端口,以防止MAC地址洪泛和arpspoof。 在极端重要的网络,如DMZ,在每台终端机器上使用静态ARP表,对LAN上的所有系统进行MAC地址的硬编码。网络攻击手段网络攻击手段准备阶段传输过程中的窃听IP地址欺骗会话劫持拒绝服务攻击维护访问权 后门和木马IPIP地址欺骗(地址欺骗(1 1) IP地址欺骗 通过改变或伪装系统的IP地址进行攻击。 可帮助攻击者对那些使用IP地址来当作验证方式和过滤方法的应用程序进行破坏。 简单欺骗型简单欺骗型 攻击者很容易改变其IP地址, 使用一种工具来产生具有所需IP地址的数据包。典型工具Nmap和dsniff都是利用后
47、一种方法来产生欺骗性数据包的。如果攻击者想不让人知道数据包洪泛或DOS攻击的数据包来向,简单欺骗是个不错的选择。但有很大的限制。假冒攻击存在的问题假冒攻击存在的问题例:例:EVE是攻击者,是攻击者,ALICE是被假装者,是被假装者,BOB是目标受害者。过程是目标受害者。过程:(1)EVE与与BOB打开一个连接,假冒打开一个连接,假冒A发送发送3次握手的第一个数据包次握手的第一个数据包TCP SYN(A,ISNa););(2)然后是然后是3端握手第二步,端握手第二步,BOB发送发送ACK(A,ISNa)SYN(B,ISNb)给)给ALICE(3)当当ALICE收到此数据包时,因为它本身并没进行收
48、到此数据包时,因为它本身并没进行3次握手第一步,所以它将发送次握手第一步,所以它将发送RESET信息,断开连接,信息,断开连接,从而使从而使EVE不能假装成不能假装成ALICE和和BOB交互,交互,EVE也就无从截获数据流也就无从截获数据流量。量。 如果如果EVE和和BOB是在同一个是在同一个LAN上,上,简单攻击能够以交互方式进行,因为简单攻击能够以交互方式进行,因为EVE可以从可以从LAN上面截上面截获获BOB发出给发出给ALICE的回应信息的回应信息,并利用,并利用ARP欺骗来防止欺骗来防止ALICE的的RESET信息将连接终止。信息将连接终止。 破坏破坏UNIXUNIX的的r r命令型
49、命令型 所谓“UNIX信任”是指当一个UNIX系统信任另一个时,用户可以登录到被信任主机,使用r-命令(如rlogin、rsh、rcp)对信任主机进行访问时无需提供密码。IPIP地址欺骗(地址欺骗(2 2) 3个终端都使用UNIX系统,而ALICE被BOB系统信任。这样,攻击者只要在欺骗攻击中成功使用了ALICE的地址,他就能在BOB系统上执行命令而无需提供密码。具体步骤:具体步骤: EVE打开到BOB的TCP连接,不断的发送TCP SYN数据包 可以帮助EVE猜测出BOB的SYN-ACK中的初始序列号随时间变化的规律,从而猜测出在第5)步中将会使用的初始序列号,当然如果猜错,将前功尽 EVE
50、对ALICE发动拒绝服务攻击, 使ALICE在一段时间内变哑,不能发送RESET数据包,于是欺骗性的TCP连接不会断掉了。 EVE使用ALICE的地址同BOB建立连接(极可能使用rsh这类命令),完成3次握手第一步。 BOB回应数据包给ALICE 由于ALICE受到拒绝服务攻击,不能发送RESET数据包。 EVE向BOB发送ACK里面的ISNb(直到猜对)是猜的,而且还是使用ALICE的IP地址来进行欺骗。 BOB认为ALICE与他建立了一个TCP连接,并使用了r-命令。EVE可以假装成ALICE发送命令给BOB,BOB将执行这些命令。BOB的所有回应都将被发送给ALICE,因此,EVE真正并