谁在占用IPv4地址?

2022-02-19 00:38:07

互联网上的一个既定事实是,我们已经用完了IP(v4)地址,我们开始看到获取IPv4空间的压力。例如,如果你想在注册成为会员时从成熟的NCC获得一个/24区块,那么你目前正在等待一个回收的IPv4/24区块2个月。

这里最简单的一件事就是说,“好吧,就用IPv6吧”,但是……我们正在慢慢地实现这一目标。

但是,如果本地IPv4空间用完了,会发生什么呢?或者出于某种原因,RFC1918专用网络空间不再是一个选项?有些人会占用IP地址空间!

对于这篇文章,我将IP地址占用定义为“使用未定义RFC1918的IP地址,而不是RIR发布的单播空间”。首先想到的是Cloudflare获得了地址1.1.1.1和1.0.0.1来运行DNS解析程序,但不得不反击大量在内部占用这些地址的网络和家庭路由器(我也不知道最后一个单播/24块是否存在类似问题)

不过,这个问题并不奇怪,您当地友好的系统管理员可能会告诉您一个故事,在这个故事中,他们抓到了自己的同事、客户,甚至父母蹲在地址上。

但这个问题有多大?如果我们有大量众所周知的IP地址块,我们就可以放心地打赌不会被使用。

在2021年初,国防部开始宣布从AS800中公布庞大的IP块分配(大约234000/24的价值),然后将它们转移到AS79。最初,人们怀疑这是在准备出售IP,因为v4寻址的成本最近达到了令人印象深刻的高点。然而,五角大楼后来表示:

" 该飞行员将评估、评估并防止未经授权使用国防部IP地址空间";

对我来说,这意味着,“我们不希望BGP DFZ中大部分未经通知的大型IP块被人劫持”,同时“我们有一些人想要运行一个大规模的黑暗网络”

基于这些假设,我们可以假设AS749发布的任何内容都是未使用的国防部空间,因此互联网上指向这些区块的任何内容至少在某种程度上是蹲着的(无论是打字错误还是目的)(假设它本身不是国防部网站)

但是我们怎么知道什么指向互联网上的任何东西呢?我们如何获取大量的DNS数据?

获取DNS数据的方法有很多,你可以通过简单地询问他们来获取大多数TLD的DNS区域文件,你可以使用被动DNS服务,通常通过点击用户DNS日志来获取他们的数据,或者你可以使用证书透明性(CT)日志从SSL证书中提取DNS名称。

我已经在bgp上使用了DNS数据的CT选项。工具。大约每两周,我会完成大约30B的DNS查询,并编译成一个文件,该文件只是映射到主机名的IP地址。这使得网站可以轻松显示哪些DNS记录指向IP地址块。

还有其他工具可以查看CT日志,Cloudflare运行了一个不错的站点,显示统计数字和图表,并且可以在不下载CT日志的情况下搜索CT日志,还有一个很棒的实用程序,名为crt。她说Sectigo运营(科摩多的更名)。

但是,我们如何利用这些数据来找出IP占用的情况,尤其是在我们通常不希望看到指向它们的公共DNS条目的本地局域网内?

Western Digital发布了一系列紧凑型NAS设备,这些设备还具有远程访问功能(因此有了“我的云”品牌)。这允许用户远程访问他们的设备,即使他们在设备所在的本地网络之外。然而,由于通常要求对这些类型的连接进行加密,WD会为这些设备中的每一个颁发SSL证书,Plex和其他应用程序也会做类似的事情,以便在浏览器中实现安全连接。

利用这一事实,我们可以通过对这些设备使用的称为remotewd的域进行灰显来扫描这些WD设备。通用域名格式:

