通过踩点与侦察,可以锁定一些大致的目标范围,要想具体到某台远程主机,还需要经过一番操作才能确定扫描目标。
1.确定目标主机IP地址
只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。网关IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
只要计算机连接到互联网上,就会有一个IP地址,查询本机IP地址的方法如下。
步骤1:在“命令提示符”窗口中运行"ipconfig"命令,在运行结果中可以看到本机IP地址、网关地址等信息,如图2-1所示。在“命令提示符”窗口中运行"netstat-n"命令,即可查看本机的IP地址,如图2-2所示。
步骤2:如果想攻击某个网站,也需要先获得该网站的IP地址,获取网站IP地址可使用ping命令。在“命令提示符”窗口中运行"ping www.baidu.com"命令,即可查看百度网站对应的IP地址,如图2-3所示。
步骤3:要想得到网站的详细信息,在【命令提示符】窗口中运行"nslookup www.qq.com"命令,即可查看新浪网详细信息,其中第1个Address中IP地址就是本机所在域的DNS服务器,第2个Addresses是www.qq.com所使用的Web服务器群的IP地址,如图2-4所示。
2.确定可能开放的端口和服务
在默认情况下,有很多不安全或没有作用的端口是开启的,如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口等。攻击者可以使用扫描工具对目标主机进行扫描,可以获得目标计算机打开的端口情况,还可了解目标计算机提供了哪些服务。
在“命令提示符”窗口中输入"netstat-a-n"命令,即可查看本机开启的端口,在运行结果中可以看到以数字形式显示的TCP和UDP连接的端口号及其状态,如图2-5所示。
Nmap是一款非常流行的端口扫描软件,下面以For Windows版本为例讲述Nmap是如何扫描端口的。利用Nmap扫描器对端口进行扫描的具体步骤如下。
步骤1:将网上下载的"nmap-4.52-win32.rar"解压缩后,可得到"nmap-4.53"文件夹,为了便于操作先将其放到C盘的根目录下,如图2-6所示。
步骤2:在“MS-DOS命令符”窗口中输入"cd C:\setup\nmap-4.53"命令,即可打开Nmap的安装目录,如图2-7所示。
Nmap是基于命令格式的扫描软件,可使用Nmap命令进行端口扫描。Nmap对端口的扫描有三种方式。
1)TCP connect()端口扫描。即全连接扫描,使用了"-sT"参数,只需在命令提示符下键入"Nmap-sT 192.168.0.88"命令,即可看到TCP全连接扫描的端口,如图2-8所示。
2)TCP同步端口扫描。该方式为半连接扫描,也叫隐蔽扫描。采用了"-sS"参数,在命令提示符下键入"Nmap-sS 192.168.0.88"命令,即可看到TCP半连接扫描的端口,如图2-9所示。
3)UDP端口扫描。该方式主要采用"-sU"参数,在命令提示符下键入"Nmap-sU 192.168.0.88"命令,即可看到扫描的UDP端口,如图2-10所示。
Nmap还支持丰富、灵活的命令参数,比如要扫描一个IP地址段的UDP端口,还可以在命令提示符下键入"Nmap-sU 192.168.0.1-255"命令,如图2-11所示。
3.常见端口扫描工具
入侵者常常利用一些专门的扫描工具对目标主机的端口进行扫描,目前可以用来扫描端口的扫描工具很多,下面就介绍3种常见的扫描工具。
(1)FreePortScanner
FreePortScanner是一款端口扫描工具,用户可以快速扫描全部端口,也可以制定扫描范围。使用FreePortScanner进行端口扫描的具体操作步骤如下。
步骤1:下载FreePortScanner并打开其窗口,在"IP"文本框中输入目标主机的IP地址,再勾选"Show Closed Ports"复选框,如图2-12所示。
步骤2:单击【Scan】按钮,即可扫描到目标主机的全部端口,其中绿色标记是开放的端口,如图2-13所示。
步骤3:使用FreePortScanner可以只对目标主机开启的端口进行扫描,在"IP"文本框中输入要扫描的"IP"地址之后,再取消勾选"Show Closed Ports"复选框。
步骤4:单击【Scan】按钮,在扫描完毕之后,即可显示出扫描结果,从扫描结果中可以看到目标主机开启的端口,如图2-14所示。
(2)ScanPort
ScanPort软件不但可以用于网络扫描,同时还可以探测指定IP及端口,速度比传统软件快,且支持用户自设IP端口又增加了其灵活性。具体的使用方法如下。
步骤1:运行ScanPort主程序,即可打开"ScanPort"主窗口,在其中设置起始IP地址、结束IP地址以及要扫描的端口号,如图2-15所示。
步骤2:单击【扫描】按钮,即可进行扫描,从扫描结果中可以看出IP地址段中计算机开启的端口,如图2-16所示。
(3)S扫描器
S扫描器是一款命令行下高速扫描利器,用这工具的好处就在于其扫描速度非常快。究竟如何使用S扫描器?下面将一一讲述。
1)命令格式。
s.exe syn ip1 ip2端口号/save。
s.exe tcp ip1 ip2端口号线程数/save。
2)用法。
Scanner TCP/SYN StartIP[EndIP]Ports[Threads][/Banner][/Save].
3)参数说明。TCP/SYN->TCP方式扫描或SYN方式扫描(SYN扫描需要在win 2k或以上系统才行),SYN扫描对本机无效。
StartIP:起始扫描的IP。
EndIP:结束扫描的IP,可选项,如果这一项没有,就只是对单个IP扫描。
Ports:可以是单个端口,连续的一段端口或非连续的端口。
Threads:使用最大线程数去扫描(SYN扫描不需要加这一项),不能超过1024线程。
/Banner:扫描端口时一并将Banner显示出来,这一选项只对TCP扫描有效。
/Save:将结果写入当前目录的Result.txt文件中去。
下面举例演示S扫描器的几个主要作用。
示例1:下载并运行S扫描器,在命令提示符下键入"STCP 192.168.0.1 192.168.0.45 80 512"命令,即可实现TCP扫描从192.168.0.1到192.168.0.45这段IP中的80端口,最大并发线程是512,如图2-17所示。
示例2:下载并运行S扫描器,在命令提示符下键入"STCP 192.168.0.1 192.168.0.45 21,5631 512/banner"命令,即可实现TCP扫描从192.168.0.1到192.168.0.45这段IP中的21和5631端口,最大并发线程是512并显示Banner,如图2-18所示。
示例3:下载并运行S扫描器,在命令提示符下键入"STCP 192.168.0.1 192.168.0.45 1-200 512"命令,即可实现TCP扫描从192.168.0.1到192.168.0.45这段IP中1到200端口,最大并发线程是512,如图2-19所示。
示例4:下载并运行S扫描器,在命令提示符下键入"STCP 192.168.0.13 1-200 512"命令,即可实现TCP扫描192.168.0.13这段IP中1到200端口,最大并发线程是512,如图2-20所示。
示例5:下载并运行S扫描器,在命令提示符下键入"SSYN 192.168.0.13 1-65535/save"命令,即SYN扫描192.168.0.13段IP中的1~65535端口,将结果写入Result.txt文本文档。扫描结束后Result.txt文本文档及所有扫描内容都存放在S扫描器所在目录,如图2-21所示。
示例6:下载并运行S扫描器,在命令提示符下键入"SSYN 192.168.0.1 192.168.0.20 21/save"命令,即SYN扫描192.168.0.1到192.168.0.20这IP段中的21端口,将结果写入Result.txt文本文档中。由于这条命令是用来专门找肉鸡的,因此,将会扫描一个IP段有没有开3389端口或1433端口的,如图2-22所示。