不管做什么工作,只有明确了你的目标,你才能知道自己到底该做什么。

0x01 背景

作为一个螺(实)丝(习)钉(生),工作内容比较灵活,所以各方面的东西都能接触到不少。这回来唠嗑唠嗑自己对空间测绘系统扫描策略的一些理解。

总感觉今年各家的空间测绘产品都逐渐冒头toC了,除了老牌的Shodan、Censys、Zoomeye、Fofa、BinaryEdge,新晋的如全球鹰、RaySpace、Sumap等产品都陆陆续续开启了toC模式,这说明网络空间测绘在整个国家网络安全方面的需求更加明显了,各家都开始顺势打造并巩固属于自己的产品壁垒。

0x02 从扫描引擎看扫描策略

拿Zmap、Masscan的官方宣传的话来说,默认模式45分钟左右可以扫完全网。但对于空间测绘系统来说,不单单是扫完全网某一端口是否开放就完事了,还需要对开放端口的协议进行识别、甚至还有深度识别,才能绘制出细致的网络空间地图。

所以如果现在基本上很少看到以“多快”能扫描全网这种类似的宣传用语了,毕竟懂的人都懂。

那么在扫描速度受各种因素限制的情况下,怎么样扫,才能达到“类全网”扫描的结果呢?在扫描引擎的角度,除了底层扫描逻辑的优化和设置端口扫描/识别优先级,还能通过什么来优化扫描策略呢?

0x03 从全网IP存活数看扫描策略

在真正接触网络空间测绘之前,用空间测绘产品时都是站在点的角度上去看某个IP下有啥东西。现在慢慢接触了之后,才发现甚至可以站在宏观的角度上,从单位、区域等角度去看整个网络空间的信息,真是让人大开眼界。下面这幅图是全网Ipv4网络空间存活的希尔伯特曲线,可以清晰的看到其实并不是所有IP都是存活的,也就是有些IP是没有被利用的(感兴趣的可以去研究一下这部分没利用的IP都在谁手里,这里就不详细展开了)。
-w557
也就是说,我们可以将全网所有Ipv4的IP分成若干块,然后按照每块的IP利用率进行排序,然后对这些频繁存活的IP块进行周期扫描识别,也就能在消耗相同资源的情况下,完成了“类全网”扫描识别。
但其实这种策略有个缺点就是,利用率低的块可能就不能很好的覆盖扫描。

0x03 从端口数据看扫描策略

由于现在各家产品基本上都上了API频率、积分、封禁限制。所以数据统计(白嫖)的工作没有以前那么好开展了,这里只展示一下具体思路和一个分析撒旦的简单例子,感兴趣的就自己去找路子拿数据就能分析出结果了。

上图的核心端口重要端口一般端口小众端口其他端口其实就是按照总数划分的的一个端口分类,可以看到撒旦7-8月对核心端口和重要端口(共30+个)的扫描,均占了整月扫描数量的一半以上,由此可以推断出,撒旦的核心扫描端口大概在这30多个当中。

其实把一年中每个月的数据都给统计一下,也是可以看出某个月有没有特别关注的端口,用于挖掘分析一些扫描策略的信息,但由于现在各家都不一样,限制的也比较死,后续有机会看看再整这部分内容。

0x04 总结

百家争鸣其实是好事,能够鼓励不断创新,推动国家网络安全的发展建设(毕竟我们属实比别人落后不少)。身在百家之中,路漫漫其修远兮,愿走出半生,归来仍不忘初心。