实践网络空间搜索引擎应用&信息收集
字数 1713 2025-08-05 11:39:30

网络空间搜索引擎应用与信息收集技术指南

0x0 前言

本文从白帽子角度系统分析主流网络空间搜索引擎的优劣比较,探讨多引擎整合的必要性,并提供一套完整的信息收集流程和自动化实现思路。通过实际案例分析,展示如何利用SSL证书、favicon哈希等特征进行资产关联发现。

0x1 主流搜索引擎比较

最常用的三大网络空间搜索引擎:

  • FoFa:hostname数据最全,支持多种特征搜索
  • Shodan:设备指纹识别能力强
  • ZoomEye:国内资产覆盖较好

0x2 信息收集基础流程

横向资产挖掘(主域名扩展)

  1. 天眼查股权结构:获取关联子公司
  2. 备案信息查询:相同单位备案
  3. 域名whois反查
  4. IP反查(获取真实IP后)
  5. 移动端信息
    • 七麦数据/APP Store查找同开发商应用
    • 微信公众号/小程序分析

纵向资产挖掘(深度特征提取)

  1. SSL证书信息提取
  2. 网站favicon哈希计算
  3. 网站标题/底部信息分析
  4. IP分布规律分析

0x3 关键归属特征提取技术

SSL证书信息

  • 包含目标中文名称关键词
  • 主域名匹配
  • 组织名称匹配

代码实现(Python示例):

import ssl, socket
def get_ssl_info(host, port=443):
    cert = ssl.get_server_certificate((host, port))
    # 解析证书信息...
    return cert_info

Favicon哈希计算

  1. 获取网站favicon.ico
  2. 计算MMH3哈希值

搜索语法对比:

  • Shodan: http.favicon.hash:214897281
  • ZoomEye: iconhash:"214897281"
  • FoFa: icon_hash="214897281"

0x4 多引擎整合技术

搜索语法对照表

特征类型 Shodan语法 ZoomEye语法 FoFa语法
SSL证书 ssl:"ximalaya.com" ssl:"ximalaya.com" cert="ximalaya.com"
Favicon哈希 http.favicon.hash:214897281 iconhash:"214897281" icon_hash="214897281"

自动化整合脚本框架

class SearchEngineAPI:
    def __init__(self, api_key):
        self.api_key = api_key
    
    def search_ssl(self, query):
        # 实现各引擎搜索
        pass
    
    def search_favicon(self, hash_value):
        # 实现各引擎搜索
        pass

# 使用示例
fofa = SearchEngineAPI("YOUR_FOFA_KEY")
results = fofa.search_ssl("douyu.com")

多引擎结果分析

ximalaya.com SSL查询为例:

  • Shodan结果:89个
  • ZoomEye结果:45个
  • FoFa结果:103个
  • 三者合并去重:147个(显著高于单一引擎)

0x5 IP分布规律分析

IP来源分析技术

  1. 子域名解析

    • 注意CDN干扰(通过SSL证书识别)
    • 多地ping测试判断是否真实CDN
  2. C段聚合

    • 优先分析ASN信息
    • 再细化到C段扫描
  3. SSL+地域定位

    • 示例:cert="douyu.com" && city="Wuhan"
    • 适用于总部所在地数据中心发现

ASN信息获取代码

import ipwhois

def get_asn_info(ip):
    obj = ipwhois.IPWhois(ip)
    results = obj.lookup_rdap()
    return {
        'asn': results.get('asn'),
        'cidr': results.get('asn_cidr'),
        'description': results.get('asn_description')
    }

0x6 WEB服务发现技术

WEB服务分类

  1. 基于IP的服务:直接访问IP可见
  2. 基于IP+域名的服务:需指定Host头

扫描实现方案

  1. Masscan快速端口扫描

    masscan -p1-65535 58.19.41.0/24 --rate=1000 -oL ports.txt
    
  2. WEB服务识别

    import requests
    def detect_web_service(ip, port, host=None):
        url = f"http://{ip}:{port}"
        headers = {'Host': host} if host else {}
        try:
            r = requests.get(url, headers=headers, timeout=5)
            return analyze_response(r)
        except:
            return None
    
  3. 多进程加速

    from multiprocessing import Pool
    def batch_scan(ip_port_list):
        with Pool(20) as p:
            results = p.map(detect_web_service, ip_port_list)
        return results
    

0x7 高级技巧与思考

搜索引擎局限性

  1. 数据滞后性(需配合实时扫描)
  2. 漏报不可避免(数据量太大)
  3. 关联分析能力有限

自动化优化方向

  1. 减少输入:智能生成搜索关键词
  2. 避免重复扫描:结果去重和缓存
  3. 资源分配:动态调整扫描强度
  4. 结果复用:建立知识库