[xxx.bgp.tools]$pv mega | grep remotewd。com$>;远程wd20。5GiB 0:00:30[689MiB/s][=====================================>;]100%[xxx.bgp.tools]$wc-l remote-wd2248019 remote wd[xxx.bgp.tools]$tail remote-wd223。255.150.74,设备-0675828b-2e8c-4be5-96e7-0a595fbae6dc。remotewd。com223。255.150.74,装置-9e007f60-c53d-43dd-8743-4ac1a569952e。remotewd。com223。255.156.58,装置190d10b4-2465-4d52-91e1-fc223885a510。remotewd。com223。255.157.74,设备-d3a1aa96-f383-467f-a9ae-dfa8b7bfdb81。remotewd。com223。255.255.67,设备-local-c3712a54-3c25-442e-90ee-a56c02ad9db4。remotewd。通用域名格式

所以在这里我们可以看到一个MyCloud设备有两个DNS名称。设备-$UUID。remotewd。com和设备本地-$UUID。remotewd。通用域名格式。区别在于设备本地用户到设备本地地址的映射,以及设备-用户到互联网地址的映射(考虑NAT)。据推测,WD设备正在进行一种类似UPNP的自动端口转发。

最妙的是,我们可以找到一个UUID,并使用它来grep设备的WAN地址和LAN地址:

太好了!现在我们可以编写一个脚本来查找这些设备的异常LAN地址。我们通过检查本地地址是否与internet地址不匹配,以及本地IP地址空间是否超出RFC1918定义的IP范围来实现这一点。

1.0.0.117=8ece6a15-2fed-420d-95dd-d920d5666869是IP下蹲吗?1.0.0.132=ECD4BF4-01a5-40d6-8e70-cc9e102de492是IP蹲式?。。。1.1.10.15=09a3b350-27a6-45f1-b44d-F152CB3E4C是否为IP蹲式?1.1.1.111=ab7cb7f7-ae9a-4390-a526-99248ac55593是IP下蹲吗?1.1.1.1=4c0fe0e5-8f84-43e4-9cba-b76f9cddb368是IP下蹲吗?1.1.1.17=44836275-6825-4767-8b70-a5e04c4a820e是IP蹲式?。。。2.12.1.6=cb578ebe-9319-4451-950c-e03ece3549b7是否为IP蹲式?2.2.2.162=971ad945-056c-40b2-9e68-ffa7bed37da8是否为IP蹲式?2.2.2.249=f1b13fbb-6297-4ac0-9724-5ce2bbfa9f91是否为IP蹲式?2.2.2.38=cf92953b-e625-4bdf-9229-ab3933f18d9b是否为IP蹲式?2.43.1.33=a26d4b29-4145-48eb-a439-64ca4a6aa9f9是IP蹲式?。。。4.28.65.10=b9fd42f2-3491-4775-9d3d-dce4bc89ae5b是否为IP蹲式?4.3.80.8=ee009944-4054-43fa-a7f7-08927ea86cfb是IP蹲坐吗?4.4.4.3=a5ad8ecd-93b1-4690-b21a-4322cd5e02cb是否为IP蹲式?4.8.19.16=733745f3-e9e0-4a7d-abb1-d5cc0aaf0b30是IP蹲式?。。。5.35.1.156=f2325dc8-a79e-41e7-bd99-fe30d6afa25a是否为IP蹲式?5.5.1.75=d69d77c9-181c-441f-af19-c881880534db是否为IP蹲式?。。。8.34.143.56=4fb6a202-98f1-4e98-92ec-9357ecb1c4eb是IP蹲坐吗?8.8.8.92=78a897cb-48d1-46c0-ba91-66c353bab06c是否为IP蹲式?8.9.80.111=28968a74-edc2-42ce-b7d0-5416f958245c是IP蹲式?。。。9.9.52.93=f4a6f3c1-5c44-4fb5-b96c-7203272cc297是否为IP蹲式?9.9.9.24=10df8b8b-74cb-4230-a236-12105de7173e是否为IP蹲式?9.9.9.38=8b9707fa-7b59-49dd-b7a3-4ef5b88659ff是否为IP蹲式?11.0.0.103=d13da0c6-8e6e-43fb-8109-a35d6b469101是否为IP蹲式?11.0.0.113=55364bcd-389d-4464-aa71-c2fc87dfb2bf是IP蹲坐吗?11.0.0.16=5502da73-a1dc-4e90-b21c-8d30c76058cf是IP蹲式?。。。99.99.99.91=f95c5933-eaf9-48ce-a87a-cf9567df305b是IP下蹲吗?100.0.0.100=5349507f-d05b-496e-93b5-9766e948b8d2是IP下蹲吗?100.0.0.10=12d38773-813e-49cc-bdd7-48a884fcf829是IP蹲式?。。。168.190.30.15=a3f43288-2d34-4764-ba13-65a1e00dded0是IP下蹲吗?168.192.0.252=6a8248c2-9a35-47c7-8061-469faa7adbac是IP蹲式吗?168.192.0.34=fb2cf7f1-0a3b-42d0-b04d-8d816d69a3bb是IP蹲起吗?168.192.110.102=183be2ee-4913-45f2-867f-40C5038F75B是否为IP蹲式?168.192.1.111=bba93f2f-32d3-41e0-ab98-0c08f6d2b438是IP蹲姿吗?168.192.1.12=cb1fcb60-a0ff-474a-b8a2-9f6246e5f3d9是IP下蹲吗?168.200.1.6=95e5745c-a102-4ccd-92aa-651eaf0af006是IP蹲式?。。。192.167.4.118=a84e8794-cae0-4e9a-ba8a-fce18f7e6a0f是IP下蹲吗?192.167.60.157=4d24f693-e9ea-4e70-b945-478a1fdabfb0是IP下蹲吗?192.169.0.100=5f48efb9-a7d4-45d3-8ba3-e4234daff96c是IP下蹲吗?192.169.0.100=da4b9dc3-6d99-4eb7-a67b-ab244515baf9是IP蹲姿吗?192.169.0.100=e050a252-9636-4a89-ac2a-02a4acb6bb8a是IP蹲式?。。。193.167.1.38=6481ac7d-c5b4-4ba6-ae9e-166a8ff76a15是IP蹲姿吗?193.168.0.178=37b18ba6-f01c-4f4d-a08c-48450c6d47af是IP下蹲吗?193.168.100.41=0ce6f895-d82a-479e-bd7f-b873418582e7是IP蹲式?。。。

