网络安全的侦测与工具(一)

发表于:2007-06-23来源:作者:点击数: 标签:
如你先前所知,黑客和安全审计人员采取的第一步都是侦查网络。在本讲中,你将接触一些网络侦查的工具和方法。 安全扫描 安全扫描以各种各样的方式进行。你将利用Ping和端口扫描程序来侦查网络,你当然也可以使用客户端/ 服务器 程序,如Telnet和SNMP等,来侦

   

如你先前所知,黑客和安全审计人员采取的第一步都是侦查网络。在本讲中,你将接触一些网络侦查的工具和方法。

安全扫描

安全扫描以各种各样的方式进行。你将利用Ping和端口扫描程序来侦查网络,你当然也可以使用客户端/服务器程序,如Telnet和SNMP等,来侦查网络泄漏的有用信息。你应当利用一些工具来了解网络。有些工具很简单,便于安装和使用。有时,审计人员和黑客利用程序语言如Perl, C,C++和Java自己编制一些工具,这是因为他们找不到现成的针对某种漏洞的工具。

另外一些工具功能更全面,但是在使用前需要认真地配置。专门从事网络管理和安全的公司出售这些工具。你将在本课中学习使用这些工具。好的网络级和主机级扫描器会试图监听和隔离进出网络和主机的所有会话包。在学习这些“Hacker-in-a-box”的解决方案前,你应当先接触一些当前黑客常常使用的技巧。

Whois 命令

Whois〔类似于finger〕是一种internet的目录服务,whois 提供了在Internet上一台主机或某个域的所有者的信息,如管理员的姓名、通信地址、电话号码和Email地址等信息,这些信息是在官方网站whois server上注册的,如保存在InterNIC的数据库内。Whois命令通常是安全审计人员了解网络情况的开始。一旦你得到了Whois记录,从查询的结果还可得知primary和secondary域名服务器的信息。

lookup

使用DNS的排错工具nslookup,你可以利用从whois查询到的信息侦查更多的网络情况。例如,使用nslookup命令把你的主机伪装成secondary DNS服务器,如果成功便可以要求从主DNS服务器进行区域传送。要是传送成功的话,你将获得大量有用信息,包括:

·使用此DNS服务器做域名解析到所有主机名和IP地址的映射情况

·公司使用的网络和子网情况

·主机在网络中的用途。许多公司使用带有描述性的主机名。

使用nslookup实现区域传送的过程

(1)使用whois命令查询目标网络,例如在Linux提示符下输入 whois webmaster.com.cn

(2)你会得到目标网络的primary和slave DNS服务器的信息。例如,假设主DNS服务器的名字是ns.webmaster.com.cn

(3)使用交互查询方式,缺省情况下nslookup会使用缺省的DNS服务器作域名解析。键入命令server ns.webmaster.com.cn 定位目标网络的DNS服务器;

(4)列出目标网络DNS服务器的内容,如ls webmaster.com.cn。此时DNS服务器会把数据传送给你,当然,管理员可以禁止DNS服务器进行区域传送,目前很多公司将DNS服务器至于防火墙的保护之下并严格设定了只能向某些主机进行区域传送。

一旦你从区域传送中获得了有用信息,你便可以对每台主机实施端口扫描以确定它们提供了那些服务。如果你不能实现区域传送,你还可以借助ping和端口扫描工具,当然还有traceroute。

host

Host命令是UNIX提供的有关Internet域名查询的命令,可实现主机名到IP地址的映射,反之亦然。用host命令可实现以下功能:

·实现区域传送

·获得名称解析信息

·得知域中邮件服务器的信息

参数-v可显示更多的信息,参数-l实现区域传送,参数-t允许你查询特定的DNS记录。例如,要查询ciwcertified.com域的邮件服务器的记录,你需要键入命令:

host -t mx ciwcertified.com 你可以参考UNIX命令帮助获得更多信息。

Traceroute(tracert)

Traceroute 用于路由追踪,如判断从你的主机到目标主机经过哪些路由器、跳计数、响应时间如何、是否有路由器当掉等。大多数操作系统,包括UNIX,Novell和Windows NT,若配置了TCP/IP协议的话都会有自己版本的traceroute程序。当然我们也可以使用其它一些第三方的路由追踪软件,在后面我们会接触到这些工具。

