type
status
date
slug
summary
tags
category
icon
password

0×01 前言

什么是网络探测
网络探测指对计算机网络或DNS服务器进行扫描,获取有效的地址、活动端口号、主机操作系统类型和安全弱点的攻击方式。

0×02 网络探测技术分类

网络环境信息包括网络拓扑结构、主机、主机开放的网络服务以及存在的漏洞等,对网络环境信息的获取工具可以按照其是否对目标发起主动的探测分为两大类:主动探测与被动探测。
主动探测是传统的扫描方式,它是通过给目标主机发送特定的包并收集回应包来取得相关信息的,从而确定其操作系统、开启的端口以及存在的漏洞等信息(无响应本身也是信息,表明可能存在过滤设备将探测包或探测回应包过滤了)。属于此类的开源工具有nmap和nessus。主动扫描的优势在于通常能较快获取信息,准确性也比较高。缺点在于一方面易于被发现,很难掩盖扫描痕迹;另一方面要成功实施主动扫描通常需要突破防火墙,但突破防火墙是很困难的。
被动探测是通过监听网络包来取得信息。根据数据包中包含的指纹提取对应的一些网络环境信息,属于此类的开源工具有p0f(被动操作系统辨识工具)和pads(被动网络服务发现工具)。被动扫描一般只需要监听网络流量而不需要主动发送网络包,也不易受防火墙影响。该探测技术的主要优点是对它的检测几乎是不可能的。而其主要缺点在于速度较慢而且准确性较差,当目标不产生网络流量时,就无法得知目标的任何信息。

0×03 FOFA网络空间探测引擎

1 概述

FOFA是白帽汇推出的一款网络空间资产搜索引擎。 它能够帮助企业客户迅速进行网络资产匹配、加快后续工作进程。 例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。

2 查询语法

直接输入查询语句,将从标题,html内容,http头信息,url字段中搜索
  • title="abc" 从标题中搜索abc。例:标题中有北京的网站
  • header="abc" 从http头中搜索abc。例:jboss服务器
  • body="abc" 从html正文中搜索abc。例:正文包含Hacked by
  • domain="qq.com" 搜索根域名带有qq.com的网站。例: 根域名是qq.com的网站
  • host=".gov.cn" 从url中搜索.gov.cn,注意搜索要用host作为名称。例: 政府网站, 教育网站
  • port="443" 查找对应443端口的资产。例: 查找对应443端口的资产
  • ip="1.1.1.1" 从ip中搜索包含1.1.1.1的网站,注意搜索要用ip作为名称。例: 查询IP为220.181.111.1的网站; 如果想要查询网段,可以是:ip="220.181.111.1/24",例如查询IP为220.181.111.1的C网段资产
  • protocol="https" 搜索指定协议类型(在开启端口扫描的情况下有效)。例: 查询https协议资产
  • city="Hangzhou" 搜索指定城市的资产。例: 搜索指定城市的资产
  • region="Zhejiang" 搜索指定行政区的资产。例: 搜索指定行政区的资产
  • country="CN" 搜索指定国家(编码)的资产。例: 搜索指定国家(编码)的资产
  • cert="google" 搜索证书(https或者imaps等)中带有google的资产。例: 搜索证书(https或者imaps等)中带有google的资产
  • banner=users && protocol=ftp 搜索FTP协议中带有users文本的资产。例: 搜索FTP协议中带有users文本的资产
  • type=service 搜索所有协议资产,支持subdomain和service两种。例: 搜索所有协议资产
  • os=windows 搜索Windows资产。例: 搜索Windows资产
  • server=="Microsoft-IIS/7.5" 搜索IIS 7.5服务器。例: 搜索IIS 7.5服务器
  • app="海康威视-视频监控" 搜索海康威视设备,更多app规则。例: 搜索海康威视设备
  • after="2017" && before="2017-10-01" 时间范围段搜索。例: 时间范围段搜索,注意: after是大于并且等于,before是小于,这里 after="2017" 就是日期大于并且等于 2017-01-01 的数据,而 before="2017-10-01" 则是小于 2017-10-01 的数据
  • asn="19551" 搜索指定asn的资产。例: 搜索指定asn的资产
  • org="Amazon.com, Inc." 搜索指定org(组织)的资产。例: 搜索指定org(组织)的资产
  • base_protocol="udp" 搜索指定udp协议的资产。例: 搜索指定udp协议的资产
  • is_ipv6=true 搜索ipv6的资产,只接受true和false。例: 搜索ipv6的资产
  • is_domain=true 搜索域名的资产,只接受true和false。例: 搜索域名的资产
  • ip_ports="80,443" 或者 ports="80,443" 搜索同时开放80和443端口的ip资产(以ip为单位的资产数据)。例: 搜索同时开放80和443端口的ip
  • ip_ports=="80,443" 或者 ports=="80,443" 搜索同时开放80和443端口的ip资产(以ip为单位的资产数据)。例: 搜索只开放80和443端口的ip
  • ip_country="CN" 搜索中国的ip资产(以ip为单位的资产数据)。例: 搜索中国的ip资产
  • ip_region="Zhejiang" 搜索指定行政区的ip资产(以ip为单位的资产数据)。例: 搜索指定行政区的资产
  • ip_city="Hangzhou" 搜索指定城市的ip资产(以ip为单位的资产数据)。例: 搜索指定城市的资产
  • ip_after="2019-01-01" 搜索2019-01-01以后的ip资产(以ip为单位的资产数据)。例: 搜索2019-01-01以后的ip资产
  • ip_before="2019-01-01" 搜索2019-01-01以前的ip资产(以ip为单位的资产数据)。例: 搜索2019-01-01以前的ip资产
