Shodan 与 Censys 扫描一瞥

VSole2022-06-14 07:21:55

工作来源

MADWEB 2021

工作背景

Shodan 在 2009 年提供商业服务,Censys 在 2015 年完成开发,二者都提供互联网范围的探测扫描数据。Censys 研发了一整套方案(包括 ZMap、ZGrab 等),先扫描整个网络空间查看开放服务的端口,再收集端口的 Banner 信息。Shodan 的扫描方式目前没有对外公开。

二者作为业界的佼佼者,数据是否新鲜?扫描是否消耗目标资源?二者有什么典型的区别?

工作准备

在全球五个位置部署 AWS EC2 机器:美国圣何塞、日本东京、加拿大蒙特利尔、法国巴黎与巴西圣保罗。每个机器上部署四个服务:FTP(vsftpd)、SSH(OpenSSH)、HTTP、HTTPS(Apache),用于收集端口扫描与 Banner 抓取信息。从 2020 年 3 月 10 日开始,一共收集 47 天数据。

工作设计

Censys 公布了扫描 IP 地址,而 Shodan 可以利用域名反查 IP 地址,利用该方法收集扫描源 IP 地址列表。

使用 pcap-splitter 库提取、分组属于同一会话的数据包。并进行标注:

  • S:会话中单个 SYN 数据包
  • SRE:会话中第一个数据包包含 SYN、第二个数据包包含 RST
  • SR:会话中第一个数据包只有 SYN、第二个数据包包含 RST
  • SAR:会话中第一个数据包只有 SYN、第二个数据包只有 SYN 与 ACK、最后一个数据包有 RST
  • BG:达到建立连接状态的 TCP 会话,包含至少一个 ACK,以 TCP 连接释放或者 RST 为结束
  • Dangling TCP 握手:不包含 ACK 且不包含 RST/FIN 的 TCP 会话
  • Dangling TCP 会话:包含 ACK 且不包含 RST/FIN 的 TCP 会话

由此可以进行分类:

  • 封闭端口扫描=SR+SRE
  • 开放端口扫描=SAR+Dangling TCP 握手
  • Banner 抓取=BG+Dangling TCP 会话

以 80 端口上的 HTTP 服务为例,跟踪 Banner 抓取的更新频率。每天为每个机器生成一个唯一的 64 位 Token 字符串,并且在美东时间晚十点更新到首页上。

分析 PCAP 流量文件,可以发现很多 Token 从未被 Censys 与 Shodan 扫描到。事实上,47(天)×5(机器)=235 个 Token 中,Censys 扫描到了 25 个、Shodan 扫描到了 19 个。而总共 Censys 抓取了 46 次、Shodan 抓取了 102 次,即便这样也没有扫描到所有 Token。

二者的数据更新还是相对及时的,65% 的 Token 都能在扫描到 15 小时内通过界面搜索到,24 小时所有的 Token 都能搜索到。


工作评估

扫描次数

47 天内,每个机器接受 27614 次 SYN 扫描,具体来说 Shodan 每天 176 次、Censys 每天 411 次。根据服务扫描热力图可知,Shodan 扫描 HTTP 的频率最高、Censys 扫描 HTTPS 的频率最高。

Banner 抓取与之类似:

扫描时间

  • 关闭的端口,扫描时间 < 1 毫秒
  • 开放的端口,Censys 扫描 139 毫秒、Shodan 扫描超过 2 秒
  • Banner 抓取时间 < 3 秒

最长的会话持续时间为 248 秒,Shodan 在抓取位于加拿大蒙特利尔主机上的 HTTPS Banner 时创下的记录,抓取只花费了 42 毫秒,但 RST 数据包延时超过 248 秒。

扫描方式

Censys 与 Shodan 的大多数扫描都是通过 RST 终止而不是 FIN。

Shodan 最常扫描 80 端口,Censys 最常扫描 443 端口。

常见扫描端口对应的服务为:

扫描源的分布如下所示:

Shodan 40% 的扫描源触达了所有机器,三分之一只扫描了一台机器,而 Censys 大多数扫描源都扫描到了所有机器。由此推测,Sodan 会对扫描空间进行分割,每个扫描源处理一定范围,而 Censys 则是全空间水平扫描。