0x8 开发架构建议

  1. 模块化设计

    • 每个功能步骤独立封装
    • 统一输入输出接口
  2. Filter引擎

    • 支持条件组合
    • 可扩展的过滤规则
  3. 分布式扩展

    • 任务队列管理
    • 结果聚合

0x9 总结

关键实践要点:

  1. 多引擎整合可显著提高资产发现率(测试案例提升30%+)
  2. SSL证书+地域定位是高精度发现技术
  3. 实时扫描弥补搜索引擎数据滞后
  4. ASN分析应优先于C段扫描

0xA 参考资源

  1. SRC漏洞挖掘 - 前期资产收集
  2. Python Requests技巧总结
  3. 七麦数据(移动应用分析)
  4. 天眼查(企业关联分析)

本技术文档基于实际测试数据编写,提供了从基础到进阶的网络空间资产发现方法。建议结合自身需求调整自动化脚本,并注意遵守相关法律法规。

网络空间搜索引擎应用与信息收集技术指南 0x0 前言 本文从白帽子角度系统分析主流网络空间搜索引擎的优劣比较,探讨多引擎整合的必要性,并提供一套完整的信息收集流程和自动化实现思路。通过实际案例分析,展示如何利用SSL证书、favicon哈希等特征进行资产关联发现。 0x1 主流搜索引擎比较 最常用的三大网络空间搜索引擎: FoFa :hostname数据最全,支持多种特征搜索 Shodan :设备指纹识别能力强 ZoomEye :国内资产覆盖较好 0x2 信息收集基础流程 横向资产挖掘(主域名扩展) 天眼查股权结构 :获取关联子公司 备案信息查询 :相同单位备案 域名whois反查 IP反查 (获取真实IP后) 移动端信息 : 七麦数据/APP Store查找同开发商应用 微信公众号/小程序分析 纵向资产挖掘(深度特征提取) SSL证书信息提取 网站favicon哈希计算 网站标题/底部信息分析 IP分布规律分析 0x3 关键归属特征提取技术 SSL证书信息 包含目标中文名称关键词 主域名匹配 组织名称匹配 代码实现(Python示例): Favicon哈希计算 获取网站favicon.ico 计算MMH3哈希值 搜索语法对比: Shodan: http.favicon.hash:214897281 ZoomEye: iconhash:"214897281" FoFa: icon_hash="214897281" 0x4 多引擎整合技术 搜索语法对照表 | 特征类型 | Shodan语法 | ZoomEye语法 | FoFa语法 | |---------|------------|-------------|----------| | SSL证书 | ssl:"ximalaya.com" | ssl:"ximalaya.com" | cert="ximalaya.com" | | Favicon哈希 | http.favicon.hash:214897281 | iconhash:"214897281" | icon_hash="214897281" | 自动化整合脚本框架 多引擎结果分析 以 ximalaya.com SSL查询为例: Shodan结果:89个 ZoomEye结果:45个 FoFa结果:103个 三者合并去重:147个(显著高于单一引擎) 0x5 IP分布规律分析 IP来源分析技术 子域名解析 : 注意CDN干扰(通过SSL证书识别) 多地ping测试判断是否真实CDN C段聚合 : 优先分析ASN信息 再细化到C段扫描 SSL+地域定位 : 示例: cert="douyu.com" && city="Wuhan" 适用于总部所在地数据中心发现 ASN信息获取代码 0x6 WEB服务发现技术 WEB服务分类 基于IP的服务 :直接访问IP可见 基于IP+域名的服务 :需指定Host头 扫描实现方案 Masscan快速端口扫描 WEB服务识别 多进程加速 0x7 高级技巧与思考 搜索引擎局限性 数据滞后性(需配合实时扫描) 漏报不可避免(数据量太大) 关联分析能力有限 自动化优化方向 减少输入 :智能生成搜索关键词 避免重复扫描 :结果去重和缓存 资源分配 :动态调整扫描强度 结果复用 :建立知识库 0x8 开发架构建议 模块化设计 : 每个功能步骤独立封装 统一输入输出接口 Filter引擎 : 支持条件组合 可扩展的过滤规则 分布式扩展 : 任务队列管理 结果聚合 0x9 总结 关键实践要点: 多引擎整合可显著提高资产发现率(测试案例提升30%+) SSL证书+地域定位是高精度发现技术 实时扫描弥补搜索引擎数据滞后 ASN分析应优先于C段扫描 0xA 参考资源 SRC漏洞挖掘 - 前期资产收集 Python Requests技巧总结 七麦数据(移动应用分析) 天眼查(企业关联分析) 本技术文档基于实际测试数据编写,提供了从基础到进阶的网络空间资产发现方法。建议结合自身需求调整自动化脚本,并注意遵守相关法律法规。