Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹
Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹
Nmap工具的准备工作
当用户对Nessus工具有清晰的认识后,即可使用该工具实施扫描。但是,在扫描之前需要做一些准备工作,如探测网络中活动的主机、主机中运行的服务及主机的操作系统等。当用户对一个主机比较熟悉后,进行扫描也就非常容易了。因为对于Nessus工具,针对不同的系统、漏洞都提供了相应的插件。如果用户对目标主机很了解的话,使用Nessus工具扫描目标就不会像个无头苍蝇似的瞎扫描。而且,可以更容易获取到非常有价值的信息了。本章将介绍实施网络扫描之前的一些准备工作。
Nmap工具发现主机
发现主机就是探测网络中活动的主机。发现主机是实施网络渗透测试的基础。因为用户只有先确定目标主机是活动的,才可以实施扫描。否则,执行的操作也是浪费时间。 其中,用户用于发现主机的工具有很多,如Nmap、Scapy、Wireshark等。下面将介绍使用Nmap和Wireshark抓包的方法,实施主机发现操作。
使用Nmap工具
Nmap是一款免费开放的网络扫描和嗅探工具。该工具可以用来扫描电脑上开放的端口、运行的服务及操作系统等。下面将介绍使用Nmap工具实施发现主机。
【示例2-5】使用Nmap工具扫描192.168.1.0/24网络中活动的主机。执行命令如下所示:
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 11:20 CST
 - Nmap scan report for localhost (192.168.1.1)
 - Host is up (0.00048s latency). #主机是活动的
 - MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
 - Nmap scan report for localhost (192.168.1.100)
 - Host is up (0.089s latency).
 - 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路由器。
Wiresshark抓包
抓包就是利用抓包工具,捕获网络中的所有数据包。但是,如果仅使用工具抓包的话,只能抓取本机的数据。此时,用户需要通过集线器或端口镜像方法来捕获数据包。下面将介绍这两种方式捕获数据包的环境配置。
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工具端口扫描
当确定网络中活动的主机时,用户可以使用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等。
Nmap工具指纹识别
指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和比对等模块。通常,指纹识别包括服务指纹信息和操作系统指纹信息。其中,服务指纹信息包括服务端口、服务名、版本及提供商等;操作系统指纹信息包括系统的版本、内核版本等。通过指纹识别,根据获取的信息可以判断出该主机是否存在漏洞,以便用户在后面实施扫描。
【示例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人!
Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹的更多相关文章
- (转)使用NMAP工具扫描端口
		
原文:http://www.linuxde.net/2013/02/12354.html nmap 是一个用于网络探索或安全评测的工具.它支持 ping 扫描(判定哪些主机在运行),多端口扫描技术(判 ...
 - Nmap扫描教程之基础扫描详解
		
Nmap扫描教程之基础扫描详解 Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在 ...
 - Nmap扫描教程之基础扫描具体解释
		
Nmap扫描教程之基础扫描具体解释 Nmap扫描基础扫描 当用户对Nmap工具了解后,就可以使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具能够分别对主机.port.版本号.操作系统等实施扫 ...
 - Nessus漏洞扫描教程之安装Nessus工具
		
Nessus漏洞扫描教程之安装Nessus工具 Nessus基础知识 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它.该工具提供完整的电脑漏洞扫描服务,并随时更新其 ...
 - Nessus漏洞扫描教程之配置Nessus
		
Nessus漏洞扫描教程之配置Nessus 配置Nessus 当安装成功Nessus工具后.就可以使用该工具实施漏洞扫描.为了使用户更好的使用该工具,将介绍一下该工具的相关设置.如服务的启动.软件更新 ...
 - nmap 端口扫描工具
		
nmap工具介绍 一.简介 nmap :也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包. nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务 ...
 - NMAP网络扫描工具的安装与使用
		
简介 NMAP是一款流行的网络扫描和嗅探工具也是一个强大的端口扫描类安全测评工具,被广泛应用在黑客领域做漏洞探测以及安全扫描,更多的nmap是一个好用的网络工具,在生产和开发中也经常用到,主要做端口开 ...
 - Nmap目录扫描和漏洞扫描(9.27 第十三天)
		
目录扫描:扫描站点的目录,寻找敏感文件(目录名.探针文件.后台.robots.txt[].备份文件等) 目录:站点结构,权限控制不严格 探针文件:服务器配置信息,phpinfo.php readm ...
 - NMAP分布式扫描工具dnmap
		
NMAP分布式扫描工具dnmap NMAP是一款知名的网络扫描工具.它提供丰富和强大的网络扫描功能.但很多时候,需要渗透测试人员从多个终端发起扫描任务,以快速扫描大型网络,或规避IP限制等安全策略 ...
 
随机推荐
- python的类的继承-接口继承-归一化设计
			
1.先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸 ...
 - html5 canvas loading(这可怕的编辑器,自动把我的canvas转义了)---以前收藏的整理了一下
			
/* super inefficient right now, could be improved */ var c = document.getElementById('canvasload'), ...
 - 将本地的mongodb迁移到阿里云
			
首先在阿里云上安装mongodb,可以根据官方教程 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/ 完成之后启动 ...
 - 第11月第20天 sqlite3_open xcode mysql connector
			
1. sqlite3_open 死锁 * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP frame ...
 - [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现
			
[LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现 原题: There are N children standing in a line. ...
 - py-faster-rcnn代码阅读1-train_net.py & train.py
			
# train_net.py#!/usr/bin/env python # -------------------------------------------------------- # Fas ...
 - mysql  high availability 概述
			
一.什么是高可用性 1.可用性是指服务不间断运转的时间,通常用百分比来表示,例如 99.999%表示每年最多允许5分钟的宕机时间 2.可用性的效果和开销比例呈线性增长 3.可用性的意义往往也不尽相同, ...
 - springcloud微服务架构搭建:服务调用
			
spring-cloud调用服务有两种方式,一种是Ribbon+RestTemplate, 另外一种是Feign. Ribbon是一个基于HTTP和TCP客户端的负载均衡器,类似nginx反向代理,可 ...
 - Python学习一|anaconda的安装问题以及Python语言的特点
			
安装时遇到的问题 安装anaconda3.0到D盘之后,配置好两个环境变量:D:\anaconda和D:\anaconda\Scripts.发现在命令行中执行python指令可以,但conda指令却是 ...
 - redis 配置文件翻译
			
2014年6月24日 17:29:11 include 如果有其它配置文件,可以使用 include 指令 ####通用配置 daemonize 默认的redis不会以守护进程运行,需要这样的话可 ...