高级搜索:可以使用括号 和 && || !=等符号,如title="powered by" && title!=discuztitle!="powered by" && body=discuz( body="content="WordPress" || (header="X-Pingback" && header="/xmlrpc.php" && body="/wp-includes/") ) && host="gov.cn"新增完全匹配的符号,可以加快搜索速度,比如查找qq.com所有host,可以是domain"qq.com"

3 API调用

查询接口

输入下列请求所需的qbase64,返回json数据格式
字段名
类型
内容
qbase64
string
经过base64编码后的查询语法,支持domain,host,ip,header,body,title,运算符支持== = != =~
page
integer
每页返回记录数,普通用户默认为10000条,vip用户默认为100条,最大可设置为10000条
size
integer
每页返回记录数,普通用户默认为10000条,vip用户默认为100条,最大可设置为10000条
fields
string
【可选参数】字段列表,默认为host,用逗号分隔多个参数,如(fields=ip,title),可选的列表有:host title ip domain port country province city country_name header server protocol banner cert isp as_number as_organization latitude longitude lastupdatetime注意:country是国家代码,例如CN, country_name是国家名称
full
boolean
默认为false,是否搜索全部数据,默认和页面搜索一样,只能搜索一年内的数据,指定为true搜索全部数据

接口返回

字段名
类型
内容
mode
string
查询模式:mode返回为"normal"代表普通查询(q=words),mode返回为"extended"代表高级查询(如q=domain=fofa.so,q=title=fofa,采用高级条件搜索)
page
integer
当前请求页的页数
size
integer
请求返回结果的个数
results
array
请求返回结果的详情数组
返回示例

4 代码实现

notion image
notion image

0×04 SHODAN搜索引擎

1 概述

Shodan是一个搜索互联网连接设备的搜索引擎,不同于谷歌、必应、百度这些搜索引擎。用户可以在Shodan上使用Shodan搜索语法查找连接到互联网的摄像头、路由器、服务器等设备信息。在渗透测试中,是个很不错的神器。

2 查询语法

字段
解释
例子
hostname
搜索指定的主机或域名
hostname:"sina.com"
port
搜索指定的端口
port:"80"
country
搜索指定的国家
country:"China"
city
搜索指定的城市
city:"Beijing"
product
搜索指定的操作系统/软件
product:"apache"
version
搜索指定的软件版本
version:"7.1.4"
net
搜索指定的IP地址或子网
net:"117.44.67.0/24"

3 API调用

key
注册账号,获得API Key
query
Shodan搜索查询。所提供的字符串用于搜索Shodan中的标语数据库,并带有附加选项以使用“ filter:value”格式在搜索查询中提供过滤器。例如,以下搜索查询将找到位于德国的Apache Web服务器:"apache country:DE"。当前支持以下过滤器:
notion image
notion image
notion image
 
facets
notion image
用逗号分隔的属性列表,以获取摘要信息。属性名称也可以采用"property:count"的格式,其中"count"是将为属性返回的构面数(即"country:100"将获得搜索查询的前100个国家/地区)。当前支持以下方面:
notion image
notion image
notion image
返回例子

4 代码调用

常用 Shodan 库函数
  • shodan.Shodan(key) :初始化连接API
  • Shodan.count(query, facets=None):返回查询结果数量
  • Shodan.host(ip, history=False):返回一个IP的详细信息
  • Shodan.ports():返回Shodan可查询的端口号
  • Shodan.protocols():返回Shodan可查询的协议
  • Shodan.services():返回Shodan可查询的服务
  • Shodan.queries(page=1, sort='timestamp', order='desc'):查询其他用户分享的查询规则
  • Shodan.scan(ips, force=False):使用Shodan进行扫描,ips可以为字符或字典类型
  • Shodan.search(query, page=1, limit=None, offset=None, ufacets=None, minify=True):查询Shodan数据

0×05 ZOOMEYE搜索引擎

1 概述

ZoomEye 平台为广大网络研究爱好者和极客们提供了强大的 Restful API,通过它能够更好的与平台相连接,使用ZoomEye 平台提供的资源, 构建有意思的应用。 所以尽情发挥你的想象力吧,精彩的网络空间,等待你去探索。

2 查询语法

名称
类型
说明
是否必须
示例
query
string
查询关键词
必须
port:80 nginx
page
integer
翻页参数(默认为1)
可选
7
facets
string
统计项目。如果为多个,使用逗号分隔各个统计项
可选
app,device

3 API调用

主机设备搜索过滤器
名称
类型
说明
示例
app
string
应用,产品
app: ProFTD
ver
string
版本
ver:2.1
device
string
设备类型
device:router
os
string
操作系统
os:windows
service
string
服务类型
service:http
ip
string
IP 地址
ip:192.168.1.1
cidr
string
CIDR 格式地址
cidr:192.168.1.1/24
hostname
string
主机名称
hostname:google.com
port
string
端口号
port:80
city
string
城市名称
city:beijing
country
string
国家名称
country:china
asn
string
ASN 号码
asn:8978
Web 应用搜索过滤器
名称
类型
说明
示例
app
string
Web 应用信息
webapp:wordpres
header
string
HTTP headers
header:server
keywords
string
meta 属性关键词
keywords:baidu.com
desc
string
HTTP description 属性
desc:hello
title
string
HTTP Title 标题信息
title: baidu
ip
string
IP 地址
ip:192.168.1.1
site
string
site 搜索
site:baidu.com
city
string
城市名称
city:beijing
country
string
国家名称
country:china
返回值
名称
类型
说明
matches
string
结果集
facets
string
统计结果
total
string
结果总数
响应示例
HOST固定属性
notion image
WEB固定属性
notion image
notion image

4 代码调用

notion image

0×06 探测资产对比

字段
说明
zoomeye
fofa
shodan
ip
IP 地址
ip
ip
ip_str
asn
ASN 号
geoinfo.asn
as_number
asn
city
城市
geoinfo.city
city
location.city
province
province
country_code
国家码
geoinfo.country.code
country
location.country_code
country
国家名
geoinfo.country.name
country_name
location.country_name
continent_code
洲际码
geoinfo.continent.code
continent_name
洲际名
geoinfo.continent.name
latitude
纬度
geoinfo.location.latitude
latitude
location.latitude
longitude
经度
geoinfo.location.longitude
longitude
location.longitude
port
端口号
port
port
port
banner
端口指纹信息
banner
banner
data
server
产品名称
portinfo.app
server
product
hostname
主机名
portinfo.hostname
host
hostnames
os
操作系统名称
portinfo.os
os
version
产品,应用版本信息
portinfo.version
info
额外信息
portinfo.info
device
设备类型
portinfo.device
tags
title
标题
title
domain
域名
domain
domains
header
http头
header
protocol
协议
protocol
transport
cert
证书
cert
isp
互联网供应商
isp
isp
lastupdatetime
最后更新时间
lastupdatetime
timestamp
org
组织
as_organization
org
组织代码
as_number