Script Kiddies - 他们如何找到我的服务器 IP?

信息安全 攻击 渗透测试 网络服务器 蛮力
2021-08-21 03:44:28

我已经在 Digital Ocean 上建立了一个没有域的站点,所以只有 IP。尽管没有告诉任何人它的存在或宣传它,我还是收到了来自 fail2ban 的数百条通知,各种 IP 正试图破解我的 SSL 端口或正在寻找 PHP 文件。

但是他们怎么知道我确实存在呢?他们从哪里获得IP?

4个回答

您无法在互联网上隐藏您的 IP 地址。他们不是秘密。

@DeerHunter 说的差不多。扫描整个互联网很简单。如果他们愿意,他们可以针对所有已知的在线数字海滴。

他们可以在计时器上执行此操作,以便当您离线或在线时,它会继续尝试,因为这些目标可能是高价值目标,可能会在一瞬间变得脆弱。

让我给你一个非常粗略的编码示例。假设您的 IP 地址是104.16.25.255让我们获取www.digitalocean.com的 IP 地址,以便我们可以轻松地检查关联的 IP 地址。www.digitalocean.com返回104.16.25.4让我们扫描所有内容:104.16.25.*


从编程的角度来看,扫描非常容易

假设我们想尝试查找附近所有关联的 IP 地址。假设程序可以很好地处理数字和模式。这是一个整数递增的示例:

i++;

这会将 的当前值i增加1让我们假设i1. 之后i++,你会得到2看看这个非常简单的循环:

for (int i = 1; i < 256; i++)
{
    scanIpAddress("104.16.25." + i);
}

另一种单行 bash 变体如下:

for ip in `seq 1 255`; do scan_thingy_command 192.168.0.$ip --options -oG lol.txt; done

您刚刚扫描了 104.16.25.1,然后i从更改01. 随着整个循环的继续,它将从104.16.25.0变为104.16.25.255我现在没有时间扫描和查看,但是,这个小块可能不只是属于digitalocean

要在 DigitalOcean 上找到更多目标,程序员可能会更多地更改数字。例如,引入另一个将上述循环嵌套在内部的循环,并添加j: scanIpAddress("104.16." + j + "." + i);这将允许他们扫描104.16.1-255.1-255

从那里,他们可以继续倒退并嵌套 for 循环,直到获得整个互联网。还有其他更有效的方法可以做到这一点,例如masscan,但这是最基本的方法。

同样,这也可以在命令行上用一行来完成:

for oct1 in `seq 1 255`; do for oct2 in `seq 1 255`; do for oct3 in `seq 1 255`; do for oct4 in `seq 1 255`; do scan $oct1.$oct2.$oct3.$oct4 --stuff; done; done; done; done 

其他方法

上面的例子是一个非常粗略的例子。他们可能做得更多,他们的代码可能不同,他们可能使用完全不同的方法和/或程序。但是,这个概念几乎相同。

有问题的程序也有可能只是针对所有人


那么如何在网上隐藏我的东西呢?

如果它在线,无论你隐藏什么,他们都会找到它……或者尝试找到它。

但是,根据您的 Web 服务器,您可以尝试http 访问控制,例如.htaccess. 如果您使用访问控制——同样,这取决于您的网络服务器——那么您很可能能够阻止其他人查看/访问页面。

但是,这并不能保护您免受非网站登录尝试的影响。如果您拒绝他们访问不存在的网页,他们现在知道您真的在线,并且可以更轻松地集中攻击!但是,这仍然是一种很好的做法。

.htaccess这是Apache(2.4 及更高版本)的示例拒绝:

Require ip 192.168.1.100

在上面的示例中,您拒绝所有人访问该文件夹,但您的 IP 地址除外。请记住,192.168.1.100是本地 IP 地址。您必须将其替换为您的公共 IP 地址。

另外,请记住,如果您的攻击者在您的机器上运行代理/VPN,他们仍然可以访问这些页面。如果您的攻击者已经可以访问该网站,他们可以编辑 .htaccess 或将其删除。没有什么是100%。

如果您还没有准备好接受扫描,请不要将任何内容放到网上。每个人都有一个计划,直到他们在嘴里进行端口扫描。

IPv4地址空间仅限于 4,294,967,296 个地址。[注 1]如果有足够的带宽,扫描每一个 IP 地址变得微不足道,特别是如果您是由数千个被黑设备组成的僵尸网络的所有者。

使用 IPv6 [注 2],事情就有点棘手了:有超过 300,000,000,000,000,000,000,000,000,000,000,000,000 个地址,枚举它们变得不切实际。但是,仍然有多种方法可以发现地址;例如,在最近的一个案例中,物联网搜索引擎 Shodan 在同步时钟时使用 NTP 服务器来发现新的 IPv6 主机。

要点:如果你还没有准备好接受调查,你就不应该上网。扫描整个 IPv4 互联网可以在几天内完成,并且您的 IPv6 地址也会被发现——除非您根本不使用它。

注 1:其中一些是不可用的,因为它们是为特殊目的而保留的。
注 2: IPv6 仅在 Digital Ocean 用户启用后才可用。

但是他们怎么知道我确实存在呢?

他们不知道的存在。他们不知道他们正在与交谈:他们只知道他们正在与具有特定 IP 地址的计算机交谈。IP 地址很像电话号码。如果您拨打一个合法的区号,然后拨打一个具有正确位数的随机号码,那么您很有可能会与某人交谈,特别是如果该区号有很多用户。这并不意味着您“知道那个人的存在”:它只是意味着您发现他们的电话号码已连接。

他们从哪里获得IP?

他们不会从任何地方得到它。它只是一个 32 位的数字,实际上并没有那么多。134.183.96.2 那里,这是一个 IP 地址。我通过捣碎键盘(并删除无效数字)得到它。它可能属于某人,因为几乎所有 IP 地址都属于。坏人只是系统地扫描地址空间;他们会找到任何 IP 地址,因为“找到”只是意味着“生成足够的有效数字”。

但是他们怎么知道我确实存在呢?

他们知道该 IP 地址上存在某些东西,因为他们的扫描仪告诉他们这一点。他们很可能不是来找你的,他们只是通过扫描大块或整个互联网偶然发现了该 IP 地址。

http://blog.erratasec.com/2013/09/masscan-entire-internet-in-3-minutes.html