暴力破解者如何如此迅速地获得我的 IP 地址?

信息安全 SSH 蛮力 ip
2021-08-11 08:30:50

这可能是一个巨大的菜鸟问题,但谷歌结果没有帮助,我在这里找不到具体的东西。

我为一些朋友制作了只托管 IRC、HTTP 和 SSH 的服务器。我以前做过这种事情,据我所知,一切都很好。但是今天,在我第一次正确启动服务器几分钟后,几乎一整天,直到我今晚注意到它,我被 SSH 暴力破解了。他们检查了一大堆不同的 IP 地址,从中国和越南等地的企业到DigitalOcean 的地址。

我没有与任何人共享直接 IP 地址,而且 DNS 只设置了一两天。我的朋友圈之外的任何人(我信任的人)都不会知道服务器的存在,也没有人有任何理由入侵我。

所以我的问题是,假设它没有泄露,这些人是如何如此迅速地获得我的 IP 地址的,他们会寻求什么来控制我的机器?

4个回答

IPv4 地址范围并不大。

A 类网络(/8)有大约 1600 万台主机,理论上有 256 台。结果,互联网有大约 4,294,966,784 台主机。当然,这是一个近似值。

许多地址范围实际上是保留的(例如127.0.0.0/8, 10.0.0.0/8),而其他地址范围实际上是一个代表 NAT-ed 内部网络的地址。但仅仅从一个天真的粗略计算来看,我们可以说它在那个球场的某个地方。

攻击者现在可以做的是大规模扫描一个子网以获取特定服务,例如 SSH。只需获取多个主机(例如 32 台主机)并平均划分目标子网。仅扫描端口 22 上的 SSH 主机,并检查哪些主机回复。

然后,攻击者可以尝试自己发起暴力攻击,或者他们可以将该活动主机列表出售给其他人,然后他们会尝试攻击您。

制作这样一份清单需要多长时间?假设攻击者想要扫描整个 A 类网络(1600 万台主机),需要扫描 32 台主机,大约每秒 100 台主机,我们粗略估计需要90 分钟当然,时间会有所不同,具体取决于速度或主机数量,但应该在那个范围内。

IP 地址不是私有的。现在可以在几分钟内扫描整个 IPv4 互联网。例如, ZMAP是一种可用于此类扫描的工具。 NMAP可用于 IP 地址扫描开放端口或服务,如 SSH。

还有像Shodan这样的在线数据库,其中包含大量互联网上的设备和服务列表。

我开发了一个扫描专用网络以创建设备清单的应用程序。他们希望将其扩展为一次扫描整个 B 类网络。通过一次发送 10,000 个“ping”数据包并并行等待所有答案,我能够在几分钟内编写一个函数(如果我没记错的话是 5 个)

这涉及到一个调整因素,因为它们都在同一个网络上,任何更快的东西都会遇到太多错误,而且在 NIO 和 java 必须为每个未完成的数据包坐在一个线程上之前——今天在互联网上你可能会做很多事情快点。

所以 5 分钟 * 255(大约一天)将是我扫描一个班级 a 的时间——所以你可以使用我 20 年的旧代码(每个 bot每天扫描A类)。实际上,您可能可以在一天内从一台计算机上扫描整个 ipv4 空间,包括使用相同代码多次重试未命中。

但是,扫描每台设备的所有 65k 端口将花费大约 65,535 倍的时间。

这发生在我 20 年前——但我发现他们只是在扫描一个开放的 SSH 端口(也可能是 telnet/ftp,但即便如此我也知道不要把这些放在互联网上!)。我将 SSH 端口移到了 5 位端口号,再也没有被打扰过。

此外,禁用您的 SSH 密码并始终使用您的公钥/私钥,这样您更容易使用,而其他人则更难破解。

好吧,关于扫描整个 IPv4 Internet 所需的时间 - 使用诸如masscan之类的工具只需不到 5 分钟检查您在Shodan等服务上的 IP 地址也是值得的- 这将使您了解有关您的服务器的已知信息。

老实说,很可能该 IP 地址之前已被使用过。所以它可能会导致“看起来他们又回来了,让我们继续我们的蛮力攻击”。