当用户对Nessus工具备清晰的认识后,便可使用该工具实施扫描。可是,在扫描以前须要作一些准备工做,如探测网络中活动的主机、主机中运行的服务及主机的操做系统等。当用户对一个主机比较熟悉后,进行扫描也就很是容易了。由于对于Nessus工具,针对不一样的系统、漏洞都提供了相应的插件。若是用户对目标主机很了解的话,使用Nessus工具扫描目标就不会像个无头苍蝇似的瞎扫描。并且,能够更容易获取到很是有价值的信息了。本章将介绍实施网络扫描以前的一些准备工做。mysql
发现主机就是探测网络中活动的主机。发现主机是实施网络渗透测试的基础。由于用户只有先肯定目标主机是活动的,才能够实施扫描。不然,执行的操做也是浪费时间。 其中,用户用于发现主机的工具备不少,如Nmap、Scapy、Wireshark等。下面将介绍使用Nmap和Wireshark抓包的方法,实施主机发现操做。ios
Nmap是一款免费开放的网络扫描和嗅探工具。该工具能够用来扫描电脑上开放的端口、运行的服务及操做系统等。下面将介绍使用Nmap工具实施发现主机。sql
【示例2-5】使用Nmap工具扫描192.168.1.0/24网络中活动的主机。执行命令以下所示:windows
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 11:20 CST网络
Nmap scan report for localhost (192.168.1.1)dom
Host is up (0.00048s latency). #主机是活动的ssh
MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)tcp
Nmap scan report for localhost (192.168.1.100)工具
Host is up (0.089s latency).post
MAC Address: 8C:BE:BE:72:D2:64 (Xiaomi Technology Co.)
Nmap scan report for localhost (192.168.1.101)
Host is up (0.00015s latency).
MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
Nmap scan report for localhost (192.168.1.103)
Host is up (0.00061s latency).
MAC Address: 00:0C:29:F8:2B:38 (VMware)
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00091s latency).
MAC Address: 00:0C:29:2A:69:34 (VMware)
Nmap scan report for localhost (192.168.1.105)
Host is up (0.00096s latency).
MAC Address: 00:0C:29:DC:09:2A (VMware)
Nmap scan report for localhost (192.168.1.106)
Host is up (0.32s latency).
MAC Address: 14:F6:5A:CE:EE:2A (Xiaomi)
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00060s latency).
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Nmap scan report for localhost (192.168.1.108)
Host is up.
Nmap done: 256 IP addresses (9 hosts up) scanned in 2.78 seconds
从输出信息的最后一行能够看到,192.168.1.0/24网络中共有九台活动的主机。在输出信息中,显示了活动主机的IP地址、MAC地址、及MAC地址的生产厂商。例如主机192.168.1.1的MAC地址为14:E6:E4:84:23:7A,生成厂商为Tp-link Technologies CO。由此,能够猜想该主机多是一个Tp-link路由器。
抓包就是利用抓包工具,捕获网络中的全部数据包。可是,若是仅使用工具抓包的话,只能抓取本机的数据。此时,用户须要经过集线器或端口镜像方法来捕获数据包。下面将介绍这两种方式捕获数据包的环境配置。
1.使用集线器
集线器的英文称为Hub,是“中心”的意思。集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把全部节点集中在以它为中心的节点上。因为集线器在发送数据时,是没有针对性的,而是采用广播方式发送。也就是说,当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的全部节点。所以,用户能够在局域网的某一主机上开启抓包工具,便可捕获到其它主机上传输的全部数据,如图2.1所示。
图2.45 使用集线器捕获包的环境配置
以上就是使用集线器,在有线局域网中捕获数据包的配置环境。上图表示整个局域网中,有三台主机同时链接在一个集线器上。此时,用户能够在任意一台上运行抓包工具(如Wireshark),便可捕获到其它两台主机上的数据包。若是用户没法捕获到其它主机发送的数据,则说明这些主机不在线。
下面是经过集线器捕获到的数据包,如图2.2所示。
图2.46 捕获的数据包
从该界面能够看到,共显示了七列,分别表示No(包编号)、Time(时间)、Source(源地址)、Destination(目标地址)、Protocol(协议)、Length(长度)和Info(信息)。这里用户应该关心的是Source(源地址)列。该列显示的是全部发送请求的主机地址。那么,用户应该如何判断这些地址,那个是本地局域网中活动主机的地址呢?首先,用户先肯定本机的IP地址,便可找出局域网中活动主机的地址。在Window系统中,使用ipconfig命令查看主机的IP地址。在Linux系统中,使用ifconfig命令查看。本机中的IP地址信息以下所示:
C:\Users\Administrator>ipconfig
Windows IP 配置
以太网适配器 本地链接:
链接特定的 DNS 后缀 . . . . . . . :
本地连接 IPv6 地址. . . . . . . . : fe80::f898:1066:74a5:e126%11
IPv4 地址 . . . . . . . . . . . . : 192.168.1.105
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.1.1
从输出信息中,能够看到本机的IP地址为192.168.1.105。由此,能够说明当前主机所在的网络为192.168.1.0/24。因此,局域网中其它主机的地址是在192.168.1.0/24范围内。此时,用户能够对捕获包中的Source列进行排序,而后找出192.168.1.0/24范围内的地址,也就是该网络中活动主机的地址。单击列名Source便可进行排序,如图2.3所示。
图2.47 Source列排序后显示界面
从该界面显示的结果中,能够看到Source列有三个属于192.168.1.0/24范围内的IP地址。如192.168.1.1、192.168.1.104和192.168.1.105。也就是说,该网络中这三台主机是活动的。
2.使用端口镜像
端口镜像是路由器和交换机提供的一种功能。当在交换机或路由器上开启端口镜像功能的话,将会将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”。简单的说,就是其它端口的数据都会被转发到镜像端口上。此时,在镜像端口链接的主机上开启抓包工具,便可捕获到其它主机的数据包。其中,使用端口镜像捕获数据的环境如图2.4所示。
图2.48 使用路由器的端口镜像功能捕获数据包
按照以上环境配置好网络,便可开始捕获数据包。若是捕获到局域网中其它主机的包,则说明该主机在线。不然,不在线。具体分析方法和前面介绍使用集线器的方法相同。
当肯定网络中活动的主机时,用户可使用Nmap探测该主机上开启了哪些端口,以方便后面进行网络扫描。
【示例2-6】对目标主机RHEL 6.4进行端口扫描。执行命令以下所示:
root@localhost :~# nmap 192.168.1.104
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 11:30 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00051s latency).
Not shown: 988 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp closed https
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
5432/tcp closed postgresql
MAC Address: 00:0C:29:2A:69:34 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 5.04 seconds
从输出信息中,能够看到目标主机中开放的端口,及端口对应的服务。例如,21端口的服务是FTP、22端口的服务是SSH服务。
【示例2-7】扫描目标主机Windows XP中开放的端口。执行命令以下所示:
root@localhost :~# nmap 192.168.1.109
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:22 CST
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00049s latency).
Not shown: 989 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1027/tcp open IIS
3389/tcp open ms-wbt-server
5000/tcp open upnp
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.39 seconds
从输出信息中,能够看到目标主机中开放的端口,如21、25、80等。
指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和比对等模块。一般,指纹识别包括服务指纹信息和操做系统指纹信息。其中,服务指纹信息包括服务端口、服务名、版本及提供商等;操做系统指纹信息包括系统的版本、内核版本等。经过指纹识别,根据获取的信息能够判断出该主机是否存在漏洞,以便用户在后面实施扫描。
【示例2-8】识别目标主机RHEL 6.4中,全部服务的指纹信息。执行命令以下所示:
root@localhost :~# nmap 192.168.1.104 -sV
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:26 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00053s latency).
Not shown: 988 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.2.2
22/tcp open ssh OpenSSH 5.3 (protocol 2.0)
25/tcp open smtp Postfix smtpd
53/tcp open domain
80/tcp open http Apache httpd 2.2.15 ((Red Hat))
111/tcp open rpcbind 2-4 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP)
443/tcp closed https
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP)
631/tcp open ipp CUPS 1.4
3306/tcp open mysql MySQL 5.1.66
5432/tcp closed postgresql
MAC Address: 00:0C:29:2A:69:34 (VMware)
Service Info: Host: mail.benet.com; OS: Unix #主机名为mail.benet.com;操做系统为Unix
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.16 seconds
从输出信息中能够看到显示了四列信息,分别是PORT(端口)、STATE(状态)、SERVICE(服务)和VERSION(版本)。从VERSION列能够看到服务的版本和提供商。例如,FTP服务的端口为21,版本为2.2.2、提供商是vsftpd。
【示例2-9】对目标主机Windows XP实施操做系统指纹识别。执行命令以下所示:
root@localhost :~# nmap -O 192.168.1.109
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:54 CST
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00028s latency).
Not shown: 989 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1027/tcp open IIS
3389/tcp open ms-wbt-server
5000/tcp open upnp
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Device type: general purpose #设备类型
Running: Microsoft Windows 2000|XP #运行的操做系统
OS CPE: cpe:/o:microsoft:windows_2000::- cpe:/o:microsoft:windows_2000::sp1 cpe:/o:microsoft:windows_2000::sp2 cpe:/o:microsoft:windows_2000::sp3 cpe:/o:microsoft:windows_2000::sp4 cpe:/o:microsoft:windows_xp::- cpe:/o:microsoft:windows_xp::sp1 #操做系统中央处理单元
OS details: Microsoft Windows 2000 SP0 - SP4 or Windows XP SP0 - SP1 #操做系统详细信息
Network Distance: 1 hop #网络距离
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.91 seconds
以上输出信息显示了操做系统相关的信息。如开放的端口、设备类型、运行的操做系统类型、中央处理单元及网络距离等。例如,设备类型为general|purpose、运行的操做系统为Microsoft Windows 2000/XP等。从操做系统详细信息行,能够看到该系统的补丁包多是Windows 2000 SP0-SP4或Windows XP SP0-SP1。
(评估设置)、REPORT(报告设置)、ADVANCED(高级设置)、Credentials(证书)和Plugins(插件)进行设置。这些设置选项能够前面介绍的策略配置项是相同的,因此这里再也不赘述。下面将介绍一下Schedule和Email Notifications选项的设置。其中,Schedule选项的设置界面如图4.33所示。
图2.49 Schedule配置
该界面是用来设置是否启用Schedule功能,默认是禁用的。若是用户但愿启用该功能的话,则单击图标。启用后,显示界面如图4.34所示。
图2.50 设置Schedule
从该界面能够看到启用Schedule后,有三个配置项可进行设置。下面将对每一个配置项的含义进行介绍,以下所示:
q Launch:该选项是用来设置启动Schedule的时间。默认是Once,表示一次。用户还能够选择设置Daily(天天)、Weekly(每周)、Monthly(每个月)或Yearly(每一年)。
q Starts On:该选项表示Schedule功能的开启时间。
q Timezone:该选项是用来设置时区的。
q Summary:显示了以上配置的摘要信息。
以上功能配置完后,单击Save按钮保存。Email Notifications选项的配置界面如图4.35所示。
图2.51 Email Notifications设置
该界面是用来设置是否启用邮件通知。可是,若是要配置该选项,则须要配置SMTP服务,不然将不会向邮件接收者发送通知。
本文选自:Nessus漏洞扫描基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!