写在前面
原文链接:https://payloads.online/archivers/2024-10-23/search-ip-via-rdap/
转发已经作者同意
前言
在传统的渗透测试初始阶段,我们通常依赖域名备案信息、企业工商信息和网络空间测绘数据来确定资产归属。然而,这些方法可能存在信息不完整或过时的问题。本文将介绍一种创新的方法来精确界定资产范围:利用注册数据访问协议(RDAP)。
RDAP作为Whois协议的现代化替代品,提供了更全面、准确和实时的域名注册信息。通过RDAP,我们可以获取域名持有者、管理员联系方式、注册和到期日期等关键信息,从而更有效地识别和验证目标资产。此外,RDAP的结构化数据格式便于自动化处理,能够显著提高资产梳理的效率。
在接下来的章节中,我们将深入探讨如何利用RDAP数据进行资产边界确定,包括查询技巧、数据解析方法以及与其他信息源的交叉验证策略。通过掌握这种新方法,安全专业人员可以更全面、准确地评估目标环境,为后续的渗透测试工作奠定坚实基础。
什么是注册数据访问协议?
注册数据访问协议(RDAP)是一种用于访问互联网域名注册数据的协议。RDAP提供了一种比传统的Whois协议更安全和结构化的方式来查询域名、IP地址和自治系统号码的信息。它支持认证和授权、国际化以及标准化的数据格式,旨在解决Whois协议中的许多限制和缺陷。
注册数据访问协议(RDAP)的发展始于2011年,由互联网工程任务组(IETF)负责制定。RDAP的目标是取代传统的Whois协议,解决其在安全性、隐私保护、数据格式标准化等方面的不足。2015年,IETF正式发布了RDAP的相关标准文档,使其成为互联网域名注册数据访问的现代化协议。
IANA - 互联网分配号码权威机构
在探讨RDAP协议之前,我们必须提及IANA(Internet Assigned Numbers Authority,互联网分配号码权威机构)。IANA是互联网的基石之一,负责全球互联网的唯一标识符分配和协调工作。它的核心职能包括管理DNS根区域、分配IP地址和自治系统编号,以及注册互联网协议的相关参数。作为一个关键的技术组织,IANA确保了互联网的稳定性和互通性,让全球的用户和信息得以顺畅连接。
中国与IANA的关系主要体现在中国作为全球互联网的重要组成部分,积极参与全球互联网的治理和技术发展。中国通过其国家域名注册机构CNNIC(China Internet Network Information Center)参与IANA的相关工作,负责中国国家顶级域名.cn的注册和管理,以及IP地址资源的分配与管理,其他国家也是类似的情况。2016年,IANA的管理权从美国政府正式移交给了全球互联网社群,这一过程中,中国作为多利益相关方之一,参与了相关的讨论和决策,因此我们可以通过IANA公开的信息获取到不同国家分配的IP地址范围。
通过RDAP数据获取国家/组织分配的IP范围
RDAP 是基于RESTful的Web服务,因此错误代码、用户标识、身份认证和访问控制可以通过HTTP协议进行提供,我们可以使用简单的Curl工具访问RDAP数据,而RDAP数据分别由区域互联网注册管理机构分别管理,如果要访问中国的网络分配资源,我们需要查找到对应的服务器。
现在世界上有五个正在运作的区域互联网注册管理机构:
美洲互联网号码注册管理机构(American Registry for Internet Numbers,ARIN) 欧洲IP网络资源协调中心 亚太网络信息中心(Asia-Pacific Network Information Centre,APNIC) 拉丁美洲及加勒比地区互联网地址注册管理机构(Latin American and Caribbean Internet Address Registry,LACNIC) 非洲网络信息中心(African Network Information Centre,AfriNIC)
下文中简称 “信息中心”。
了解完毕所有的前置知识后,我们可以开始查询全球的IPv4地址分配情况:
https://data.iana.org/rdap/ipv4.json
这个网址是IANA互联网分配号码权威机构的数据网址,上面显示了全球的IPv4在不同信息中心的分配情况,我在中国解析后的地址是属于ICANN的,可见应该是做了一些网络优化。
在响应的Json结构中,我们可以先关注一下APNIC的数据,这部分指的是亚太信息中心管理的IP资源,而中国区域就属于这部分:
.....
[
"1.0.0.0/8",
"14.0.0.0/8",
"27.0.0.0/8",
"36.0.0.0/8",
"39.0.0.0/8",
"42.0.0.0/8",
"43.0.0.0/8",
"49.0.0.0/8",
"58.0.0.0/8",
"59.0.0.0/8",
"60.0.0.0/8",
"61.0.0.0/8",
"101.0.0.0/8",
"103.0.0.0/8",
"106.0.0.0/8",
"110.0.0.0/8",
"111.0.0.0/8",
"112.0.0.0/8",
"113.0.0.0/8",
"114.0.0.0/8",
"115.0.0.0/8",
"116.0.0.0/8",
"117.0.0.0/8",
"118.0.0.0/8",
"119.0.0.0/8",
"120.0.0.0/8",
"121.0.0.0/8",
"122.0.0.0/8",
"123.0.0.0/8",
"124.0.0.0/8",
"125.0.0.0/8",
"126.0.0.0/8",
"133.0.0.0/8",
"150.0.0.0/8",
"153.0.0.0/8",
"163.0.0.0/8",
"171.0.0.0/8",
"175.0.0.0/8",
"180.0.0.0/8",
"182.0.0.0/8",
"183.0.0.0/8",
"202.0.0.0/8",
"203.0.0.0/8",
"210.0.0.0/8",
"211.0.0.0/8",
"218.0.0.0/8",
"219.0.0.0/8",
"220.0.0.0/8",
"221.0.0.0/8",
"222.0.0.0/8",
"223.0.0.0/8"
],
[
"https://rdap.apnic.net/"
]
]
....
APNIC的RDAP数据库保存在https://rdap.apnic.net/上面,我们继续在这个网址后面增加上面的IP地址段,则会得到这些IP被分配的信息:
例如查询:223.0.0.0 ⇒ https://rdap.apnic.net/ip/223.0.0.0
....
"remarks": [
{
"description": [
"Beijing Beilong Yunhai Network Data Technology Corporation",
"",
"HuaiRou, Beijing, China"
],
"title": "description"
}
],
"links": [
{
"value": "https://rdap.apnic.net/ip/223.0.0.0",
"rel": "self",
"href": "https://rdap.apnic.net/ip/223.0.0.0/15",
"type": "application/rdap+json"
},
{
"value": "https://rdap.apnic.net/ip/223.0.0.0",
"rel": "related",
"href": "https://netox.apnic.net/search/223.0.0.0%2F15?utm_source=rdap&utm_medium=result&utm_campaign=rdap_result",
"type": "text/html"
}
],
"status": [
"active"
],
"type": "ALLOCATED PORTABLE",
"endAddress": "223.1.255.255",
"ipVersion": "v4",
"startAddress": "223.0.0.0",
"objectClassName": "ip network",
"handle": "223.0.0.0 - 223.1.255.255",
"entities": [
{
"roles": [
"abuse"
],
"events": [
{
"eventAction": "registration",
"eventDate": "2021-09-06T08:20:56Z"
},
{
"eventAction": "last changed",
"eventDate": "2021-11-02T06:50:00Z"
}
],
"links": [
{
"value": "https://rdap.apnic.net/ip/223.0.0.0",
"rel": "self",
"href": "https://rdap.apnic.net/entity/IRT-CNBIDCC-CN",
"type": "application/rdap+json"
}
]
....
看到这里我们就可以很清晰的解读了:
IP地址段:223.0.0.0 - 223.1.255.255
企业公司:Beijing Beilong Yunhai Network Data Technology Corporation
当然,我们可以查询到的信息不止这么多,使用whois查询工具也可以查询,数据基本上我们刚刚手动完成查询的相同:
╭─arch@archlinux ~
╰─$ whois 223.0.0.1
% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
% Information related to '223.0.0.0 - 223.1.255.255'
% Abuse contact for'223.0.0.0 - 223.1.255.255' is 'djn@cnic.cn'
inetnum: 223.0.0.0 - 223.1.255.255
netname: CNBIDCC
descr: Beijing Beilong Yunhai Network Data Technology Corporation
descr: #88, YangYan Road, Yanqi Economic Development Zone,
descr: HuaiRou, Beijing, China
country: CN
admin-c: YW7200-AP
tech-c: YW7200-AP
mnt-by: MAINT-CNNIC-AP
mnt-lower: MAINT-CNNIC-AP
mnt-irt: IRT-CNBIDCC-CN
mnt-routes: MAINT-CNNIC-AP
status: ALLOCATED PORTABLE
last-modified: 2021-11-02T07:48:00Z
source: APNIC
irt: IRT-CNBIDCC-CN
address: #88, YangYan Road, Yanqi Economic Development Zone,
address: HuaiRou, Beijing, China
e-mail: djn@cnic.cn
abuse-mailbox: djn@cnic.cn
admin-c: YW7200-AP
tech-c: YW7200-AP
auth: # Filtered
mnt-by: MAINT-CNNIC-AP
last-modified: 2021-11-02T06:50:00Z
source: APNIC
person: Dong Jinong
address: 88 Yangyan Road, Yanqi Economic Development Zone,
address: Huairou District, Beijing
country: CN
phone: +86-13811566856
e-mail: djn@cnic.cn
nic-hdl: YW7200-AP
mnt-by: MAINT-CNNIC-AP
last-modified: 2021-11-02T06:43:08Z
source: APNIC
% This query was served by the APNIC Whois Service version 1.88.25 (WHOIS-AU2)
如果你阅读到这里,相信你已经可以理解国内的一些IP地址查询网站是如何做的了: 站长工具(https://tool.chinaz.com/ipwhois?q=223.0.0.0)
但为什么域名有些时候无法查询?我经过查询维基百科,里面写了这一段:RDAP协议已注册的名称资源的RDAP数据库在与ICANN达成协议后进行维护。DNS资源要慢得多,因为ICANN下的注册管理机构数量庞大。此外,随着 GDPR 在2018年5月开始实施,WHOIS和RDAP导致的个人信息泄露问题进一步放缓了应用速度。所以我们通常试图使用whois查询域名,获取到的信息有限。
补充一点,在APNIC下属的网站上,也提供了可视化的查询:
APNIC-NETOX(https://netox.apnic.net/apnic-at-a-glance/223.0.0.0/15)
总结
在这篇文章中,介绍了一种利用注册数据访问协议(RDAP)来精确确定资产边界的方法。RDAP是Whois协议的现代化替代品,提供了更全面和实时的域名注册信息,可以帮助安全专业人员更有效地识别和验证目标资产。文章详细探讨了RDAP的功能、其与IANA和区域互联网注册管理机构的关系,以及如何通过RDAP数据获取国家或组织分配的IP地址范围。通过RDAP,用户可以更精确地确定资产归属,为后续的渗透测试工作奠定基础。我们还可以通过将RDAP获取的IP地址范围,输入到网络空间测绘引擎中,来查找更多边缘资产,对于做资产测绘、漏洞挖掘都有很大帮助,我在写这篇文章之前,尝试搜索了一些规模较大的企业,可以找到很多通常思路搜集不到的IP地址边缘资产和业务系统。
写在最后
入圈两年也是转发上倾旋师傅文章了。