l'Internet

Ports ouverts : comment ils pourraient les attaquer et ce qu’ils peuvent faire

Nous sommes sûrs que vous avez tous déjà dû « ouvrir un port », ou plutôt faire une « redirection de port » sur le routeur, puisque tous les ordinateurs du réseau local sont derrière le NAT. Afin d’accéder à ces appareils qui sont sur le réseau local depuis Internet, nous devons « ouvrir un port » ou faire « Redirection de port » sur le routeur, sinon, nous ne pourrons pas accéder à ce service depuis Internet (SSH serveur, serveur FTP, serveur OpenVPN, etc.) Aujourd’hui, dans RedesZone, nous allons expliquer ce que cela signifie pour un port d’être ouvert, comment ils pourraient attaquer les ports ouverts et ce qu’ils pourraient faire.

Qu’est-ce que cela signifie pour un port d’être « ouvert » ?

Les communications au niveau de la couche transport, utilisant principalement les protocoles TCP et UDP, utilisent ce que l’on appelle le «socket Internet». Cette socket constitue un mécanisme par lequel deux processus (des applications par exemple) peuvent échanger des données via le réseau local ou via Internet. Tout flux de données utilisant TCP ou UDP nécessite au moins les informations suivantes :

  • IP source
  • Port d’origine
  • IP de destination
  • port de destination

Dans un réseau local, de manière complètement automatique et transparente, les ports sont continuellement ouverts et fermés par les différents processus pour pouvoir communiquer avec d’autres ordinateurs. Pour que deux processus puissent communiquer, il est nécessaire qu’un processus puisse « localiser » l’autre pour obtenir des services ou vous fournir des services.

Lorsque l’on définit qu’un «port est ouvert», cela peut être dans deux scénarios très différents :

  • Un port ouvert sur un ordinateur local , par exemple, sur notre ordinateur ou sur un serveur local. En principe, tous les ports doivent être fermés car le pare-feu est normalement configuré de manière restrictive (tout est bloqué sauf ce qui est spécifiquement autorisé).
  • Un port ouvert dans le NAT du routeur . Normalement, dans le routeur, nous n’avons aucun port «ouvert», ou plutôt, nous n’avons dans la section «Serveur virtuel» ou «Redirection de port» aucun port vers aucun ordinateur. Par défaut dans n’importe quel routeur, cette table est vide, cependant, nous pouvons enregistrer différentes règles pour ouvrir des ports vers différents ordinateurs.

Quand devons-nous ouvrir des ports localement ?

Si notre ordinateur local agit comme un serveur «quelque chose», comme, par exemple, un serveur FTP, un serveur Web, un serveur SSH, un serveur VPN, un serveur de base de données et un long etc., nous devrons avoir un ou plusieurs ports ouverts sur le pare-feu pour que les différents ordinateurs du réseau local ou d’Internet puissent accéder à nos services, sinon, ils ne pourront pas y accéder car le pare-feu bloquera cette communication et les connexions ne seront pas établies.

Normalement, dans un environnement domestique, si nous définissons Windows 10 ou un système d’exploitation basé sur Linux comme «Réseau privé» ou «Réseau domestique», le pare-feu est désactivé et toutes les connexions entrantes seront autorisées. Cependant, si nous l’avons comme «Réseau public», le pare-feu sera activé et bloquera toutes les connexions entrantes que nous n’avons pas précédemment établies en sortie, nous sommes donc confrontés à un pare-feu «restrictif».

Quand devons-nous ouvrir des ports dans le NAT du routeur ?

Si on a un ordinateur sur le réseau local qui fait office de serveur « pour quelque chose », comme dans le cas précédent, et qu’on veut que ces services soient accessibles depuis Internet, il faudra faire un « port forwarding » ou encore appelés « ports ouverts ». De cette façon, si quelqu’un ouvre un socket avec l’adresse IP publique et un port externe correspondant, ce flux de données sera automatiquement transmis à l’ordinateur pour lequel nous avons «ouvert les ports».

Tout routeur par défaut n’a aucune règle pour effectuer la redirection de port, nous devrons le faire spécifiquement. De plus, un détail très important est que si votre opérateur dispose du CG-NAT, même si vous ouvrez un port sur le routeur en externe, vous ne pourrez rien faire pour accéder aux ressources internes du réseau local.

Comment attaquer un port ?

