Nmap est un outil de découverte de réseau open source populaire utilisé pour découvrir et auditer les périphériques sur un réseau informatique. Il peut analyser rapidement des hôtes uniques jusqu'à de grands réseaux informatiques, fournissant des informations utiles sur chaque hôte et son logiciel.
Des intrus dans le réseau… Attendez, quoi ?
Chaque jour, des produits IoT tels que des montres intelligentes, des trackers de fitness, des imprimantes, des caméras intelligentes et bien d'autres font désormais partie de notre vie quotidienne. Beaucoup de ces appareils sont synchronisés avec nos smartphones personnels ou professionnels. Volontairement ou non, ces appareils peuvent se connecter à votre réseau d'entreprise. Selon Infoblox, au moins la moitié des organisations en ont fait l'expérience l'année dernière.
Mais quel est le risque ? La plupart des appareils IoT n'ont pas de sécurité intégrée et, dans de nombreux cas, manquent de micrologiciels et de mises à niveau de sécurité. Ce manque de sécurité est une mine d'or pour les cybercriminels qui tentent de violer la sécurité de votre réseau. Cependant, grâce aux fonctionnalités de découverte et d'audit de Nmap, vous pouvez rapidement découvrir et identifier les hôtes ou appareils malveillants sur votre réseau et les logiciels qui y sont exécutés. Explorons quelques scénarios.
[ Les lecteurs ont également aimé : Exécuter une analyse NMAP rapide pour inventorier mon réseau ]
Découverte générale du réseau
Il ne suffit pas de savoir quels ports sont ouverts, car souvent, ces services peuvent écouter sur des ports non standard. Vous voudrez également savoir quel logiciel et quelle version se cachent derrière le port du point de vue de la sécurité. Grâce aux capacités de détection de service et de version de Nmap, il est possible d'effectuer un inventaire complet du réseau et de découvrir les hôtes et les périphériques, en vérifiant chaque port par périphérique ou hôte et en déterminant quel logiciel se cache derrière chacun.
Nmap se connecte et interroge chaque port ouvert, en utilisant des sondes de détection que le logiciel peut comprendre. En faisant cela, Nmap peut fournir une évaluation détaillée de ce qui existe plutôt que des ports ouverts sans signification.
Pour utiliser cette fonctionnalité puissante, vous devez :
- Activer la détection de service et de version à l'aide du paramètre
-sV
. - Ajouter l'option
--allports
pour scanner chaque port. Par défaut, Nmap ne vérifie pas le port 9100. De nombreuses imprimantes utilisent ce port et, dans de rares cas, Nmap les fait imprimer. - Utilisez
-T4
pour une exécution plus rapide, car cette découverte peut prendre du temps.
$ nmap -sV --allports -T4 10.1.0.0/24
Nmap scan report for 10.1.0.1
Host is up (0.0038s latency).
Not shown: 995 filtered ports
PORT STATE SERVICE VERSION
53/tcp open domain Unbound
80/tcp open http nginx
2022/tcp open ssh OpenSSH 7.5 (protocol 2.0)
5000/tcp open ssl/http-proxy HAProxy http proxy 1.3.1 or later
8443/tcp open ssl/http nginx
Service Info: Device: load balancer
Nmap scan report for 10.1.0.2
Host is up (0.82s latency).
Not shown: 992 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.3p1 Debian 1 (protocol 2.0)
80/tcp open http nginx
111/tcp open rpcbind 2-4 (RPC #100000)
443/tcp open ssl/http nginx
2049/tcp open nfs 3-4 (RPC #100003)
3260/tcp open iscsi?
6000/tcp open http aiohttp 3.6.2 (Python 3.8)
8080/tcp open http Apache httpd 2.4.46 ((Debian) mpm-itk/2.4.7-04 OpenSSL/1.1.1g)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
À partir de la sortie ci-dessus, Nmap a trouvé deux hôtes :10.1.0.1 et 10.1.0.2 .
Le premier hôte est détecté comme un équilibreur de charge - assez proche, car c'est mon routeur exécutant pfSense. Il a également remarqué que plusieurs ports étaient ouverts et que le logiciel écoutait sur chacun d'eux. Il a correctement détecté le serveur DNS comme non lié ; Nginx en tant que serveur Web derrière le port 80 (attendu) et 8443 (un port non standard) ; il a également détecté l'ouverture du port 2022, avec OpenSSH 7.5 derrière lui; et dans le port 5000, Nmap a détecté HAProxy, avec une version d'au moins 1.3.1.
Le deuxième hôte exécute Linux et chaque logiciel a été identifié correctement, à l'exception du serveur iSCSI derrière le port 3260.
Que faites-vous de ces informations ? Sauvegarde le! Vous aurez besoin d'une base de référence pour comparer la prochaine fois que vous analyserez le réseau pour de nouveaux hôtes et services. Vérifiez les vulnérabilités de sécurité pour chaque logiciel détecté. Assurez-vous de reconnaître chaque appareil !
Serveurs DHCP malveillants
Les serveurs DHCP sont un composant fondamental de chaque réseau. Essentiellement, il ne devrait y avoir qu'un seul serveur DHCP par réseau, fournissant toutes les informations nécessaires pour configurer correctement le réseau.
Les serveurs DHCP malveillants sont comme les serveurs DHCP ordinaires, mais ils ne sont pas gérés par le personnel informatique ou réseau. Ces serveurs malveillants apparaissent généralement lorsque les utilisateurs connectent sciemment ou non un routeur au réseau. Une autre possibilité est un appareil IoT compromis tel que des téléphones portables, des imprimantes, des appareils photo, des tablettes, des montres connectées ou quelque chose de pire, comme une application ou une ressource informatique compromise.
Les serveurs DHCP malveillants sont frustrants, surtout si vous essayez de déployer une flotte de serveurs à l'aide de PXE, car PXE dépend fortement de DHCP. De plus, il s'agit d'un risque pour la sécurité et vous pouvez commencer à rencontrer des pannes de réseau car le serveur DHCP non autorisé peut fournir des paramètres et des itinéraires réseau incorrects.
Pour effectuer des découvertes DHCP, Nmap inclut un script appelé broadcast-dhcp-discover . Ce script enverra une requête DHCP à l'adresse de diffusion en utilisant l'adresse MAC de DE:AD:CO:DE:CA:FE et rapportez les résultats.
Dans l'exemple suivant, le script broadcast-dhcp-discover est exécuté sur l'interface bond0 et découvre un serveur DHCP non autorisé :
$ sudo nmap --script broadcast-dhcp-discover -e bond0
Starting Nmap 7.70 ( https://nmap.org ) at 2020-10-28 19:24 CDT
Pre-scan script results:
| dhcp:
| Response 1 of 2:
| Interface: bond0
| IP Offered: 10.1.0.78
| DHCP Message Type: DHCPOFFER
| Server Identifier: 10.1.0.1
| IP Address Lease Time: 5m00s
| Subnet Mask: 255.255.255.0
| Router: 10.1.0.1
| Domain Name Server: 10.1.0.1
| Domain Name: lab.opencloud.io
| Response 2 of 2:
| Interface: bond0
| IP Offered: 10.1.0.27
| DHCP Message Type: DHCPOFFER
| Server Identifier: 10.1.0.3
| IP Address Lease Time: 2m00s
| Renewal Time Value: 1m00s
| Rebinding Time Value: 1m45s
| Subnet Mask: 255.255.255.0
| Broadcast Address: 10.1.0.255
| Router: 10.1.0.3
|_ Domain Name Server: 10.1.0.3
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 10.31 seconds
À partir de la sortie ci-dessus, vous pouvez voir deux réponses différentes correspondant à une réponse de chaque serveur DHCP du réseau.
Le champ le plus important à surveiller est Identifiant du serveur , car cela vous montrera l'adresse IP du serveur DHCP, y compris celle potentiellement malveillante.
Que faites-vous de ces informations ? Les politiques de sécurité de chaque organisation sont différentes. Cependant, dans la plupart des cas, tout DHCP malveillant doit être arrêté et supprimé du réseau.
Appareils UPnP
UPnP, également connu sous le nom de Universal Plug and Play, est un ensemble de plusieurs protocoles permettant à n'importe quelle application de rediriger un port sur votre routeur, ce qui permet de gagner beaucoup de temps dans ce qui serait une configuration de redirection de port manuelle.
Cependant, UPnP est dangereux et, si possible, doit être désactivé sur un réseau. Imaginez avoir un appareil malveillant sur le réseau exécutant des applications malveillantes. Ces applications pourraient facilement utiliser UPnP pour transférer le port vers le monde extérieur et l'utiliser à des fins malveillantes.
UPnP a été exploité à plusieurs reprises. Deux des cas les plus importants sont Mirai , ciblant les caméras IP et les routeurs domestiques, et Pinkslipbot , qui utilise des machines infectées comme proxy HTTPS pour les serveurs de contrôle réels.
Malheureusement, de nombreux appareils domestiques utilisent UPnP de nos jours, y compris les consoles de jeux vidéo ou les appareils de streaming tels que Google Chromecast.
Pour analyser le réseau 10.1.0.0/24 et découvrir les appareils utilisant UPnP, la commande suivante doit être exécutée pour exécuter le plugin broadcast-upnp-info . Utilisez -T4
pour accélérer la découverte :
% nmap -sV --script=broadcast-upnp-info -T4 10.1.0.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2020-11-02 18:59 CST
Pre-scan script results:
| broadcast-upnp-info:
| 239.255.255.250
| Server: Linux/2.6.12, UPnP/1.0, NETGEAR-UPNP/1.0
| Location: http://192.168.1.204:80/Public_UPNP_gatedesc.xml
| Manufacturer: NETGEAR, Inc.
| Name: WAN Device
| Manufacturer: NETGEAR, Inc.
| Name: WAN Connection Device
| Manufacturer: NETGEAR, Inc.
Le script Nmap n'a détecté qu'un seul appareil utilisant UPnP, fournissant les informations nécessaires telles que le fabricant, le système d'exploitation et la version du logiciel.
Que faites-vous de ces informations ? Si vous n'avez pas besoin d'UPnP, il est préférable de le désactiver. Si ce n'est pas possible, assurez-vous que vous reconnaissez l'appareil et qu'il est mis à niveau vers la dernière version du micrologiciel.
[ Vous voulez en savoir plus sur la sécurité ? Consultez la liste de vérification de la sécurité informatique et de la conformité. ]
Conclusion
Dans cet article, nous avons exploré comment utiliser Nmap pour trouver des appareils malveillants potentiels dans nos réseaux. Avec l'avènement et la popularité croissante des appareils IoT (dont beaucoup ne disposent d'aucun mécanisme de sécurité), il est plus que jamais crucial de garder une trace de tous les appareils connectés au réseau. Nmap est un outil pratique à utiliser dans ces cas et plus encore.