▌一、 背景概述
当前,随着网络安全漏洞频发,快速明确责任主体、推动漏洞及时修复与责任落实显得尤为紧迫。然而,在处理海量网络资产和复杂的网络架构时,仅依靠IP地址难以准确识别其所属单位,这已成为我们共同面临的重要挑战。
市面上常见的IP数据库,如:IPIP、IP2Location等,主要用于传统的IP地理位置查询,无法满足对IP背后具体机构或组织的精准标定需求。在国内,ICP备案库提供了一定程度上的权威参考;但当涉及到海外IP时,我们如何有效溯源成为了一大难题。“IP背后究竟是谁?该去哪查?”这一问题在当前的网络安全治理中尤为突出。因此,构建一个更加高效、准确的IP归属识别机制成为了急需解决的现实难题。
但值得注意的是,尽管IP地址变动频繁,但我们可以通过分析IP的各种属性(包括域名、证书、标题等)来进行综合研判。基于这些相对不变的特征,催生了对IP资产进行深度挖掘与机构标定的技术需求。目前,主要通过网络空间测绘引擎(如FOFA、SHODAN、Censys 等)执行全网扫描与画像分析,辅助实现从IP到机构的精准映射。这种IP标定技术将在漏洞管理、威胁溯源、合规审计等多个场景中扮演关键角色,为厘清责任边界、提升响应效率提供强有力的支持。
▌二、数据采集与准备
在IP资产标定过程中,获取准确且全面的基础属性数据是实现精准归属判定的关键前提。由于IP地址本身具有变动性,直接通过IP定位所属机构存在较大难度,因此需要依赖其承载的稳定业务属性(如域名、SSL证书、网站标题等)进行深度挖掘与关联分析。
为了提升数据采集效率,本文选取GoFOFA作为示例工具,基于其命令行接口开展批量数据获取与分析工作。作为一种高效的API调用工具,GoFOFA能够快速将目标IP列表转化为包含IP地址、端口、协议、标题、证书信息及所属组织等关键字段的结构化数据,为后续的数据分析与责任主体识别提供坚实的数据支撑。
GoFOFA下载地址:https://github.com/FofaInfo/GoFOFA
使用GoFOFA的search模块进行数据采集和分析,使用方式示例如下:
fofa search --template "ip={}" -i IP.txt -f "ip,port,protocol,country,city,title,cert.subject.cn,cert.subject.org"
参数解析
参数 说明
|
使用模板,每个 |
|
指定输入文件为 |
|
查询返回字段 |
常用字段说明:
-
cert.subject.cn
:证书通用名称(如*.apple.com
)
-
cert.subject.org
:证书持有组织(如Apple Inc.
)
-
protocol
:服务协议(http
/mysql
/ssh
等)
-
title
:网站标题(可能包含公司名,如“XX公司后台管理系统”)
结果如下图所示:
接口参数的使用可以参考fofa自行调整:https://fofa.info/api
三、数据标定
3.1、单位标定流程
在进行资产归属判定时,我们定了一个明确的优先级顺序:
1、首先排除CDN服务;
2、接着通过域名关联单位;
3、然后利用SSL/TLS证书信息进一步确认;
4、随后使用特定协议响应或产品特征作为补充;
5、最终借助标题、C段等辅助信息进行验证。
之所以选择这样的顺序,是因为域名直接关联到具体的组织或企业,提供了最直观且可靠的归属线索;而SSL/TLS证书则进一步通过法律实体名称(如Org字段)增强了确认的准确性,特别是在处理HTTPS站点时尤为关键。特定协议响应和产品特征则为那些无法通过前两种方法明确归属的情况提供了额外的信息来源,最后借助辅助信息确保最大程度上的精确性。这种层次分明的方法不仅提高了判断的可靠性,还能有效减少误判的可能性,确保整个标定过程既高效又准确。
具体流程如下:
单位标定按照以下流程顺序进行:
3.1.1 排除CDN
在IP资产归属判定过程中,如果某个IP地址属于CDN网络,则该IP可能被多个组织或用户共享使用。因此,仅凭IP本身很难判断其背后的具体使用者。通常情况下,只需识别出该IP所属的CDN服务提供商即可,无需进一步细化到最终用户。
为了识别一个IP是否属于CDN,我们可以通过多种方式进行初步判断,包括查看该IP对应的自治系统号(ASN)、HTTP响应头信息、组织名称(Org)以及服务器标识(HTTP Server)等。这些信息可以在FOFA等平台中查询获取。
常见判断方法如下:
在确定一个IP地址是否属于CDN时,我们通常采用以下四种方法:ASN、Header、Org、HTTP Server。这些信息可以在FOFA.info等平台上查看。
ASN (自治系统号)
ASN是互联网中每个自治系统(如企业、机构)的唯一编号。一些特定的ASN号段通常与CDN服务商相关联,例如 AS10576、AS133496、AS200856 等。通过查询IP对应的ASN,可以辅助判断其是否属于CDN。
通过查询IP地址对应的ASN,我们可以初步判断该IP是否可能属于某个CDN提供商。
此外,互联网上也有许多工具可以帮助验证ASN是否与CDN相关联,如:https://ipinfo.io/
Header (HTTP头部信息)
某些CDN服务会在HTTP响应头中添加特定标识,比如 x-cdn-provider
、cf-ray
、x-cache-hit
等字段。检测到这些字段时,往往意味着当前IP属于某个CDN服务。
通过FOFA查询IP地址信息,可以看到HTTP头部信息。
通过搜索引擎查询验证,Fastly是CDN服务,当然也可以使用ASN号来验证。
Org (组织名称)
在查询结果中,有时会显示该IP所属的组织名称。如果组织名中包含类似 “Cloudflare”、“Fastly”、“Akamai”、“Edgecast” 等关键词,也基本可以确认为CDN服务。
以org="AKAMAI-AS"为例:
通过搜索引擎来验证。
HTTP Server(服务)
一些CDN服务在网站Banner或HTTP响应头中会暴露其服务类型,例如显示为 cloudflare
、fastly
、akamaighost
等关键字,也可作为判断依据之一。
需要注意的是,以上方法主要用于快速识别CDN IP,并不能完全覆盖所有情况。如有不确定的情况,建议结合其他信息(如域名、证书)进行综合判断。
3.1.2 域名标定单位
排除CDN后,对于绑定域名的IP,需通过人工分析域名归属标定单位。若同一IP关联的多个域名属于同一主体(如主域名一致或同属一家公司),可直接标定;否则进入下一步流程。
1.2.1 域名获取
域名获取方法:
-
FOFA在线平台:直接查询IP关联域名。
-
FOFA客户端:支持批量处理IP列表。
示例:查询IP 17.23.18.34
(FOFA语法:ip="17.23.18.34"
),结果显示其绑定域名为 gdmf.apple.com
。根据域名后缀(.apple.com
)可判定所属单位为苹果公司。
也可以使用FOFA客户端,将需要标定的IP放到txt文本中,本方法适用于大批量IP的标定,使用命令:
fofa dump -i ip.txt -bt ip -fields ip,domain -o dump5.csv
命令参数说明:
-i ip.txt
:输入文件(每行一个IP)。
-bt ip
:指定查询类型为IP。
-fields ip,domain
:输出IP和域名字段。
-o dump5.csv
:结果保存为CSV文件。
结果如下:
1.2.2 判定规则
-
明确归属:若同一IP的多个域名属于同一主域名(如
a.apple.com
和b.apple.com
),直接标定。
-
冲突处理:多域名归属不同时,优先采用主域名或WHOIS注册信息。
-
例外情况:泛解析域名或隐私保护的域名需结合其他属性(如证书)验证。
1.2.3 归属判定
域名获取到单位的方法:
1.2.3.1 whois
对于获取到的域名可以通过whois命令获取归属信息,主要获取注册人、组织、注册地址、手机号码、邮箱等信息。
whois apple.com
1.2.3.2 搜索引擎
在搜索引擎搜索域名,获取域名官网公司名称,公司简介,以bing搜索引擎为例。
1.2.3.3 ICP备案(仅适用于国内域名)
只针对在国内有备案的域名:https://beian.miit.gov.cn/
1.2.3.4 fofa中获取
获取fofa上绑定域名的网站响应内容,从中获取Web信息(标题、描述、版权等),从中寻找是否有单位名。
3.1.3 证书-单位
如果某个IP地址不属于CDN,且无法通过域名关联到具体单位,那么可以通过分析其绑定的SSL/TLS证书来判断归属。证书中的以下字段尤为重要……
-
Organization
(证书持有者组织):通常为企业/机构全称(如Apple Inc.
)
-
CommonName
(通用名称):一般为域名(如*.apple.com
),需注意排除泛域名
操作示例:
通过FOFA在线平台查询 输入查询语法:
ip="17.171.47.23"
在结果中查看证书字段:
-
cert.subject.org
→ 显示Apple Inc.
-
cert.subject.cn
→ 显示*.apple.com
结论
:该IP归属苹果公司。
-
通过FOFA客户端批量查询
fofa search -f domain,cert.subject.cn,cert.subject.org "ip=\"17.171.47.23\""
注意事项
1. 字段优先级:
- 优先采用
Organization
(直接体现法律实体) -
CommonName
需排除泛解析域名(如*.cloudflare.com
)
2. 冲突处理:
- 若证书字段与WHOIS信息矛盾,以证书为准。
3. 局限性:
- 对于自签名证书需要做进一步筛选,是产品型号的证书需要排除掉。
3.1.4 其他辅助判定方法
3.1.4.1 特定协议
当通过 CDN、域名、证书等常规手段无法明确资产归属时,特定网络协议的响应内容可成为关键线索来源。这些协议在交互过程中往往会暴露服务器标识、域名或产品信息,从而帮助我们反推资产所属单位。这种方法依赖于从协议交互中提取出的关键标识(如 host 信息),以便进一步关联到具体的组织或企业。
常用协议及其应用方法:
我们常用的协议包括但不限于 SMTP、SMTPS、DNS、FTP、POP3、IMAP 和 RDP 等。通过 FOFA 查询 IP 信息,并找到指定协议服务,可以查看返回的 banner 信息以获取泄露的 host 或其他相关信息。
如下图所示:
SMTPS协议
FTP 协议
RDP协议
3.1.4.2 特定产品
特定产品中获取域名,例如F5登录页面Hostname中有域名。
3.1.4.3 title
从fofa上获取Web信息(标题、描述、版权等),从中寻找是否有单位名称或者关键特征。
3.1.4.4 C段
统计C段标题数量第一的,如果标题有单位名称,再判断这个IP是否是该单位的IP,例如看这个IP上网站的图标是否跟找到的单位相似。
以下截图可以看出,154.213.28.5,154.213.28.7,154.213.28.9,154.213.28.11都是同一家公司,甚至有理由怀疑,154.213.28.26也是属于这一家公司。
四、总结
尽管当前的方法已经在实际应用中发挥了不错的效果,但随着网络环境变得越来越复杂,涉及的数据量也日益庞大,所有标定都会来源于多方数据的综合研判,仅靠人工处理这些任务变得越来越吃力。而通过自动化的手段也很难做到完全自动化的识别。
那么,我们是否可以借助AI技术,让这个过程更快、更准、更自动化。
具体来说,AI可以通过智能提取和分析特征字段(如host信息、服务标识、响应头等),将这些信息汇总后进行深度学习和模式识别。这样不仅可以提高处理速度,还能显著提升判断的准确性,尤其是在面对海量数据时表现尤为突出。因此,利用AI技术,可以是否使IP地址的归属单位标定工作变得更加高效可靠?更适应日益复杂的网络环境需求呢?