Shodan自动化利用
字数 2033 2025-08-29 08:32:09

Shodan搜索引擎深度使用指南

一、Shodan概述

Shodan是一个针对网络设备的搜索引擎,被称为"暗黑系谷歌",能够快速在全球范围内搜索联网设备信息。它主要服务于安全研究人员和渗透测试人员,帮助他们寻找潜在的目标系统。

核心特点

  • 覆盖全球约6亿台主机
  • 扫描主机分布在8个国家和地区,减少地域性偏差
  • 支持多种设备类型:服务器、工控设备、智能家电、摄像头等
  • 提供API接口支持自动化操作

二、Shodan工作原理

Shodan通过定期端口扫描获取设备的Banner信息,处理后进行分类存储。Banner是设备在端口探测时返回的数据包中包含的标识信息。

Banner示例

HTTP服务Banner:

HTTP/1.1 200 OK
Server: nginx/1.2.19
Date: Sat, 13 Oct 2017 16:09:24 GMT
Content-Type: text/html; charset=utf-8

工控设备Banner:

Copyright: Original Siemens Equipment
PLC name: S7_Turbine
Module type: CPU 313C
Basic Firmware: v.3.3.8

三、Shodan基础搜索语法

基本查询参数

参数 示例 说明
hostname: hostname:"google" 按主机名或域名搜索
port: port:"21" 按端口或服务搜索
ip: ip:"168.205.71.64" 按IP地址搜索
net: net:"210.45.240.0/24" 按IP地址或子网搜索
vuln: vuln:CVE-2015-8869 按CVE漏洞搜索
os: os:"centOS" 按操作系统搜索
isp: isp:"China Telecom" 按ISP供应商搜索
product: product:"Apache httpd" 按软件/平台搜索
version: version:"3.1.6" 按软件版本搜索
geo: geo:"39.8779,116.4550" 按经纬度搜索
country: country:"China" 按国家搜索
city: city:"Hefei" 按城市搜索
org: org:"google" 按组织或公司搜索
before/after: before:"13/10/2017" 按时间范围搜索
asn: asn:"AS2233" 按自治系统号码搜索

组合查询示例

  1. 搜索成都开放8080端口的Apache主机:
    Apache city:"Chengdu" port:"8080"
    
  2. 搜索特定IP段的Linux主机:
    os:"linux" net:"72.34.62.0/24"
    
  3. 搜索美国的网络摄像头:
    netcam country:"US"
    

四、Shodan命令行环境配置

安装步骤

  1. 确保已安装Python3环境
  2. 安装Shodan模块:
    pip install Shodan
    
  3. 下载Shodan项目:
    git clone https://github.com/achillean/shodan-python.git
    
  4. 执行安装:
    cd shodan-python
    python setup.py install
    

初始化API

在Web个人主页获取API Key后初始化:

shodan init API_Key

五、Shodan命令行工具使用

常用命令

  1. host - 查看指定主机信息:
    shodan host 220.181.111.188
    
  2. search - 直接展示查询结果:
    shodan search apache
    
    自定义显示字段:
    shodan search --fields ip_str,port,org,hostnames apache
    
  3. download - 下载查询结果:
    shodan download apache-data apache
    
  4. parse - 解析结果为JSON:
    shodan parse --fields ip_str,port,org --separator , apache-data.json.gz
    
  5. stats - 汇总统计查询结果:
    shodan stats weblogic
    

六、Python自动化利用

Shodan_So工具介绍

一个基于Shodan API的辅助查询工具,支持多种查询方式和结果处理。

功能参数

参数 说明
-search 搜索内容,语法与网页查询相同
-f 从文件读取IP列表进行批量查询
-ip 查询特定IP的信息
-iprg 查询CIDR地址块范围内的主机
--hostnameonly 只返回有主机名的结果
--history 返回所有历史Banner
--page 指定结果页码
--list_ip 提取查询结果中的IP地址
--list_ip_port 提取IP:端口格式的结果

使用示例

  1. 查询美国的Apache服务器:
    ./Shodan_So.py -search "apache country:'US'"
    
  2. 导出存在心脏滴血漏洞的中国服务器IP:
    ./Shodan_So.py -search "vuln:CVE-2014-0160 country:CN" --list_ip >> ip.txt
    
  3. 查询特定IP的详细信息:
    ./Shodan_So.py -ip 119.75.217.109
    

七、实战应用案例

心脏滴血漏洞(CVE-2014-0160)批量利用

  1. 使用Shodan_So导出存在漏洞的IP列表
  2. 将IP列表导入漏洞利用工具
  3. 自动扫描并保存泄露的内存数据
  4. 使用Python脚本分析内存数据,提取敏感信息(如cookie、凭证等)
  5. 利用获取的cookie实现权限绕过

