在写《一个通过ZoomEye获取IOC的案例》我发现搜索Docker的关键词:Server: Docker 会匹配到大量的蜜罐,而这些蜜罐符合Anglerfish类蜜罐的特征,目前这里蜜罐非常常见部署也非常多,显然它并不是今天的主角,我们先通过排除掉这些Anglerfish类的数据,搜索语法:

"Server: Docker" -"<title>"

[解释下:因为我们要搜索的Docker是个API服务基本上是不可能出现 title 这个词的,所以直接排除] 如下:

一共得到3.6w+的结果,随机做一些访问确认发现一个比较有意思显现,Docker api默认端口为2375,但是在侧栏的端口分布栏来看可以看出很多其他端口,我们使用排除语法搜索:

"Server: Docker" -"<title>" -port:2375

尝试访问基本都访问不到,端口服务处于关闭状态,这是一个非常异常的情况。然后我们看看banner信息,从ZoomEye里显示的banner信息很多请求应该是直接获取dorker版本信息的请求记录,注意观察你会发现这些请求都是版本信息Server: Docker/18.06.1-ce (linux)及Content-Length: 626都非常统一,继续搜索:

"Server: Docker" +"Content-Length: 626"

可以得到1.2w+的结果,而且这些很多基本上访问不到,或者开始能访问,访问几次后就没有响应了,非常奇怪现象。随即我选了几个IP查看IP档案页面看看其他端口情况:

从这个Server:头的很典型的“蜜罐”风格,初步推测这些是设备为“蜜罐”并且带有IP阻断功能。当然可能有人会问你这个Content-Length: 626很可能默认的配置就是这个长度,那么我们那在banner里选一个其他的关键词进行,完整的banner如下:

HTTP/1.1 200 OK
Date: Thu, 11 Mar 2021 07:04:33 GMT
Server: Docker/18.06.1-ce (linux)
Api-Version: 1.38
Docker-Experimental: false
Ostype: linux
Content-Type: application/json
Content-Length: 626{"Platform": {"Name": ""}, "Components": [{"Name": "Engine", "Version": "18.06.1-ce", "Details": {"ApiVersion": "1.38", "Arch": "amd64", "BuildTime": "2018-10-26T23:39:57.000000000+00:00", "Experimental": "false", "GitCommit": "e68fc7a/18.06.1-ce", "GoVersion": "go1.10.3", "KernelVersion": "4.14.47-64.38.amzn2.x86_64", "MinAPIVersion": "1.12", "Os": "linux"}}], "Version": "18.06.1-ce", "ApiVersion": "1.38", "MinAPIVersion": "1.12", "GitCommit": "e68fc7a/18.06.1-ce", "GoVersion": "go1.10.3", "Os": "linux", "Arch": "amd64", "KernelVersion": "4.14.47-64.38.amzn2.x86_64", "BuildTime": "2018-10-26T23:39:57.000000000+00:00"}

我们选GitCommit这个值e68fc7a/18.06.1-ce 搜索语法:Server: Docker +e68fc7a/18.06.1-ce得到1.4w+的结果,继续我们看看还有没有其他Content-Length的目标 搜索语法:Server: Docker +e68fc7a/18.06.1-ce-Content-Length: 626 找到2,465 条而且都是2019年的数据,具体banner如下:

HTTP/1.1 200 OK
Content-Length: 583
Server: Docker/18.06.1-ce (linux)
Ostype: linux
Api-Version: 1.38
Docker-Experimental: false
Date: Sat, 20 Apr 2019 23:57:57 GMT
Content-Type: application/json{"Platform":{"Name":""},"Components":[{"Name":"Engine","Version":"18.06.1-ce","Details":{"ApiVersion":"1.38","Arch":"amd64","BuildTime":"2018-10-26T23:39:57.000000000+00:00","Experimental":"false","GitCommit":"e68fc7a/18.06.1-ce","GoVersion":"go1.10.3","KernelVersion":"4.14.47-64.38.amzn2.x86_64","MinAPIVersion":"1.12","Os":"linux"}}],"Version":"18.06.1-ce","ApiVersion":"1.38","MinAPIVersion":"1.12","GitCommit":"e68fc7a/18.06.1-ce","GoVersion":"go1.10.3","Os":"linux","Arch":"amd64","KernelVersion":"4.14.47-64.38.amzn2.x86_64","BuildTime":"2018-10-26T23:39:57.000000000+00:00"}

从http头及下面返回的内容参数除里http头里的Date内容好像没啥不一样,但是这个Content-Length是不一样的,一个是626 一个是583,然后仔细核对你会发现,在http body里的json里626的是多了很多空格,如:
{“Platform”: {“Name”: “”}
{“Platform”:{“Name”:""}
这个空格的问题让我想起《利用 ZoomEye 追踪多种 Redteam C&C 后渗透攻击框架》 https://paper.seebug.org/1301/ 这篇文章里提到的,到这里基本上可以实锤,搜索语法搜索出来的Server: Docker+Content-Length: 626就是“蜜罐”,而且从选用的模版信息可以确定,这个蜜罐模版选用18.06.1-ce版本最为模版,而这个版本主要出现在2019年!
最后一个问题一直困扰着我:既然是“蜜罐”不应该是吸引火力吗?为什么直接拦截访问IP呢?

编者注:ZoomEye一直提供蜜罐识别业务,打标结果目前只对VIP用户开放。目前ZoomEye已经支持这类蜜罐识别并打标!

一种通过 ZoomEye 捕获全新 Docker 蜜罐的案例相关推荐

  1. 强大的CSS:3种姿势实现26个英文字母的案例

    如何使用? 引用CSS文件,例如: 或者直接CSS代码到你的项目中: /* 全局样式 / .letter { color: #2486ff; border-style: solid; border-w ...

  2. 静茹docker容器的几种方法_1-容器和docker基础知识

    [TOC] ## 一 容器的概念 ### 1.什么是容器: 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等. 也可以说:容器是一种轻量级虚拟化的技 ...

  3. 全新Docker Hub发布:提供查找、存储和共享容器镜像单一体验

    Docker发布了一种新的Docker Hub体验,它将之前的Docker Store.Docker Cloud和Docker Hub融为一体,为用户提供了查找.存储和共享容器镜像的单一体验.现在,可 ...

  4. Pygame中的两种键盘按键捕获方式

    在Pygame中,针对键盘按键的捕获,有两种 第一种:判断event.type == pygame.KEYDOWN if event.type == pygame.KEYDOWN and event. ...

  5. 全新 DOCKER PALS 计划上线,带给您不一样的参会体验!...

    出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一.三.五,与您不见不散! 在 DockerCon 哥本哈根大会上,我们推出了 Docker Pals 计划,旨在将与会者联系在一起 ...

  6. 2022全新docker安装mysql镜像、tomcat镜像及打包IDEA项目为war包并部署到docker上成功运行

    Docker部署web项目 一.推荐提前准备的软件 1.IDEA2022 2.xshell7 3.xftp7 4.Navicat Premium 15 二.docker上安装mysql 1.先从网上拉 ...

  7. 打破传统的思维方式,3种代金券的全新玩法,绝对震撼你的思维!

    在中国有任何一个好的生意出现,只要赚钱,马上就会有人模仿.于是做的人多的,后做的人没有客户,就会用什么方式来吸引客户?降低产品价格.慢慢这个行业就陷入价格竞争,能有效降低产品成本的企业最终会胜出. 产 ...

  8. Ranger开源流水线docker化实践案例

    1.背景 开发部门决定在Apache Ranger开源社区贡献代码,目标是个人国内排名Top1,世界排名Top2,并且在已经成为Ranger项目的Committer情况下,争取成为Ranger项目的P ...

  9. Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式、Flex布局语法教程及案例(概念、容器属性、项目属性)、双飞翼布局复习、Bootstrap4 教程】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记] 目   录 HTML中的三种元素(块元素.内联元素.内联块元素) position定位的四种方式 ...

  10. docker(10):实战案例

    1.使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机器上开启多个服务,这可以有 ...

最新文章

  1. hdu5491 The Next 模拟
  2. html中实现th标签添加分页,html – 如何在Angular 4中为表添加分页?
  3. 微信小程序 - 使用npm(第三方包)
  4. Fast R-CNN: 我变快了,也变强了!
  5. Android开发--环境的配置
  6. python视频 神经网络 Tensorflow
  7. 02.C(数据类型与运算符)
  8. 如何提取多层json数据 python_Postgre数据库字段Json内容提取(基于Python)
  9. js如何获取window.location.href跳转后查询字符串的值?
  10. 如何查看 Linux 服务器性能参数指标?
  11. Eigen编译_Eigen向量化_内存对齐 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
  12. android 8187驱动 win7,8187无线网卡驱动,教您Realtek瑞昱8187无线网卡驱动
  13. Java 创建线程的三种方式总结
  14. 【HAVENT原创】Spring Boot + Kafka 消息日志开发
  15. 在线字节转换工具G,M,Byte
  16. 《短码之美》Ozy著学习笔记
  17. C语言将循环小数/有限小数转换为分数
  18. cati服务器授权信息无效,cati安装
  19. 绘制遗传图谱工具——MapChart
  20. 课外时间学点历史知识~

热门文章

  1. R语言使用pROC包绘制ROC曲线并在ROC曲线上显示特异度和敏感度的置信区间(通过阴影区域以及线条显示)
  2. 100ask imx6ull开发板移植NXP官方UBOOT
  3. 关于win10访问u盘被拒绝,显示没有权限访问问题的解决方案
  4. android沙箱,Android沙箱机制
  5. 20145322何志威 Exp7 网络欺诈技术防范
  6. 数据库SQL语句学习
  7. GTK+的编译还真麻烦
  8. 记录一下自己用STM32完整开发一台双模机械键盘的过程(附代码和原理图)
  9. 解决异常:Premature end of chunk coded message body: closing chunk expected
  10. php的入门是html5,h5自学教程:6个适合初学者的零基础html5入门自学教程推荐