网络空间测绘技术
概述
网络空间测绘是一种对网络空间中的实体和关系进行描述的技术手段,主要包括探测、分析和数据绘制三个核心环节。这项技术从地理测绘技术延伸而来,借鉴了地理测绘的理论、技术和方法,对网络空间中各种资产及其信息进行主动或被动地探测、采集与分析,绘制实时、可靠、有效的网络空间地图。
对象与特点
网络空间测绘的主要对象是网络空间组成要素中的载体及资源,也称为网络空间资产。这些资产具有四大特点:
- 范畴广:应用于各行各业、各种领域,使用范围大、用途广。
- 数量大:可以使用超过42亿的IPv4地址空间、用之不竭的IPv6地址空间和域名,数量极其庞大。
- 种类多:涉及软件、硬件、服务、数据等多种形态,比如业务系统、工控设备、终端、应用软件等。
- 变化快:涉及IP变化、端口变化、域名变化、服务变化、资产变化、存活性变化、属主变化等。
这些特点导致网络违法成本低、监管难、防范难等问题出现,也使得网络空间测绘工作变得尤为重要且具有挑战性。
应用价值
网络空间测绘技术具有广泛的应用场景,主要包括:
- 资产管理:帮助组织了解自己的网络资产,包括内部和外部可见的设备和服务。
- 安全监测:识别潜在的攻击面和安全漏洞,提高网络安全防护能力。
- 合规性检查:确保网络资源符合相关的法规和标准。
- 业务洞察:分析网络流量和设备使用情况,优化网络性能和资源分配。
- 威胁情报:跟踪和分析网络中的异常活动,预测和响应可能的网络攻击。
- 国家安全:政府和军事机构使用网络空间测绘来监视和防御网络空间的威胁。
- 法律执行:执法机构可以利用网络空间测绘技术追踪非法活动的来源。
- 应急响应:在网络安全事件发生时,快速定位受影响的网络区域,加速响应和恢复过程。
网络空间资产搜索引擎
FOFA
基本功能
FOFA具有以下核心功能:
- 知道某产品在互联网的部署情况
- 获取一个根域名所有子域名网站
- 根据IP确认企业
- 根据一个子域名网站找到跟他在一个IP的其他网站
- 全网漏洞扫描
- 分析新漏洞的全网影响范围
搜索语法
- 基本搜索:
title="abc"
:从标题中搜索abcheader="abc"
:从http头中搜索abcbody="abc"
:从html正文中搜索abcdomain="qq.com"
:搜索根域名带有qq.com的网站host=".gov.cn"
:从url中搜索.gov.cnport="443"
:查找对应443端口的资产ip="1.1.1.1"
:从ip中搜索包含1.1.1.1的网站protocol="https"
:搜索指定协议类型
- 地理位置搜索:
city="Hangzhou"
:搜索指定城市的资产region="Zhejiang"
:搜索指定行政区的资产country="CN"
:搜索指定国家(编码)的资产
- 证书搜索:
cert="google"
:搜索证书(https或者imaps等)中带有google的资产
- 高级搜索:
banner=users && protocol=ftp
:搜索FTP协议中带有users文本的资产type=service
:搜索所有协议资产os=windows
:搜索Windows资产server=="Microsoft-IIS/7.5"
:搜索IIS 7.5服务器app="海康威视-视频监控"
:搜索海康威视设备
- 时间范围搜索:
after="2017" && before="2017-10-01"
:时间范围段搜索
- 逻辑运算符:
&&
:逻辑与||
:逻辑或!=
:逻辑非
例如:title="powered by" && title!=discuz
应用实例
搜索页面标题中含有”后台管理”关键词的网站和IP
1
title="后台管理"
搜索HTTP响应头中含有”thinkphp”关键词的网站和IP
1
header="thinkphp"
搜索html正文中含有”管理后台”关键词的网站和IP
1
body="管理后台"
搜索开放3389端口并且位于中国的IP
1
port="3389" && country="CN"
搜索同时开启3306端口、443端口和22端口的IP
1
ports="1433,3306,3389"
搜索只开启3306端口、443端口和22端口的IP
1
ports=="1433,3306,3389"
搜索证书中含有”phpinfo.me”关键词的网站和IP
1
cert="phpinfo.me"
Shodan
基本功能
- 搜索互联网上的各种设备,而不仅仅是网站
- 识别特定类型的设备(如摄像头、路由器等)
- 查找特定服务或软件(如Apache、Nginx等)
- 发现开放端口和运行的服务
- 获取设备的元数据和技术细节
搜索语法
Shodan的搜索语法与FOFA类似,但有一些独特的字段:
- 基本搜索:
apache
:搜索运行Apache服务的设备port:21
:搜索开放21端口的设备os:"Windows 7"
:搜索运行Windows 7操作系统的设备net:"192.168.1.0/24"
:搜索特定网段
- 产品/服务搜索:
product:"MySQL"
:搜索MySQL数据库version:"1.0"
:搜索特定版本的服务ssl:"https"
:搜索支持HTTPS的设备
- 地理位置搜索:
country:"US"
:搜索位于美国的设备city:"London"
:搜索位于伦敦的设备geo:"52.52,13.40"
:搜索特定坐标附近的设备
- 时间搜索:
before:"2022-01-01"
:搜索在2022年1月1日之前发现的设备after:"2021-01-01"
:搜索在2021年1月1日之后发现的设备
应用实例
搜索运行Apache服务的主机
1
apache
搜索中国的MySQL数据库
1
product:MySQL country:CN
搜索开放3389端口(远程桌面)的设备
1
port:3389
搜索特定IP范围的FTP服务
1
port:21 net:"220.181.0.0/16"
搜索位于纽约的摄像头
1
webcam city:"New York"