似乎三胞胎很受欢迎(即1.1.1.X、2.2.2.X、3.3.3.X),RFC1918系列中常见的“脂肪指征”为193.168。X.X,191.168。X.X,192.186。X.X出现了。

三胞胎可能会与流行的任意广播DNS解析程序发生冲突,比如Cloudflare的1.1.1.1、谷歌的8.8.8.8、Quad9的9.9.9.9、英国政府DNS 25.25.25.25、Freenom的80.80.80、Quad101、114dns。com等等。

拼写错误真是不幸。但可能的下蹲呢?我们可以使用bgp查找IP列表的ASN。工具批量查找API:

$echo和#34;开始">>;查找文件$echo";冗长">>;查找文件$cat输出已排序。txt | awk和#39;{打印$1}'>>;查找文件$echo";结束">>;查找文件$cat查找文件-| nc bgp。工具43 | tee解析-list13335 | 1.0.0.117 | 1.0.0.0/24 |美国| ARIN | 2010-07-14 | Cloudflare,Inc.13335 | 1.0.0.132 | 1.0.0/24 |美国| ARIN | 2010-07-14 | Cloudflare,Inc。。。。9644 | 223.61.1.108 | 223.48.0.0/12 | KR | APNIC | 0001-01-01 | SK Telecom$cat解析列表| wc-l3585$cat解析列表|egrep#39^749 ' | wc-l171

因此,在使用WD MyCloud数据检测到的所有可疑IP占用中,大约5%位于可疑未使用的国防部空间。

我们也可以反过来运行,找出人们使用的最常见的RFC1918空间:

但这只适用于住宅/消费市场,他们通常会购买这样的设备。那么“合适的”服务器世界呢?