使用traceroute,你可以推测出网络的物理布局,包括该网络连接Internet所使用的路由器。traceroute还可以判断出响应较慢的节点和数据包在路由过程中的跳计数。

Ping 扫描作用及工具

Ping一个公司的Web服务器可帮助你获得该公司所使用的IP地址范围。一旦你得知了HTTP服务器的IP地址,你可以使用Ping扫描工具Ping该子网的所有IP地址,这可以帮助你得到该网络的地址图。

Ping扫描程序将自动扫描你所指定的IP地址范围。WS_Ping ProPack工具包中集成有Ping扫描程序,单独的Ping工具有许多,Rhino9 Pinger是比较流行的程序。

端口扫描

端口扫描与ping扫描相似,不同的是端口扫描不仅可以返回IP地址,还可以发现目标系统上活动的UDP和TCP端口。

在本例中,地址192.168.1.10正在运行SMTP和Telnet服务,地址192.168.1.12正在运行FTP服务,主机192.168.1.14未运行任何可辨别的服务,而主机192.168.1.16运行着SMTP服务。最后一台主机属于Microsoft网络,因为该网络使用UDP137和TCP138、139端口。

端口扫描软件

端口扫描器是黑客最常使用的工具。一些单独使用的端口扫描工具象Port Scanner1.1,定义好IP地址范围和端口后便可开始实施扫描。还有许多单独使用的端口扫描器,如UltraScan等。像Ping扫描器,许多工具也集成了端口扫描器。NetScan、Ping Pro和其它一些程序包集成了尽可能多的相关程序。你将发现许多企业级的网络产品也将ping和端口扫描集成起来。

网络侦查和服务器侦查程序

使用简单的程序如Ping Pro,你可以侦查出Microsoft的网络上开启的端口。Ping Pro的工作是通过监测远程过程调用服务所使用的TCP、UDP135端口,和Microsoft 网络会话所使用的UDP137,138,和139端口来实现的。其它的网络扫描工具允许你监测UNIX,Novell,AppleTalk的网络。虽然Ping Pro只能工作在其安装的特定子网,但还有更多更复杂的工具,这些工具的设计者把它们设计成为可以识别更多的网络和服务类型的程序。

例如,NMAP是UNIX下的扫描工具,它可以识别不同操作系统在处理TCP/IP协议上细微的差别。其它类似的程序还包括checkos,queso和SATAN。

堆栈指纹

许多本课中介绍的程序都利用堆栈指纹技术,这种技术允许你利用TCP/IP来识别不同的操作系统和服务。因为大多数的系统管理员注意到信息的泄露而且屏蔽了系统标志,所以应用堆栈指纹的技术十分必要。但是,各个厂商和系统处理TCP/IP协议的特征是管理员所难以更改的。许多审计人员和黑客记录下这些TCP/IP应用的细微差别,并针对各种系统构建了堆栈指纹表。

要想了解操作系统间处理TCP/IP协议的差异需要向这些系统的IP和端口发送各种特殊的包。根据这些系统对包的回应的差别,你可以推断出操作系统的种类。例如,你可以向主机发送FIN包(或任何不含有ACK或SYN标志的包),你会从下列操作系统获得回应:

·Microsoft Windows NT,98,95,和3.11

·FreeBSD

·CISCO

·HP/UX

大多数其它系统不会回应。虽然你只不过缩小了一点范围,但这至少开始了你对目标系统的了解。如果你向目标系统发送的报文头有未定义标志的TCP包的话,2.0.35版本以前的LINUX系统会在回应中加入这个未定义的标志。这种特定的行为使你可以判断出目标主机上是否运行该种LINUX操作系统。

下列是堆栈指纹程序利用的部分特征,许多操作系统对它们的处理方式不同:

·ICMP错误信息抑制

·服务类型值(TOS)

·TCP/IP选项

·对SYN FLOOD的抵抗力

·TCP初始窗口:只要TCP开始进行三次握手,总是先发出一个SYN包。像NMAP这样的程序会发出一个SYN包欺骗操作系统作回应。堆栈指纹程序可以从回应报文的格式中推论出目标操作系统的一些情况。



原文转自:http://www.ltesting.net