网络渗透实验测试第三次作业:被动扫描,使用zoomeye进行信息的获取

ZoomEye(钟馗之眼)是一款专注于网络空间测绘的搜索引擎,可用于发现联网设备、服务器、摄像头、IoT设备等网络资产。以下是正确使用ZoomEye的详细指南:

### **一、注册与登录**

1. **访问官网**  

   打开 [ZoomEye官网](https://www.zoomeye.org/),点击右上角注册(支持邮箱或手机号)。

2. **认证权限**  

   免费账户每日可查看少量搜索结果,付费版(专业版)支持更多高级功能。

---

### **二、基础搜索**

1. **简单关键词搜索**  

字段搜索:使用特定字段来构建更精确的搜索查询。常用字段包括:

ip:指定IP地址。
port:指定端口。
service:指定服务类型。
country:指定国家。
city:指定城市。
os:指定操作系统。
app:指定应用。
title:网页标题。
banner:服务指纹信息。

   输入设备、服务或漏洞相关关键词(如 `Apache`、`Redis`、`CVE-2021-44228`)。

   - 示例:`apache`(搜索运行Apache服务的设备)

   - 示例:`port:3389`(搜索开放3389端口的设备)

2. **过滤结果**  

   使用左侧筛选栏按协议、端口、国家/地区、操作系统等过滤结果。

---

### **三、高级搜索语法**

语法说明

● 搜索范围覆盖设备(IPv4、IPv6)及网站(域名)

● 输入搜索字符串时,系统将按“全局”模式匹配关键词,涵盖HTTP、SSH、FTP等多种协议的内容(如HTTP/HTTPS协议的header、body、ssl、title及其他协议的banner)

● 搜索字符串不区分大小写,会进行分词后匹配(搜索结果页面提供了“分词”测试功能),使用==搜索时为精准匹配严格限制搜索语法大小写

● 搜索字符串请使用引号(如"Cisco System"或'Cisco System'), 如果搜索字符串里存在引号可以使用 \ 进行转义 比如: "a\"b",如果搜索字符串里存在括号可以使用 \ 进行转义 比如: portinfo\(\)

逻辑运算SearchLogic

new= 搜索包含关键词的资产

title="知道创宇"  搜索网站标题包含知道创宇的资产

new== 精准搜索,表示完全匹配关键词(区分大小写),可搜索值为空的数据

title=="知道创宇"  搜索网站标题为知道创宇的资产

new|| 在搜索框中输入“||”则表示“或”的运算逻辑

service="ssh" || service="http"  搜索ssh或http协议的数据

new&& 在搜索框中输入"&&"则表示"且"的运算逻辑

device="router" && after="2020-01-01"  搜索2020-01-01后路由器的数据

new!= 在搜索框中输入"!="则表示"非"的运算逻辑

country="CN" && subdivisions!="beijing" 搜索中国地区内除北京的数据

() 在搜索框中输入"()"则表示"优先处理"的运算逻辑

(country="CN" && port!=80) || (country="US" && title!="404 Not Found")  搜索中国排除80端口或美国排除"404 Not Found"的数据

new* 模糊搜索,使用 * 进行搜索

title="*google"  搜索网站标题中包含知道创宇的资产,且标题可以以任意字符开头

country="CN"   搜索国家地区资产

可以使用国家缩写,也可以使用中/英文全称如

country="中国"

subdivisions="beijing" 搜索相关指定行政区的资产

中国省会支持中文及英文描述搜索如

subdivisions="北京"

city="changsha" 搜索相关城市资产

中国城市支持中文及英文描述搜索如

city="长沙"

证书搜索

ssl="google" 搜索ssl证书存在"google"字符串的资产 常常用来提过产品名及公司名搜索对应目标

ssl.cert.fingerprint="F3C98F223D82CC41CF83D94671CCC6C69873FABF" 搜索证书相关指纹资产

ssl.chain_count=3 搜索ssl链计数资产

ssl.cert.alg="SHA256-RSA" 搜索证书支持的签名算法

ssl.cert.issuer.cn="pbx.wildix.com" 搜索用户证书签发者通用域名名称

ssl.cert.pubkey.rsa.bits=2048 搜索rsa_bits证书公钥位数

ssl.cert.pubkey.ecdsa.bits=256 搜索ecdsa_bits证书公钥位数

ssl.cert.pubkey.type="RSA" 搜索证书的公钥类型

ssl.cert.serial="18460192207935675900910674501" 搜索证书序列号

ssl.cipher.bits="128" 搜索加密套件位数

ssl.cipher.name="TLS_AES_128_GCM_SHA256" 搜索加密套件名称

ssl.cipher.version="TLSv1.3" 搜索加密套件版本

ssl.version="TLSv1.3" 搜索证书的ssl版本

ssl.cert.subject.cn="example.com" 搜索用户证书持有者通用域名名称

ssl.jarm="29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa" 搜索相

关jarm内容的资产

newssl.ja3s=45094d08156d110d8ee97b204143db14 查找与特定JA3S指纹相关的资产

IP及域名信息相关搜索

ip="8.8.8.8" 搜索指定IPv4地址相关资产

ip="2600:3c00::f03c:91ff:fefc:574a" 搜索指定IPv6地址相关资产

cidr="52.2.254.36/24" 搜索IP的C段资产

cidr="52.2.254.36/16"为IP的B段资产,cidr="52.2.254.36/8"为IP的A段资产,如

cidr="52.2.254.36/16"

cidr="52.2.254.36/8"

org="北京大学"或者organization:"北京大学" 搜索相关组织(Organization)的资产 用来定位大学、结构、大型互联网公司对应IP资产

isp="China Mobile" 搜索相关网络服务提供商的资产 可结合org数据相互补充

asn=42893 搜索对应ASN(Autonomous system number)自治系统编号相关IP资产

port=80 搜索相关端口资产 目前不支持同时开放多端口目标搜索

hostname="google.com" 搜索相关IP"主机名"的资产

domain="baidu.com" 搜索域名相关的资产 用来搜索域名和子域名数据

newicp.number="京ICP备10040895号-40" 搜索通过域名关联的ICP备案号包含"京ICP备10040895号-40"的网站资产 用来搜索备案域名资产

newicp.name="知道创宇" 搜索ICP备案企业名称包含"知道创宇"的资产 用来搜索企业备案域名资产

newbanner="FTP" 搜索协议报文相关的数据 用于搜索非HTTP协议报文数据

newhttp.header="http" 搜索HTTP响应头相关的数据 用于搜索HTTP响应头的数据

newhttp.header_hash="27f9973fe57298c3b63919259877a84d" 通过HTTP响应头计算的hash值进行搜索

newhttp.header.server="Nginx" 搜索HTTP响应头中server数据 用于搜索HTTP响应头中Server的数据

newhttp.header.version="1.2" 搜索HTTP响应头中的服务版本号

newhttp.header.status_code="200" 搜索HTTP响应头中的状态码 搜索HTTP响应状态码为200的资产或其他状态码,如302、404等

newhttp.body="document" HTML正文进行查询搜索

newhttp.body_hash="84a18166fde3ee7e7c974b8d1e7e21b4" HTML正文计算的hash值搜索

指纹相关搜索

app="Cisco ASA SSL VPN" 搜索思科ASA-SSL-VPN的设备 更多的app规则请参考[object Object],在搜索框输入"思科"等关键词会有相关app提示

service="ssh" 搜索对应服务协议的资产 常见服务协议包括:http、ftp、ssh、telnet等等(其他服务可参考搜索结果域名侧栏聚合展示)

device="router" 搜索路由器相关的设备类型 常见类型包括router(路由器)、switch (交换机)、storage- misc(存储设备)等等(其他类型可参考搜索结果域名侧栏聚合展示)

os="RouterOS" 搜索相关操作系统 常见系统包括Linux、Windows、RouterOS、IOS、JUNOS等等(其他系统可参考搜索结果域名侧栏聚合展示)

title="Cisco" 搜索html内容里标题中存在"Cisco"的数据

industry="政府" 搜索行业类型相关的资产 常见的行业类型包括科技、能源、金融制造业等等(其他类型可结合org数据相互补充)

newproduct="Cisco" 搜索组件信息包含Cisco的资产 支持主流资产组件搜索

newprotocol="TCP" 搜索传输协议为TCP的资产 常见的传输协议有TCP、UDP、TCP6、SCTP

newis_honeypot="True" 筛选是否包含蜜罐资产

时间节点区间搜索

after="2020-01-01" && port="50050" 搜索更新时间为"2020-01-01"以后端口为"50050"以后的资产 时间过滤器需组合其他过滤器使用

before="2020-01-01" && port="50050" 搜索更新时间在"2020-01-01"以前端口为"50050"以前的资产 时间过滤器需组合其他过滤器使用

Dig

dig="baidu.com 220.181.38.148" 搜索相关dig内容的资产

Iconhash

iconhash="f3418a443e7d841097c714d69ec4bcb8" 通过 md5 方式对目标数据进行解析,根据图标搜索相关内容的资产 搜索包含"google"图标的相关资产

iconhash="1941681276" 通过 mmh3 方式对目标数据进行解析,根据图标搜索相关内容的资产 搜索包含"amazon"图标的相关资产

Filehash

filehash="0b5ce08db7fb8fffe4e14d05588d49d9" 通过上传方式进行查询,根据解析的文件数据搜索相关内容的资产 搜索包含"Gitlab"解析的相关资产---

### **四、数据导出与API调用**

1. **导出结果**  

   付费用户可导出搜索结果为CSV或JSON格式,用于进一步分析。

2. **API集成**  

   - **获取API Key**:登录后进入个人中心生成API密钥。

   - **官方SDK**:支持Python、Go等语言,安装SDK后调用接口。

   - **Python示例**:

     ```python

     from zoomeye.sdk import ZoomEye

     zm = ZoomEye(api_key="YOUR_API_KEY")

     data = zm.dork_search('apache', page=1)

     print(data)

     ```

---------------------------------------------------------------------------------------------------------------------------------API(Application Programming Interface,应用程序编程接口)调用指的是通过代码向其他软件系统或服务请求数据或执行操作的过程。以下为你展开介绍:

1. 了解 API

• 文档阅读:每个API都有对应的文档,详细说明可以执行的操作(如获取用户信息、发布推文等)、请求和响应的数据格式(如JSON、XML)、可用的参数及其含义,以及使用限制(如速率限制)。例如,Twitter API文档会说明如何构建请求来获取特定用户的推文。

2. 获取 API 凭证

• 注册与申请:许多API要求开发者在其平台上注册账号并申请API访问权限。例如,使用百度地图API,需在百度地图开放平台注册,申请密钥(Key)。这一凭证用于标识开发者身份,确保API使用的合法性与可追踪性。

3. 选择请求方式

• 常见请求类型:

• GET:常用于从服务器获取数据。比如从新闻API获取最新的新闻列表,请求的URL中会包含参数来指定新闻类别、数量等信息。

• POST:一般用于向服务器提交数据,如向用户注册API提交新用户的注册信息,数据包含在请求体中,相比GET更安全,且可提交大量数据。

• PUT:用于更新服务器上的资源。例如更新用户资料API,将修改后的用户资料通过PUT请求发送到服务器。

• DELETE:用于删除服务器上的资源,如通过DELETE请求删除特定的文件或数据库记录。

4. 构建请求

• URL 构成:包括API的基础URL和端点(endpoint,即具体操作的路径),可能还包含查询参数。例如,获取某电商商品详情,URL可能是“https://api.example.com/products/12345?fields=name,price”,其中“/products/12345”是端点指定商品ID,“fields=name,price”是参数指定仅返回商品名称和价格。

• 请求头设置:包含关于请求的元数据,如认证信息(如Bearer Token)、数据格式说明(如“Content-Type: application/json”表示请求体数据为JSON格式)。

• 请求体内容:对于POST、PUT等请求,需在请求体中包含要发送的数据。若以JSON格式发送用户注册数据,可能如下:

{

    "username": "testuser",

    "password": "testpass123",

    "email": "test@example.com"

}

5. 发送请求并处理响应

• 编程语言工具:使用不同编程语言的HTTP库来发送API请求。例如Python的requests库,代码示例如下:

import requests

url = 'https://api.example.com/data'

headers = {'Authorization': 'Bearer your_token', 'Content-Type': 'application/json'}

data = {'param1': 'value1', 'param2': 'value2'}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:

    result = response.json()

    print(result)

else:

    print(f"请求失败,状态码: {response.status_code}")

• 响应处理:检查响应状态码判断请求是否成功(如200表示成功,400表示请求错误,500表示服务器错误)。根据响应的数据格式(如JSON)解析数据,提取所需信息,对错误情况进行适当处理,如提示用户或进行重试。...

---

### **五、典型使用场景**

1. **渗透测试**  

   快速定位目标资产(如暴露的数据库、未授权访问的服务)。------->>>>在渗透环节中来说一般的使用需求,

2. **漏洞影响评估**  

   通过CVE编号搜索受影响设备(如 `CVE-2023-1234`)。

3. **网络资产监控**  

   监控企业暴露在公网的设备,避免Shadow IT风险。

---------------------------------------------------------------------------------------------------------------------------------根据该语法“domain="baidu.com" 搜索域名相关的资产 用来搜索域名和子域名数据”我们进行子域名搜索。

例如     domain:youkuaiyun.com

我们可以获得信息搜索结果会展示子域名及其对应的IP地址和服务信息 ,并且支持将数据整理导出为CSV文件,便于后续分析、记录及进一步处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值