计算了 Shodan 扫描源与主机位置的平均距离,似乎除了蒙特利尔的主机都并无较强关联。

分析蒙特利尔的数据可知,由于 Shodan 的一些扫描源只扫描特定端口的集合。

Censys 的扫描源一般局限于 20 个以内的端口,但 Shodan 基本都会超过 200 个端口。而 Shodan 将 Banner 抓取只分配给了少数扫描源。

Shodan 使用了多种 User-Agent 访问多个路径,Censys 始终使用相同的 User-Agent 访问根目录:

根据扫描与 Banner 抓取时标准差来看,Shodan 比 Censys 稍微稳定一些。


工作思考

网络空间搜索引擎从 2009 年 Shodan 发布已经走过了十余个年头,网空测绘确实已经越来越融入安全分析流程当中。从业界的反映来看,国内入局网空测绘的玩家越来越多,这个门类也逐渐变成了各个厂商都躬身入场的地方。就像一年多前的那篇文章中所说的那样:“抛掉那些浮华与热闹,深耕网络空间搜索引擎的核心能力才是成事之基、动力之源”。

此前也介绍过,现在各个厂商已经不甘止步于识别与发现网联设备,在数据基础上衍生出了各种花样,包括从这一视角下看俄乌冲突、HW 场景下的应用等。我们衷心地希望从事相关技术的研究人员能够为业界带来更准确及时的数据、更脑洞大开的玩法与更合作共赢的生态,带领行业走向下一个十年。

shodan广告条
本作品采用《CC 协议》,转载必须注明作者和本文链接
Shodan是一款备受喜爱和广泛使用的攻击面管理工具。如何正确使用Shodan:大多数人只会以一种方式使用 Shodan,尽管有四种方式——它们各有利弊。最后,Shodan 有浏览器扩展,可以在后台运行并获取所在页面的有关信息。此外,它还为我们提供了一个很好功能,如果我们需要更多信息,我们可以右键单击一个站点,然后在 Shodan 上搜索确切的页面。
Shodan 在 2009 年提供商业服务,Censys 在 2015 年完成开发,二者都提供互联网范围的探测扫描数据。Censys 研发了一整套方案(包括 ZMap、ZGrab 等),先扫描整个网络空间查看开放服务的端口,再收集端口的 Banner 信息。Shodan 的扫描方式目前没有对外公开。 二者作为业界的佼佼者,数据是否新鲜?扫描是否消耗目标资源?二者有什么典型的区别?
ShonyDanza是一款支持自定义且易于使用的安全工具,该工具基于Shodan实现其功能,并且可以利用Shodan的强大能力帮助研究人员实现安全研究、安全测试和安全防护等任务。
安全研究员 BushidoToken 最近利用 Shodan 网空搜索引擎,发现了三个新的信息窃密类恶意软件。
近日据外媒报道,安全研究人员通过 Shodan 搜索引擎发现近 2300 台安装了 etcd 组件的服务器暴露在互联网上,利用一些简单脚本即可从中获取登录凭证,如 cms_admin、mysql_root、 postgres 之类。目前经过测试已经成功地从这些服务器上检索到了来自 1,485 个 IP 、约 750 MB 的数据,其中包括 8,781 个密码、650 AWS 访问密钥、23 个密
Fav-upFav-up 是一款功能强大的IP查询工具,该工具可以通过Shodan和Favicon来帮助研究人员查询目标服务或设备的真实IP地址。工具安装首先,该工具需要本地设备安装并部署好Python 3环境。然后广大研究人员需要使用下列命令将该项目源码克隆至本地:git?接下来, 运行下列命令安装好Fav-up所需的依赖组件:pip3?除此之外,你还需要一个Shodan API密钥!-fu或—favicon-url:#无需在本地存储Favicon网站图标,但是需要知道目标图标的实际URL地址
利用该漏洞,攻击者能够在受影响的设备上创建账户,并完全控制这个账户;
ThunderSearch(闪电搜索器)是一款使用多个(目前支持Fofa、Zoomeye、360Quake,未来将支持Hunter、Shodan等)网络空间搜索引擎官方api开发的GUI界面的信息搜集工具。
VSole
网络安全专家