网络摄像头搜索

./Shodan_So.py -search "netcam country:'US'" --list_ip_port

八、注意事项

  1. 不同账户权限的API调用次数限制不同
  2. 付费账号在黑色星期五有折扣
  3. 查询内容包含特殊字符时需用引号包裹
  4. 批量操作时注意遵守法律法规和道德准则

通过本指南,您应该能够全面掌握Shodan搜索引擎的基本使用方法和高级自动化技术,将其有效应用于安全研究和渗透测试工作中。

Shodan搜索引擎深度使用指南 一、Shodan概述 Shodan是一个针对网络设备的搜索引擎,被称为"暗黑系谷歌",能够快速在全球范围内搜索联网设备信息。它主要服务于安全研究人员和渗透测试人员,帮助他们寻找潜在的目标系统。 核心特点 覆盖全球约6亿台主机 扫描主机分布在8个国家和地区,减少地域性偏差 支持多种设备类型:服务器、工控设备、智能家电、摄像头等 提供API接口支持自动化操作 二、Shodan工作原理 Shodan通过定期端口扫描获取设备的Banner信息,处理后进行分类存储。Banner是设备在端口探测时返回的数据包中包含的标识信息。 Banner示例 HTTP服务Banner : 工控设备Banner : 三、Shodan基础搜索语法 基本查询参数 | 参数 | 示例 | 说明 | |------|------|------| | hostname: | hostname:"google" | 按主机名或域名搜索 | | port: | port:"21" | 按端口或服务搜索 | | ip: | ip:"168.205.71.64" | 按IP地址搜索 | | net: | net:"210.45.240.0/24" | 按IP地址或子网搜索 | | vuln: | vuln:CVE-2015-8869 | 按CVE漏洞搜索 | | os: | os:"centOS" | 按操作系统搜索 | | isp: | isp:"China Telecom" | 按ISP供应商搜索 | | product: | product:"Apache httpd" | 按软件/平台搜索 | | version: | version:"3.1.6" | 按软件版本搜索 | | geo: | geo:"39.8779,116.4550" | 按经纬度搜索 | | country: | country:"China" | 按国家搜索 | | city: | city:"Hefei" | 按城市搜索 | | org: | org:"google" | 按组织或公司搜索 | | before/after: | before:"13/10/2017" | 按时间范围搜索 | | asn: | asn:"AS2233" | 按自治系统号码搜索 | 组合查询示例 搜索成都开放8080端口的Apache主机: 搜索特定IP段的Linux主机: 搜索美国的网络摄像头: 四、Shodan命令行环境配置 安装步骤 确保已安装Python3环境 安装Shodan模块: 下载Shodan项目: 执行安装: 初始化API 在Web个人主页获取API Key后初始化: 五、Shodan命令行工具使用 常用命令 host - 查看指定主机信息: search - 直接展示查询结果: 自定义显示字段: download - 下载查询结果: parse - 解析结果为JSON: stats - 汇总统计查询结果: 六、Python自动化利用 Shodan_ So工具介绍 一个基于Shodan API的辅助查询工具,支持多种查询方式和结果处理。 功能参数 | 参数 | 说明 | |------|------| | -search | 搜索内容,语法与网页查询相同 | | -f | 从文件读取IP列表进行批量查询 | | -ip | 查询特定IP的信息 | | -iprg | 查询CIDR地址块范围内的主机 | | --hostnameonly | 只返回有主机名的结果 | | --history | 返回所有历史Banner | | --page | 指定结果页码 | | --list_ip | 提取查询结果中的IP地址 | | --list_ip_port | 提取IP:端口格式的结果 | 使用示例 查询美国的Apache服务器: 导出存在心脏滴血漏洞的中国服务器IP: 查询特定IP的详细信息: 七、实战应用案例 心脏滴血漏洞(CVE-2014-0160)批量利用 使用Shodan_ So导出存在漏洞的IP列表 将IP列表导入漏洞利用工具 自动扫描并保存泄露的内存数据 使用Python脚本分析内存数据,提取敏感信息(如cookie、凭证等) 利用获取的cookie实现权限绕过 网络摄像头搜索 八、注意事项 不同账户权限的API调用次数限制不同 付费账号在黑色星期五有折扣 查询内容包含特殊字符时需用引号包裹 批量操作时注意遵守法律法规和道德准则 通过本指南,您应该能够全面掌握Shodan搜索引擎的基本使用方法和高级自动化技术,将其有效应用于安全研究和渗透测试工作中。