如何识别公司的公网地址范围?

信息安全 ip 侦察
2021-08-23 18:50:49

我可以使用哪些方法来识别公司的公共网络地址范围?

4个回答

这取决于一些因素。当它是一家大公司并且他们拥有完整的子网时,这些信息将存储在whois 记录中。您可以使用商业工具来搜索公司的 whois 记录转储,也可以查找该公司的所有公开可用主机名您通常会从 Web、邮件和 dns 服务器的地址开始。

对于中小型公司,在大多数情况下,只有单个主机可供公众访问。在大多数情况下,这些地址和服务器是租用的,甚至是共享的托管地址。您可以通过对该地址执行反向查找来轻松解决这个问题。

要查找分配给域的更多主机,您可以censys.io(以前在 scans.io 上可用)下载最新的dns 转储,然后使用 grep 查找域以查找子域然后,您还可以通过将常用主机名添加到目标域名来执行dns“暴力破解”例如,这可以通过 dnsrecon 来完成。

此外,在某些情况下,子网被分配给托管公司,但该范围包含该公司的多个网站。要在 IP 范围内查找该公司的网站,您可以使用 EyeWittness 之类的工具,该工具将创建该范围内每个网站的屏幕截图。要说:当您使用该网络服务器的 IP 地址作为地址时,这不适用于虚拟主机。

没有简单的方法。该公司可能有一个网站,但它可能托管在场所以及其他地方。即使它在他们的场所,它也可能与网络的其他部分具有不同的 IP 范围。

例如Microsoft.com的IP地址是104.43.195.251,在范围内104.40.0.0 - 104.47.255.255但是,如果您查找bing.com,它有 IP 地址204.79.197.200,它在范围内204.79.195.0 - 204.79.197.255

可以使用以下命令找到上述范围:whois $(dig +short microsoft.com | head -1)用人类术语来说,基本上是:“从 microsoft.com 获取一个 IP 地址并在其上运行 whois”。

whois 信息还包含OrgName: Microsoft Corporation,如果您查找来自 Microsoft 的每个 IP 范围怎么办?我不知道该怎么做(我必须查一下),但这样的事情可能适用于像微软这样的大公司。

然而,并不是每家公司都拥有自己的 IP 范围。随便找一家附近的小企业,他们可能会有一个由托管公司托管的网站,这与他们在办公室的 ISP 不同。在这种情况下,如果他们没有设置 RDNS,就不可能找到他们的 IP 地址(或范围),而使用 RDNS,您仍然需要反向查找数百万个地址。

您可以对每个实体执行以下命令。RIPE、ARIN 等……以亚太地区为例。

您将获得数据库中存在的包含您放置的字符串的所有内容的返回。

它是最便宜、最快的,您可以构建自己的代码。

whois -h whois.apnic.net COMPANYNAME

例子:

whois -h whois.apnic.net Microsoft 

或者如果您希望得到更集中的回应

whois -h whois.apnic.net microsoft | grep inetnum

输出:

% Abuse contact for '58.246.69.164 - 58.246.69.167' is 'hqs-ipabuse@chinaunicom.cn'

inetnum:        58.246.69.164 - 58.246.69.167
netname:        Microsoft
country:        cn
descr:          Microsoft (China) Co., Ltd.
admin-c:        YR194-AP
tech-c:         YR194-AP
status:         ASSIGNED NON-PORTABLE
mnt-by:         MAINT-CNCGROUP-SH
last-modified:  2008-12-13T14:48:23Z
source:         APNIC

有不同的方法可以做到这一点。普遍接受的方法是使用 WHOIS 数据库中的“netblock”信息。

对于给定的公司,流程如下:

  • 通过 DNS 查找公司网站之一的 IP 地址
  • 对该地址发出 whois 查询,以识别该地址所属的“网络块”(如果网站由亚马逊等第三方托管,则无法使用)

例如,我们尝试查找 GitHub 运营的 IP 地址:

我们将从查找 GitHub Pages 网站的 IP 地址开始。

$ host -t a github.io
github.io has address 185.199.109.153
github.io has address 185.199.108.153
github.io has address 185.199.111.153
github.io has address 185.199.110.153

然后选择其中一条记录并发出 Whois 查询以找出整个网络块:

$ whois 185.199.109.153
[...]

inetnum:        185.199.108.0 - 185.199.111.255
netname:        US-GITHUB-20170413
country:        US
org:            ORG-GI58-RIPE
admin-c:        GA9828-RIPE
tech-c:         NO1444-RIPE
status:         ALLOCATED PA
mnt-by:         RIPE-NCC-HM-MNT
mnt-by:         us-github-1-mnt
created:        2017-04-13T15:36:35Z
last-modified:  2018-12-14T10:48:39Z
source:         RIPE
[...]

我们现在有一个更大的 IP 地址范围,其中至少包含 github.io 的主 Web 服务器。

要找到其他范围,需要找到更多由它们运营的网站/服务器并重复使用相同的技术,或者获取完整 Whois 数据库的副本,并查找对 GitHub 的所有引用。

NetworksDB.io 是一项在线服务(免责声明:我是所有者/开发者。)

在线工具可以免费使用,并且有免费的 API 可用于测试。例如,您可以在此页面上查看 Github 拥有的所有公网和 IP 地址:https ://networksdb.io/ip-addresses-of/github-inc

更好的是,通过命令行获取结果:

$ curl -s https://networksdb.io/ip-addresses-of/github-inc | grep 'IP Range' | awk '{print $3" - "$5}' | sort
140.82.112.0 - 140.82.127.255
148.62.46.150 - 148.62.46.151
148.62.46.192 - 148.62.46.199
174.143.3.100 - 174.143.3.103
185.199.108.0 - 185.199.111.255
192.30.252.0 - 192.30.255.255
74.205.116.224 - 74.205.116.239