AWS虚拟私有云(VPC)(将其视为网络LAN)有一个有趣的功能,称为“接口端点”,允许您将通常只能在公共地址空间上访问的AWS服务(如S3)放在VPC地址空间中显示为本地IP地址。这是很有用的,因为它可以消除一些服务器对任何出站internet访问的需求。除其他事项外,协助安全态势。

但由于人们也希望安全地与AWS通信,即使在AWS VPC的高安全性内部,新的接口端点也需要SSL证书和DNS条目。这很有用,因为它为我们提供了一条线索,让我们知道谁在使用VPC中的IP地址。

$pv mega | grep vpce-| grep vpce。亚马逊。com>;vpc端点$wc-l vpc端点234919 vpc端点

我们可以看到,10.0.0.0/8和172.16.0.0/12是VPC地址的热门选择。但可能的下蹲呢?

现在值得一提的是,其中一些可能不是IP占用,而是将您自己的IP带到亚马逊内部,或者是复杂的直接连接设置。但如果我们看到国防部AS749,那么我们可以假设这些都是IP占用的情况。

$ ./vpc统计| tee vpc输出|排序-n |头1。100.126.10,水桶。vpce-0b3bb7a5b64eb1981-ymxb0boe-eu-west-1b。s3。eu-west-1。vpce。亚马逊。com1。100.126.10,水桶。vpce-0b3bb7a5b64eb1981-ymxb0boe。s3。eu-west-1。vpce。亚马逊。com1。2.3.26,水桶。vpce-08ed65ca57dce3ab4-i01pkug2-us-gov-west-1b。s3。us-gov-west-1。vpce。亚马逊。com3。230.20.24,水桶。vpce-018d369d104a616c8-a0sfaap3。贝塔。s3。美国东部1号。vpce。亚马逊。com4。0.1.68,桶。vpce-0e90ca15c8f461fd9-zl6yishp-ap-northeast-2a。s3。美联社东北2。vpce。亚马逊。com4。0.2.137,桶。vpce-0e90ca15c8f461fd9-zl6yishp-ap-northeast-2c。s3。美联社东北2。vpce。亚马逊。通用域名格式。。。

$cat专有网络IP-| nc bgp。工具43 | tee vpc-ips-resolved4766 | 1.100.126.10 | 1.96.0.0/12 | KR | APNIC | 0001-01-01 |韩国电信0 | 1.2.3.26 |<;无>;||未知| 0001-01-01 |错误|作为|名字|不|发现14618 | 3.230.20.24 | 3.224.0.0/12 |美国|阿林| 2005-11-04 |亚马逊。com公司3356 | 4.0.1.68 | 4.0.0.0/9 |美国|阿林| 2000-03-10 |流明(三级)wc-l专有网络IP解析829个专有网络IP解析$cat专有网络IP解析| egrep#39^749 ' | wc-l138

使用VPC子网内部的这一有限视图,我们可以看到,所有非RFC1918空间中有超过16%的空间被怀疑是被占用的国防部空间!

正如我们所见,虽然国防部拥有大量IPv4空间,但从这些空间购买这些空间可能需要额外的工作来“清理”几十年来的假设,即它不太可能成为可访问的互联网地址。

在撰写本文时,IPv4地址的市场价格约为50美元,这意味着假设AS749是国防部的“备用”模块,那么使用简单的数学计算,美国国防部拥有价值约2997516800美元的IP地址。

太多了!尽管值得记住的是,假设一架F-35战斗机的成本为7800万美元,那么他们可以用全部备用IP块换取“仅”38架F-35。这看起来并不多。另外,考虑到各国在国防上花费了多少钱,我能理解为什么国防部似乎还没有试图利用他们的IP空间来赚钱;)

真是个有趣的想法。a/12和a/13的价格与F-35差不多。

如果你想了解博客的最新信息,可以使用RSS订阅源,也可以在Twitter上关注我

还有,我';我目前正在寻找三月份以后的工作。如果你喜欢我所做的,或者认为你可以利用我的一些奇怪的知识领域,请通过[email protected]!