web-dev-qa-db-fra.com

Comment identifier la plage d'adresses du réseau public d'une entreprise?

Quelles méthodes puis-je utiliser pour identifier les plages d'adresses de réseau public d'une entreprise?

17
Bob

Cela dépend de certains facteurs. Quand c'est une grande entreprise et qu'ils possèdent des sous-réseaux complets, ces informations sont stockées dans le enregistrement whois. Vous pouvez soit utiliser des outils commerciaux qui vous permettent de rechercher une décharge de dossiers whois pour l'entreprise ou recherchez tous les noms d'hôtes publics disponibles de cette société. Vous devez normalement commencer par l'adresse du ou des serveurs Web, de messagerie et DNS.

Lorsqu'il s'agit de petites ou moyennes entreprises, il n'y a dans la plupart des cas que des hôtes uniques accessibles au public. Dans la plupart des cas, ces adresses et serveurs sont des adresses d'hébergement louées ou même partagées. Vous pouvez facilement comprendre cela en effectuant des recherches inversées de cette adresse.

Pour trouver plus d'hôtes attribués à un domaine, vous pouvez télécharger la dernière dns dump from censys.io (anciennement disponible sur scans.io) puis grep pour que le domaine trouve des sous-domaines. Vous pouvez ensuite également effectuer un dns "bruteforce" en ajoutant les noms d'hôte couramment utilisés au nom de domaine ciblé. Cela peut être fait avec dnsrecon par exemple.

Il existe également des situations où un sous-réseau est attribué à la société d'hébergement, mais la plage contient de toute façon plus d'un site Web de cette société. Pour trouver les sites Web de cette société dans une plage d'adresses IP, vous pouvez utiliser un outil comme EyeWittness qui créera des captures d'écran de chaque site Web de cette plage. Pour être dit: cela ne fonctionnera pas avec les hôtes virtuels lorsque vous utilisez l'adresse IP de ce serveur Web comme adresse.

10
davidb

Il n'y a pas de moyen simple. L'entreprise a probablement un site Web, mais il peut être hébergé sur place ainsi qu'ailleurs. Et même s'il se trouve dans leurs locaux, il peut avoir une plage IP différente de celle du reste du réseau.

Par exemple, l'adresse IP de Microsoft.com Est 104.43.195.251, Qui se situe dans la plage 104.40.0.0 - 104.47.255.255. Mais si vous recherchez bing.com, Il a l'adresse IP 204.79.197.200, Qui se situe dans la plage 204.79.195.0 - 204.79.197.255.

Les plages ci-dessus peuvent être trouvées à l'aide de cette commande: whois $(Dig +short Microsoft.com | head -1) qui, en termes humains, est essentiellement: "prenez une adresse IP sur Microsoft.com et exécutez whois dessus".

L'information whois contient également OrgName: Microsoft Corporation, Que se passe-t-il si vous recherchez chaque plage IP provenant de Microsoft? Je ne sais pas comment faire (il faudrait que je vérifie), mais une telle chose pourrait fonctionner pour une grande entreprise comme Microsoft.

Cependant, toutes les entreprises n'ont pas leur propre gamme IP en premier lieu. Prenez une petite entreprise au hasard dans le quartier, ils auront probablement un site Web hébergé chez une société d'hébergement, qui est différent de leur FAI au bureau. Dans ce cas, il serait impossible de trouver leur adresse IP (ou plage) s'ils n'ont pas RDNS défini, et avec RDNS, vous devrez toujours rechercher inversement des millions d'adresses.

6
Luc

Vous pouvez exécuter la commande ci-dessous pour chacune des entités. RIPE, ARIN, etc ... Exemple avec l'Asie Pacifique.

Vous obtiendrez le retour de tout ce qui a la chaîne que vous mettez qui existe dans la base de données.

C'est le moins cher, le plus rapide et vous pouvez créer votre propre code.

whois -h whois.apnic.net COMPANYNAME

Exemple:

whois -h whois.apnic.net Microsoft 

ou si vous souhaitez une réponse plus ciblée

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

Production:

% Abuse contact for '58.246.69.164 - 58.246.69.167' is '[email protected]'

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
2
Hugo

Il existe différentes façons de procéder. La méthode généralement acceptée consiste à utiliser les informations "netblock" dans les bases de données WHOIS.

Le processus serait le suivant pour une entreprise donnée:

  • Recherchez l'adresse IP de l'un des sites Web de l'entreprise via DNS
  • Émettez une requête whois sur cette adresse pour identifier le "netblock" dont cette adresse fait partie (ne fonctionnera pas si le site Web est hébergé par un tiers comme Amazon)

Par exemple, essayons de trouver les adresses IP gérées par GitHub:

Nous allons commencer par rechercher l'adresse IP du site Web GitHub Pages.

$ 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

Sélectionnez ensuite l'un des enregistrements et lancez une requête Whois pour découvrir l'ensemble du netblock:

$ 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
[...]

Nous avons maintenant une plage d'adresses IP beaucoup plus grande qui contient au moins le serveur Web principal de github.io.

Pour trouver d'autres gammes, il faudrait trouver plus de sites Web/serveurs exploités par eux et réutiliser la même technique, ou obtenir des copies des bases de données Whois complètes, et rechercher chaque référence à GitHub.

Un service en ligne fait cela est NetworksDB.io (Avertissement: je suis le propriétaire/développeur.)

Les outils en ligne peuvent être utilisés gratuitement et une API gratuite est disponible pour les tests. Par exemple, vous pouvez voir tous les réseaux publics et les adresses IP appartenant à Github sur cette page: https://networksdb.io/ip-addresses-of/github-inc

Encore mieux, récupérez les résultats via la ligne de commande:

$ 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
1
jrm

Essayez d'utiliser Domain Dosier qui peut vous fournir des informations sur le serveur Web public de l'entreprise. Vous pouvez consulter l'enregistrement Whois du réseau pour voir s'il existe une plage CIDR définie. Cette plage peut vous donner une idée des autres serveurs publics. Vous pouvez ensuite exécuter un outil d'analyse pour voir lesquelles de ces adresses IP sont utilisées et hébergent des services ouverts. La numérisation n'est cependant jamais recommandée.

0
abhinav singh