Une nouvelle variante de l'attaque de Slipstreaming NAT a été annoncée

Une nouvelle variante de l'attaque de Slipstreaming NAT a été dévoilée, qui permet d'établir une connexion réseau depuis le serveur de l'attaquant vers n'importe quel port UDP ou TCP du système de l'utilisateur qui a ouvert la page Web préparée par l'attaquant dans le navigateur.

L'attaque permet à l'attaquant d'envoyer n'importe quelle donnée à n'importe quel port utilisateur, quelle que soit l'utilisation de la plage d'adresses interne de la victime dans le système de la victime, l'accès au réseau à partir duquel il est fermé directement et n'est possible que via un traducteur d'adresses.

Le principe de fonctionnement de la nouvelle variante par l'attaque de Slipstreaming NAT (CVE-2021-23961, CVE-2020-16043) etest identique à la méthode originale, les différences sont réduits à l'utilisation d'autres protocoles, qui sont traités par l'ALG (Passerelles de niveau application).

Dans la première variante de l'attaque, pour tromper l'ALG, la manipulation du protocole SIP a été utilisée, qui utilise plusieurs ports réseau (un pour les données et un pour le contrôle). La deuxième option permet des manipulations similaires avec le protocole VoIP H.323, qui utilise le port TCP 1720.

Aussi, la deuxième version propose une technique pour contourner la liste noire des ports inacceptables à utiliser avec le protocole TURN (Traversal Using Relays around NAT), qui est utilisé dans WebRTC pour communiquer entre deux hôtes derrière des NAT différents.

Les connexions TURN dans WebRTC peuvent être établies via des navigateurs non seulement pour UDP, mais aussi via TCP et en allant vers n'importe quel port TCP du réseau.

Cette fonctionnalité permet à l'attaque de Slipstreaming NAT d'être appliquée non seulement à H.323, mais également à tout autre protocole combinétels que FTP et IRC, qui sont inclus dans la liste des ports qui ne sont pas autorisés à accéder via HTTP, mais ne sont pas inclus dans la liste des ports interdits pour TURN.

La méthode aussi permet de contourner la protection supplémentaire des navigateurs contre la première attaque de Slipstreaming NAT, basée sur le refus des requêtes HTTP sur le port 5060 (SIP).

Le problème a déjà été résolu dans les versions récentes de Firefox 85, Chrome 87.0.4280.141, Edge 87.0.664.75 et Safari 14.0.3.

Outre les ports réseau associés au protocole H.323, les navigateurs ne peuvent pas non plus envoyer de requêtes HTTP, HTTPS et FTP aux ports TCP 69, 137, 161 et 6566.

Dans le noyau Linux, la fonctionnalité du module conntrack ALG dans netfilter est désactivée par défaut depuis la version 4.14, c'est-à-dire Par défaut, les traducteurs d'adresses basés sur les nouveaux noyaux Linux ne sont pas concernés par le problème.

Par exemple, OpenWRT n'est pas affecté par le problème même lors de l'installation de packages avec des modules ALG. Dans le même temps, la vulnérabilité se manifeste dans la distribution VyOS, qui utilise le noyau Linux 4.14, mais l'indicateur nf_conntrack_helper est explicitement activé, ce qui déclenche ALG pour FTP et H.323.

Le problème aussi affecte de nombreux routeurs grand public livrés avec des noyaux Linux plus anciens ou qui modifient les paramètres ALG. La capacité d'attaque a également été confirmée pour les pare-feu et les traducteurs d'adresses matériels basés sur le matériel Fortinet (FG64, 60E), Cisco (csr1000, ASA) et HPE (vsr1000).

Pour rappel, pour mener une attaque de Slipstreaming NAT, il suffit à la victime de lancer le code JavaScript préparé par l'attaquant, par exemple en ouvrant une page sur le site internet de l'attaquant ou en visualisant un insert publicitaire malveillant sur un site internet. Légitime.

L'attaque se compose de trois étapes:

  • Dans la première étape, l'attaquant obtient des informations sur l'adresse interne de l'utilisateur, qui peut être déterminée par WebRTC ou, si WebRTC est désactivé, par des attaques par force brute avec mesure du temps de réponse lors de la demande d'une image cachée.
  • Dans la deuxième étape, les paramètres de fragmentation des paquets sont déterminés, pour lequel le code JavaScript exécuté dans le navigateur de la victime génère une grande requête HTTP POST (qui ne rentre pas dans un paquet) au serveur de l'attaquant, en utilisant un numéro de port réseau non standard pour démarrer la configuration des paramètres de segmentation de TCP et MTU taille dans la pile de la victime TCP.
  • Dans la troisième étape, Le code JavaScript génère et envoie une requête HTTP spécialement sélectionnée (ou TURN pour UDP) vers le port TCP 1720 (H.323) du serveur attaquant, qui, après fragmentation, se divisera en deux paquets: le premier comprend les en-têtes HTTP et une partie des données, et le second forme un paquet Valid H .323, qui contient l'adresse IP interne de la victime.

source: https://www.armis.com


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.