《网络攻防技术(第2版)》 —2.5.2 网络设备识别
2.5.2 网络设备识别
据不完全统计,除了路由器、网站服务器和主机以外,接入互联网的网络设备已经超过20类,如智能手机、智能家电、工控设备等。除了通用的服务器和主机以外,其他各类网络设备普遍存在难以升级、缺乏管理的问题,而这些网络设备往往具有各种安全漏洞。对于攻击者而言,这些终端往往是突破网络的薄弱环节,通过扫描整个目标网络中的网络地址,发现存在的各种终端设备并获得各设备的系统和版本信息,将设备信息与漏洞信息进行关联,就能够清晰地反映出网络终端设备的分布情况和存在的脆弱点。因此,确定目标网络后,进一步探测和识别其中的网络设备类型显得尤为关键。
网络设备类型的识别方法主要有两种,一种是利用互联网上专用的设备搜索引擎进行判定,另一种是探测设备的多维特征形成指纹,通过与已知的指纹库进行比对来确定。
1. 利用专用的搜索引擎
目前,互联网上有一些专门用于搜索指定类型设备的搜索引擎,最具代表性的便是由John Matherly推出的Shodan搜索引擎。攻击者不仅可以利用Shodan确定目标设备的类型,还可以搜索目标设备上是否存在一些弱口令、SQL注入等基础漏洞。Shodan时刻对整个网络空间进行扫描,并维持着一个相当庞大的数据库,数据库中存储着它所能侦测到的所有网络设备信息,包括交换机、路由器、网络摄像头、网络打印机等。
国内的知道创宇公司开发的ZoomEye搜索引擎也支持互联网空间的设备搜索。ZoomEye搜索引擎能够对包括Web服务器、路由器、交换机、网络摄像头、网络打印机、移动设备在内的30余种网络终端设备进行探测和识别。
二者之间的不同是,Shodan侧重于从主机层面进行探测,而ZoomEye更侧重于从应用服务尤其是Web应用层面进行扫描和识别。
2. 基于设备指纹的设备类型探测
不同的网络设备在操作系统的选用、开放的端口和服务、通信协议的实现等方面都会存在差异,这些差异构成了可用于区分网络设备的指纹。由于前面已对端口扫描和操作系统识别进行了介绍,这里将重点介绍基于应用服务Banner的设备识别技术。
几乎所有的终端设备上都会运行应用层的服务,而应用服务的开发人员通常会向用户反馈自己开发的服务的名称和版本信息以区别于其他服务,这些信息通常体现在服务Banner中。通过分析不同设备应用服务的通信数据,便可从中提取能够表示其指纹的Banner数据。
(1)FTP协议
FTP主要用于设备之间的文件传输。用户在登录时,服务器会在返回客户的信息中包含用于表明FTP应用软件的旗标信息。例如,FileZila、vsFTPd等FTP程序可用于部署在多种类型的设备上,因此用这些服务的旗标信息很难分辨出具体的设备。但是,许多设备厂商会开发自己的FTP服务程序,为了区别于其他的FTP服务,它们会在旗标中暴露出特定的终端设备信息,例如MikroTik路由器的旗标中会有“220 router-svabinskeho899-pater-inet FTP server(MikroTik 6.37.1 ready)”信息,Dell S2810dn网络打印机的旗标中有“220 Dell Printer S2810dn”信息。
(2)SSH协议
SSH协议为远程登录会话和其他网络服务提供安全性的协议。SSH协议会将所有通信的数据加密,从而避免被“中间人”窃取明文信息。用户用SSH协议登录远程设备时,首先通过TCP与服务器进行连接,然后双方协商使用的SSH协议版本,协商完成后双方进行算法和密钥的交换,之后所有的通信数据均通过协商的算法和密钥进行加密。其中,双方在协商SSH协议版本时,部分设备会包含设备类型的旗标信息。例如,采用了iOS操作系统的Cisco设备会包含“SSH-1.99-Cisco-1.25”信息。
(3)Telnet协议
Telnet协议是常用的远程登录协议,Telnet服务的默认开放端口为23。Telnet通信分为三个步骤:通信双方首先建立TCP连接,然后双方进行协议协商以兼容双方不同操作系统带来的差异,协商成功后,双方通过口令认证进行通信。其中,双方协商时可能会交互一些带有设备Banner的信息,例如,中兴的ZXR10 3928A交换机会包含“Welcome to ZXR10 3928A Switch of ZTE Corpaoration”信息,HP 的某款打印机中会包含
“HP Print password is not set”信息。
(4)HTTP协议
HTTP是Web服务的主要协议,它应用范围广,具有简单、灵活的优点。几乎所有Web服务器都使用HTTP进行数据传输,因此可以通过分析HTTP的回显Banner来探测出目标主机使用了哪些Web组件,甚至探测出更多关于Web服务器的信息。很多交换机、防火墙、网络打印机、路由器(特别是无线路由器)的厂商,为了方便用户管理和操作,也会使用HTTP来搭建Web服务,使用户可以通过Web页面来对终端设备进行操作。
大部分Banner可以通过获得Web网页的GET命令来了解,通过服务器返回的页面信息,特别是HTTP的头部信息,往往可以获得设备的Banner。HTTP头部信息包括HTTP的版本号、响应状态码、时间、HTTP服务器的信息(包括使用的服务组件和操作系统信息)以及数据格式信息等。表2-3中显示了部分设备返回的HTTP头部信息。
表2-3 部分网络设备的Banner信息
有些设备虽然无法从HTTP头部中获得Banner信息,但是可以进一步在HTTP的Body内容中检索到设备相关的Banner信息。除了以上四种应用协议以外,还有很多应用协议可用于辅助识别目标设备类型,例如SNMP协议以及第三方协议等。
- 点赞
- 收藏
- 关注作者
评论(0)