Shodan 与 Censys 扫描一瞥

admin 2022年6月14日09:52:05评论111 views字数 2077阅读6分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 字符串,并且在美东时间晚十点更新到首页上。

Shodan 与 Censys 扫描一瞥

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

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

Shodan 与 Censys 扫描一瞥

工作评估

扫描次数

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

Shodan 与 Censys 扫描一瞥

Banner 抓取与之类似:

Shodan 与 Censys 扫描一瞥

扫描时间

  • 关闭的端口,扫描时间 < 1 毫秒

  • 开放的端口,Censys 扫描 139 毫秒、Shodan 扫描超过 2 秒

  • Banner 抓取时间 < 3 秒

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

Shodan 与 Censys 扫描一瞥

扫描方式

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

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

Shodan 与 Censys 扫描一瞥

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

Shodan 与 Censys 扫描一瞥

Shodan 与 Censys 扫描一瞥

扫描源的分布如下所示:

Shodan 与 Censys 扫描一瞥

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

Shodan 与 Censys 扫描一瞥

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

Shodan 与 Censys 扫描一瞥

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

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

Shodan 与 Censys 扫描一瞥

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

Shodan 与 Censys 扫描一瞥

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

Shodan 与 Censys 扫描一瞥

Shodan 与 Censys 扫描一瞥

工作思考

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

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

原文始发于微信公众号(威胁棱镜):Shodan 与 Censys 扫描一瞥

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月14日09:52:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Shodan 与 Censys 扫描一瞥http://cn-sec.com/archives/1114474.html

发表评论

匿名网友 填写信息