Vous ne pouvez pas vraiment «attaquer» un port, ce qui est attaqué est le service derrière ce «port» qui écoute pour accepter les connexions entrantes. Par exemple, si nous avons ouvert le port 5555 et qu’un serveur FTP est configuré ici, nous attaquerons le service FTP, mais pas le port. Le port reste une « porte » vers l’information, ce qui est vraiment attaqué, ce sont les services derrière ces ports.

Le terme « attaquer un port » est couramment utilisé, alors qu’il faut vraiment dire « faire une analyse de port » pour vérifier quels ports sont ouverts sur un certain ordinateur, pour attaquer plus tard les services derrière ce service spécifique. Pour effectuer un scan de port, il existe de nombreuses méthodes, mais, sans aucun doute, la meilleure que nous puissions utiliser est d’effectuer un scan avec Nmap, le programme de découverte d’hôte et de scan de port par excellence, en plus, il permettrait également son exploitation via NSE c’est un add-on à Nmap avec la possibilité de cracker différents services et d’exploiter les vulnérabilités connues.

Nmap est un programme très simple d’utilisation, il suffit de l’installer sur n’importe quel système d’exploitation basé sur Linux pour démarrer son fonctionnement, il se trouve dans les référentiels officiels de chaque distribution, il suffit donc d’exécuter la commande suivante :

sudo apt install nmap

Une fois installé, nous devrons exécuter la commande spécifique pour voir si un port est ouvert, filtré ou fermé :

nmap -p PUERTO IP

Nous pourrions également analyser une plage de ports comme suit :

nmap -p PUERTOINICIAL-PUERTOFINAL IP

Par exemple, si nous avons un serveur Web avec HTTP et HTTPS en cours d’exécution, il est tout à fait normal que nous ayons les ports 80 et 443 ouverts, comme ceci :

Vérifier les ports ouverts, filtrés ou fermés avec Nmap est simple, cependant, nous vous recommandons de lire le wiki complet de Nmap où nous avons des manuels détaillés étape par étape des différents types d’analyse de port disponibles.

Que peut faire un cybercriminel avec un port ouvert ?

Lorsque nous avons un port ouvert, il peut y avoir divers cas autour de ce qu’un cybercriminel peut ou ne peut pas faire. Si nous avons un port ouvert, mais qu’il n’y a pas de service derrière lui à l’écoute, il ne pourra rien faire du tout, cependant, le numéro de port ouvert pourrait être «enregistré» au cas où nous mettrons un service à écouter à l’avenir .

Si nous avons un port ouvert et qu’il y a un service derrière l’écoute, il pourrait effectuer de nombreuses actions :

  • Utiliser un moyen légitime pour vérifier son fonctionnement
  • Si le service nécessite une authentification, il peut effectuer une attaque par dictionnaire ou par force brute pour accéder au service.
  • Effectuez une attaque par déni de service pour empêcher le service de fonctionner correctement et pour arrêter de fournir le service.
  • Exploiter une faille de sécurité dans le service, soit pour accéder illégitimement aux ressources du service, soit pour entrer dans le système, et même pour élever les privilèges et prendre le contrôle total du serveur.

Comme vous pouvez le voir, avec un port ouvert et un service qui s’exécute derrière, un cybercriminel peut effectuer de nombreuses actions malveillantes, il est donc très important de protéger les services derrière ce port, pour les protéger, il est conseillé d’effectuer les actions suivantes :

  • Configurez correctement le pare-feu pour autoriser l’accès uniquement à ceux qui en ont vraiment besoin, par exemple, vous pouvez filtrer par pays.
  • Pour atténuer les attaques DoS, vous pouvez configurer des règles de pare-feu pour refuser un trop grand nombre de connexions simultanées à la même adresse IP source.
  • Vous pouvez installer un programme comme fail2ban pour détecter plusieurs tentatives de connexion, puis dire au pare-feu de bloquer l’adresse IP source.
  • En durcissant le service qui écoute, qu’il s’agisse d’un serveur SSH, FTP ou d’un serveur web, il y a toujours des paramètres avancés dans ces services pour les protéger encore plus.
  • Renforcement du système d’exploitation qui héberge le service, définition de politiques d’authentification robustes, mise à jour du système et même utilisation de systèmes avancés tels que SELinux, entre autres.

Il existe de nombreuses mesures de sécurité que nous pouvons appliquer à un système et à un service pour être plus sécurisé, mais vous devez garder à l’esprit que la sécurité à 100% n’existe pas, par conséquent, vous devez être préparé à un incident et pouvoir récupérer le système.

Articles Similaires

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba