在网络安全中,识别互联网上暴露的基础设施并快速绘制配置画像,是构建有效防御的核心。我们可以通过多种方式来捕捉这些信息,其中 ZoomEye提供了一个非常强大的工具,让我们能够轻松找到各种服务和配置。通过简单的一条 Dork 查询,我们就能够 识别出暴露的架构、技术栈、操作系统和服务配置。
在这篇文章中,我们将介绍如何通过端口、banner、iconhash(图标哈希)等信息快速识别基础设施的配置,并帮助安全团队洞察暴露的风险。
一、基础设施的暴露面与配置画像1.1 资产暴露的核心信息当我们通过 ZoomEye 搜索时,实际搜索的不仅仅是 IP 或端口,而是通过 banner 信息、iconhash(图标哈希)、证书信息等多个字段来精确识别服务和系统配置。以下是一些常用的识别信息:
端口号(Port):很多服务运行在特定端口上,例如 HTTP 默认是端口 80,HTTPS 是 443,SSH 是 22,等等。暴露的端口告诉我们服务的类型。banner 信息:服务启动时通常会发送一个标识性字符串,包含了软件版本、操作系统或硬件架构等信息。这些可以帮助我们精确地识别技术栈。iconhash(图标哈希):通过网站图标(favicon / icon)的哈希值,我们能够识别某个站点使用的 CMS、框架或其他技术平台。例如,WordPress、Joomla、Drupal 等 CMS 系统通常有独特的图标指纹,可用于批量识别相同模板或相同部署来源的站点。SSL/TLS 证书:SSL/TLS 证书中的 subject和 issuer 字段,常常包含有关服务或站点的重要信息,甚至能提供证书的颁发方和使用者名称。1.2 ZoomEye 查询示例:快速识别架构与技术栈通过简单的一条 Dork 查询,ZoomEye 可以帮助我们发现 暴露在公网的服务和技术栈。以下是一些常见的 ZoomEye 查询示例,帮助你了解如何识别这些信息:
查询:寻找暴露的 HTTP 服务和版本信息(port=80 || port=443) && banner="Apache"
说明:
这个查询会找到暴露的 HTTP 服务(端口 80 和 443),并且 banner 包含 Apache,意味着该服务可能使用的是 Apache Web Server。
查询:寻找暴露的 WordPress 网站title="WordPress" || iconhash="000bf649cc8f6bf27cfb04d1bcdcd3c7"
说明:
通过 title="WordPress"查找使用 WordPress 的网站,或通过 iconhash查找那些使用相同图标(通常与特定 CMS/模板相关)的站点。这种方法可以快速识别大量暴露的内容管理系统(CMS)。
查询:识别暴露的 Jenkins CI/CD 系统title="Jenkins" || banner="Jenkins CI"
说明:
通过 title="Jenkins"或 banner="Jenkins CI"查找暴露的 Jenkins 服务,用于持续集成和持续交付(CI/CD)的工具。
查询:查找暴露的 MySQL 数据库port=3306 && banner="MySQL"
说明:
查找暴露在 MySQL 默认端口 3306上的数据库,并且 banner 包含 MySQL。这表明服务可能暴露了数据库接口,存在被攻击的风险。
二、如何通过这些信息构建基础设施画像通过 ZoomEye 和其他扫描工具,我们可以快速构建一个基础设施的 暴露面配置画像。这一过程可以分为以下几步:
2.1 获取服务信息通过 ZoomEye 搜索,我们可以获取以下信息:
服务类型:通过端口和 banner,我们能看到哪些服务(Web、数据库、开发工具等)正在运行。版本号:很多服务在 banner 中包含了其版本信息,这可以帮助我们识别是否有已知漏洞存在。技术栈:通过一些特殊的标识(如 banner、iconhash),我们能识别出服务使用的技术栈。例如,Nginx、Apache、Tomcat、MySQL 等。2.2 按照组织或地理位置划分我们还可以根据 AS(自治系统)号和 国家/地区(例如 country=CN)进行筛选,查看特定国家或组织暴露的服务和技术栈。这可以帮助我们分析某些地区或组织的基础设施暴露情况。
查询:查找中国的暴露的 Jenkins 服务title="Jenkins" && country=CN
这会帮你找到所有位于 中国的 Jenkins CI 系统,帮助你监控一个特定地区的暴露面。
2.3 评估风险暴露的服务版本可能存在已知漏洞,风险评估是构建配置画像的关键环节。以下几种方法可以帮助我们评估风险:
版本与 CVE 数据库对比:通过查询 服务版本与 CVE(通用漏洞和暴露)数据库,我们可以评估暴露服务是否存在高风险漏洞。默认配置检查:很多服务在默认配置下部署,容易受到攻击。例如,默认用户名和密码、没有启用 SSL/TLS 加密等。跨服务关联:通过多种查询条件交叉分析,例如同时查找暴露的 MySQL + PHPMyAdmin或 Jenkins + GitLab服务,来判断是否存在多重攻击面。三、总结通过 ZoomEye 搜索引擎,我们可以轻松发现暴露在互联网上的服务,并通过 端口、banner、iconhash(图标哈希)等信息识别技术栈。利用这些信息,我们能够帮助安全团队构建基础设施的暴露面配置画像,进而评估风险和采取防御措施。
推荐做法:
在进行网络资产暴露面扫描时,定期使用 ZoomEye 或其他工具检查暴露服务的最新状态。利用版本信息、配置文件和公开数据快速发现漏洞,采取及时的安全加固措施。
另外听说ZoomEye即将上线终身版,有需要的朋友也可以关注一下