谈谈扫描器

概述

这段时间的工作与网络扫描有关,今天在这里总结一下最近了解的各类扫描器,方便自己以后查阅。也希望能对想要快速了解各类扫描器特性的朋友,带来一些帮助。

本文主要回答两个个问题:

  1. 现有的扫描器有哪些?
  2. 他们的扫描结果是什么?

此外,在本文中,我还分析了各工具的技术特点。

现有的扫描器

网络扫描器,又称端口扫描器(port scanner)在安全领域有着诸多应用。

从扫描规模上看,有支持全网扫描的,比如Shodan、Zoomeye、ZMap。也有支持小范围精确扫描的,比如Nmap,Xprobe2,p0f等。

如果考虑采用的扫描策略,还可以分为主动扫描器和被动扫描器。主动扫描是“搜”,被动扫描是“听”。

如果考虑指纹识别的功能,可以分为简单的使用设备指纹识别的Shodan,设备指纹结合Web应用指纹的Zoomeye,基于TCP/IP协议栈指纹的Nmap。

关于各个扫描器的特性,我会在下一节详细分析。

各类扫描器的功能分析

Shodan

根据维基百科,Shodan是由程序员 John Matherly 打造的搜索引擎。初衷是为了搜索联网的设备。

  • 扫描策略:主动扫描。
  • 识别机制:强度中等,对与某些特定端口通信之后返回的 banner 信息的采集和索引,主要针对设备指纹。
  • 产品功能:IP地址定位、 为扫描结果绘制地图、 数据分析与可视化、 REST API、 Python Package、 RSS订阅等。
  • 扫描规模:全网。
  • 返回字段:Country、 Organization、 ISP、 Last Update、 Hostnames、 Ports、 Services。

Zoomeye

Zoomeye是国内互联网安全厂商知道创宇的一个产品。相比于Shodan它更侧重于Web层面的资产发现。

  • 扫描策略:主动扫描。
  • 识别机制:强,设备指纹识别方法与Shodan类似,加强了对Web服务的识别能力,并结合了Nmap等工具。
  • 产品功能:IP地址定位、 绘制扫描结果地图、 REST API、 Python Package、 社区机制。
  • 扫描规模:全网。
  • 返回字段:Country、 City、 Last Update、 Key Words、 Port。

值得一提的是,Zoomeye团队通过把一些工控协议常用端口的扫描结果以及一些工控设备的搜索Dork收集到一起,推出了一个工控专题,地址:http://ics.zoomeye.org/

Zmap

Zmap是美国密歇根大学研究者开发的一款工具。在第22届USENIX安全研讨会,以超过Nmap 1300倍的扫描速度声名鹊起。相比大名鼎鼎的Nmap,全网扫描速度是他最大的亮点。在千兆网卡状态下,45分钟内可扫描全网络IPv4地址。

  • 扫描策略:主动扫描。
  • 识别机制:无,需自行编写扩展。
  • 产品功能:可用于全网扫描的扫描节点。
  • 扫描规模:全网。

Nmap

Nmap 是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap 使用TCP/IP协议栈指纹来准确地判断出目标主机的操作类型。

  • 扫描策略:主动扫描。
  • 识别机制:基于TCP/IP协议栈指纹。
  • 产品功能:主机发现、端口扫描、操作系统识别。
  • 扫描规模:选定网段或指定ip。

下面详细解释一下nmap的操作系统指纹识别策略。

首先,Nmap 通过对目标主机进行端口扫描,找出有哪
些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP 端口、一个关闭的TCP 端口和一个关闭的UDP 端口时,Nmap 的探测能力是最好的。然后,Nmap 对目标主机进行一系列测试如下表,利用得出的测试结果建立相应的目标主机的Nmap指纹。最后,将此Nmap 指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。

测试 描述
T1 发送TCP 数据包(Flag=SYN)到开放的TCP 端口上
T2 发送一个空的TCP 数据包到开放的TCP 端口上
T3 发送TCP 数据包(Flag=SYN,URG,PSH,FIN)到开放的TCP 端口上
T4 发送TCP 数据包(Flag=ACK)到开放的TCP 端口上
T5 发送TCP 数据包(Flag=SYN)到关闭的TCP 端口上
T6 发送TCP 数据包(Flag=ACK)到关闭的TCP 端口上
T7 发送TCP 数据包(Flag=URG,PSH,FIN)到关闭的TCP端口上

Xprobe2

Xprobe2是基于ICMP协议指纹特征的主动探测远程操作系统类型的工具,通过主动发送UDP和ICMP请求报文到目标主机来触发ICMP消息,根据ICMP消息中网络特征值进行基于签名数据库的模糊匹配以及合理的推测, 通过模糊矩阵统计分析来探测操作系统,从而确定远程操作系统的类型。

  • 扫描策略:主动扫描。
  • 识别机制:基于ICMP协议指纹。
  • 产品功能:操作系统识别。
  • 扫描规模:指定ip。

下面简述Xprobe2的识别策略。

在Xprobe2 探测过程中,会发送不同类型的数据包到目标主机上,同时也会收到目标主机发送的响应数据包。当每收到响应数据包时,都会根据该数据包的网络特征值进行打分,来预测是何种操作系统的可能性。例如,3 分代表肯定,2 分代表有可能是,1 分代表有可能不是,0 分代表肯定不是。然后,针对不同的操作系统类型i, 将每次测试的得分数进行加和,以总分来判断远程操作系统的类型,其判断的模糊矩阵如下表。

测试操作系统1 操作系统2 操作系统i
测试1 分数 分数 分数
测试2 分数 分数 分数
测试3 分数 分数 分数
测试N 分数 分数 分数
总分 S1 S2 Si

在整个探测过程中,Xprobe2将依次进行三类测试,分别是探索模块、信息采集模块和指纹模块如下表。

模块 ICMP TCP UDP
探索模块 ICMP Echo TCP Ping UDP ping
信息采集模块 TTL 端口扫描 \
指纹模块 ICMP Echo、 ICMP Port Unreachable、SMB ICMP Timestamp、TCP Handshake、SNMP ICMP Address Mask、TCP RST

因此,Xprobe2 与Nmap的严格匹配操作系统指纹不同,它会根据与签名数据库探测数据包的特征值推测出结果。

p0f

p0f是继Nmap、Xprobe2之后另一款操作系统指纹识别工具。p0f也是基于TCP/IP协议栈指纹的,它的特色在于,它采取了被动扫描的策略。

  • 扫描策略:被动扫描。
  • 识别机制:基于TCP/IP协议栈指纹。
  • 产品功能:操作系统识别。
  • 扫描规模:给定数据包。

参考文献

[1] https://en.wikipedia.org/wiki/Shodan_(website)
[2] https://www.zoomeye.org/help/manual
[3] 张琦,操作系统指纹识别工具Nmap与Xprobe的分析和研究,科技传播, 2010
[4] https://nmap.org/man/zh/
[5] https://en.wikipedia.org/wiki/P0f

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348

推荐阅读更多精彩内容