如何创建一个网络扫描分析平台
发布时间:2021-12-13 09:37 所属栏目:53 来源:互联网
导读:简介 在上一篇我们介绍了如何搭建分布式网络扫描日志收集系统, 现在已经收集了大量的日志,如何从日志中获取想要的知识?需要进行数据分析,提出一个问题,然后从数据中去寻找答案。 本篇主要讲如何分析扫描日志 我们尝试着从数据中回答一些问题: 每天有多少
简介 在上一篇我们介绍了如何搭建分布式网络扫描日志收集系统, 现在已经收集了大量的日志,如何从日志中获取想要的知识?需要进行数据分析,提出一个问题,然后从数据中去寻找答案。 本篇主要讲如何分析扫描日志 我们尝试着从数据中回答一些问题: 每天有多少ip在进行扫描? ip_count_by_day.jpg 可以看到从2021-10-15日之后,平均每天有2万个ip在进行扫描 进行大范围扫描的ip数量趋势呢? breadth_gt_1_ips_by_day.jpg 有7000个左右的ip每天在进行大范围的扫描 看下几个互联网扫描器进行扫描的ip数量分布情况: scanners.png 能看到censys每天有将近280个ip在进行扫描,将近180个ip在进行大范围扫描;shodan每天有35个ip在进行扫描,平均每天有25个ip在进行大范围扫描 。binaryedge比较不稳定,大概在50个ip左右,大概有10个ip在进行大范围扫描。 再来看看rapid7是怎么进行扫描的? rapid7_count_by_day.jpg 扫描策略特殊一点,能看到中间会休息一周然后突然多出大量ip进行扫描任务。 一天时间内的扫描广度是怎么分布的? count_by_breadth.jpg 能看到绝大部分ip一天内扫描的覆盖范围(覆盖的主机数量)比较少。 扫描广度在60%、70%的比100%的还要少,也就是说中等偏上扫描范围的ip数量比较少,互联网扫描器大多会全部扫描,或者限制较少的目标范围。 或者是扫描器的能力或资源有限,要么选择轻量级更快的扫描全网,要么是速度比较慢的进行更多的端口或协议识别操作。 一天内ip扫描的端口数量都有多少? port_total_by_ip_count.jpg大部分ip一天内扫描的端口数量还是比较少的,扫描80个端口以上的ip数量很少。 这些ip都在关心哪些端口?来自哪个国家?扫描范围有多广?访问了哪些服务? 可以在faweb上查看 summary.jpg 再以端口为线索,大范围扫描器都在关心哪些端口? port_breadth_b5_ports.jpg能看到大部分都集中在10000端口以下。 后面的27017、49152端口访问数量也比较大,我们来找找原因。 在faweb中搜索port:27017,能看到有2000多条结果, 27017是mongodb的常用端口,因此各家的互联网扫描引擎也比较关注。 再看看关心27017端口的ip还会关心哪些端口: port_27017_result.jpg 基本上是互联网扫描器会关心的常见服务端口。 来看下其中的一个ip: port_27017_ip.jpg它是recyber的一个扫描器。再看其它几个ip也是扫描器的行为。 再看看port:49152, 看看其中一个ip: 167.248.133.18.png看rdns信息,应该是censys的ip地址,再看看它关心的端口列表,找几个端口,比如50995, 20201, 40000, 17777, 47001, 49152,来看看各个互联网扫描平台上有多少条独立ip的收录: 端口/平台 50995 20201 40000 17777 47001 49152 shodan 2 43 39 4 4 1,488,551 censys 1,083,024 2,722,622 1,748,078 311,021 2,827,492 2,054,990 fofa.so 1 82 1,280,784 26 39 5,497,110 zoomeye.org 0 0 2,018,912 0 0 5,762,264 quake.360.cn 7 18 47 2 483 3,546,927 下面来介绍如何对收集到的原始日志进行简单的分析,并创建规则来提供更高层次的数据以回答上面这些问题。 展示效果 将所有这些信息收集,归类到新的分析库之后,就可以对ip信息进行更高层次的分析,比如使用faweb查看45.146.164.110: 45.146.164.110.png 可以看到45.146.164.110访问了多个协议,而没有做端口探测,因此推测它很可能是一个协议分析工具,从端口访问记录来看,随着探测到的端口增多,协议识别访问次数也增多。 从http_url来看,它尝试识别几种web应用。 再来看一个220.174.25.172: ssh_burte_220-174-25-172.png 可以看到这是一个ssh爆破工具,可以看到它关心哪些端口,以及每天尝试爆破的次数。 至此,通过使用elastic查询建立规则,并入库,就可以实现一个你自己的greynoise 结语 至此,已经完成了初步的规则分析以及数据探索。你想要回答哪些问题?快来搭建自己的分析平台吧。更深入的行为分析,扫描意图识别还需要更多工作要做,敬请期待第三篇。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读