Panne Facebook et Hack par BGP #CyberMois

Consultant SEO Marseille

Panne Facebook et Hack par BGP #CyberMois

Aujourd’hui Facebook as dû faire face à la plus grosse attaque de son histoire ou son plus gros bug . il s’agit d’un hack de routage qui a mis a terre tous les services de Facebook, Instagram et Whatsapp et a créé des indisponibilité sur les sites utilisant facebook comme tuers de confiance pour l’identification de connection aux services ou aux sites.

L’occasion de reparler du #CyberMois qui est une initiative du gouvernement pour remettre sur la table la cybersécurité, pour sensibiliser les sociétés aux problèmes de cybersécurité, dont le hack, la securité des mots de passe.

Aujourd’hui on s’aperçoit que cela va au-delà de la fuite de mots de passe. Et je vous assure que vous aller finir par aller acheter un cahier et un stylo pour stocker vos mots de passe à l’ancienne.

Facebook.com disponible à la vente

C’est une information assez étrange vu que le nom de domaine a été réservé jusqu’en 2030. Mais vous aussi vous vous êtes déja fait une fausse joie en essayant d’acheter un nom de domaine qui semblais vide, et vous aperçevoir qu’en fait il avait été mal configuré et que comme il ne repondait pas, il apparaissait comme libre chez le registrar.

En fait il s’agit d’un autre problème de configuration, un problème de routage. En gros pour faire correspondre un nom de domaine a un serveur, on lui donne l’adresse ip du serveur.

On va rentrer dans le technique. En réalité Facebook a peut-être été victime d’un hack BGP avec effacement d’adresse de routage.

Cette explication m’a été donnée par L’intelligence artificielle Jarvis

BGP Protocol hack (broadcast gateway protocol)

Qu’est-ce que le hack de BGP ?

Le piratage du protocole BGP est un moyen de détourner tout trafic réseau du cœur de l’Internet, également connu sous le nom de détournement BGP. Le préfixe peut être acheminé dans différents endroits du monde en utilisant le protocole BGP.

Le protocole BGP est conçu de telle sorte que lorsqu’un changement dans les informations de routage se produit, les messages de mise à jour sont transmis sur l’ensemble de l’Internet. Les informations de routage peuvent être modifiées en annonçant une route plus préférable et en retirant les préfixes annoncés (routes) qui ne sont plus atteignables et faisables, connus sous le nom de messages de retrait. Le protocole BGP est basé sur la confiance ; vous faites confiance à vos voisins – les fournisseurs de services – pour transmettre des informations correctes sur vos préfixes et être toujours votre meilleur ami.

Le détournement BGP se produit lorsqu’une fausse route est injectée dans les tables BGP qui sont utilisées pour sélectionner le meilleur chemin pour transférer le trafic. Cette fausse route peut pointer vers des routeurs qui ne sont pas sous votre contrôle administratif ou qui existent même. De telles routes ont causé des dommages collatéraux dans le passé, par exemple, lorsque Pakistan Telecom a annoncé des blocs /16 d’adresses des réseaux routés qui n’étaient pas les siens.

L’idée du détournement BGP est très simple en théorie, mais dans la pratique, elle peut s’avérer compliquée car il faut découvrir le FAI responsable des routes que l’on veut prendre en charge, identifier les routeurs vulnérables dans leur réseau et envoyer des messages de mise à jour avec un préfixe plus préférable ou supprimer les faux /16 « 

Comment cela est-il possible ?

Avec le protocole BGP, les FAI peuvent annoncer des préfixes pour leurs clients à d’autres FAI. Ils ne se soucient généralement pas de la route qui leur sera donnée par les différents pairs car il n’y a pas d’impact négatif de mauvaises annonces de routage. Les politiques de routage sont utilisées pour que, si le client A est en panne, il passe automatiquement à la meilleure solution de secours chemin mappé vers le client A. Tout ceci est contrôlé par la configuration locale des deux pairs BGP.

Tout le monde ne sait pas ce qu’il gère en termes de réseaux et de routage, car même les grandes entreprises ont externalisé certaines parties de leur réseau ou l’ont entièrement transféré dans le cloud.

Lorsque vous externalisez votre infrastructure, vous abandonnez également le contrôle des politiques de routage . Tout le monde sur Internet fait confiance à son voisin.

Le problème est qu’une fois que vous êtes un ISP, vous pouvez envoyer des annonces à vos pairs BGP de n’importe quelle route qu’ils peuvent ensuite transmettre à d’autres AS plus loin dans la chaîne. Cela signifie que si quelqu’un compromet un autre réseau, il peut injecter de fausses informations dans les tables BGP et rediriger de grandes quantités de trafic vers lui à des fins malveillantes. Cela pourrait être utilisé dans le cadre d’attaques par déni de service ou d’empoisonnement du DNS. En procédant ainsi, les FAI enverront automatiquement toutes vos données destinées à ces adresses à l’attaquant parce qu’il a un chemin plus préférable / plus court que vous.

Que se passe-t-il lorsque les paquets suivent un chemin moins préférable ?

La perte de paquets se produit lorsque chaque routeur le long du chemin essaie de trouver des solutions alternativesdans sa table de routage pour le meilleur chemin à prendre. Cela signifie que les routeurs situés le long du chemin le moins préférable abandonnent des paquets afin de les réacheminer le long d’un chemin plus préférable et, ce faisant, agrègent le trafic d’une manière qui entraîne une congestion. Cela entraîne de mauvaises performances et conduit souvent à des interruptions de connexion/perte de connectivité.

Un exemple simple :

1) Votre FAI vous donne l’adresse IP A via le peer 1 de BGP

2) Vous envoyez des données destinées à l’adresse IP A par l’intermédiaire de votre FAI, qui les envoie ensuite à l’homologue BGP 1

3) Si le peer 1 de BGP propage cette information sur Internet, tout le monde essaiera d’atteindre l’adresse IP A via ce FAI, ce qui entraînera une perte de paquets lorsqu’il n’y en aura plus de disponibles

4) Si le pair 1 de BGP ne propage pas cette information sur Internet, seuls les paquets destinés à l’adresse IP A seront envoyés à votre FAI, qui pourra vous les transmettre

5) Dans les deux cas, les performances d’Internet sont améliorées car il y a moins de paquets perdus et le trafic est acheminé plus efficacement. La première solution est considérée comme le meilleur chemin, le chemin le plus court ou le chemin préféré, tandis que la deuxième solution est considérée comme une sauvegarde ou un saut suivant.

Figure 1 : Perte de paquets causée par des routes moins préférables Si quelqu’un veut détourner le trafic d’un autre en utilisant BGP, il a besoin de deux choses

1) L’accès à un routeur qu’il contrôle. Cela permet à notre attaquant d’injecter de fausses informationsdans les tables BGP, ce qui conduira ensuite à l’acheminement des paquets par un chemin moins préférable. Par exemple, quelqu’un peut envoyer de faux messages de contrôle, qui contiennent de fausses informations sur les routes, à un autre routeur

2) Accès à de nombreux routeurs Internet afin que le trafic puisse être détourné sur plusieurs chemins à la fois

Le premier problème peut être résolu en accédant au réseau d’un FAI ou en trouvant un point vulnérable où vous pouvez injecter de fausses données dans le processus de routage. Pour ce faire, vous pouvez pirater un FAI ou en trouver un dont la sécurité est faible et qui est prêt à collaborer avec vous dans le cadre de vos activités

Heureusement pour les attaquants, il y a plus qu’assez de réseaux non sécurisés sur Internet de nos jours. De nos jours, la plupart des fournisseurs d’accès à Internet privilégient les clients plutôt que le profitLa sécurité est donc souvent reléguée au second plan par rapport à la satisfaction du client. Il est donc plus facile pour les attaquants de trouver des FAI présentant des vulnérabilités critiques ou des portes dérobées qu’ils peuvent exploiter

Le deuxième problème est résolu en utilisant le détournement de préfixe, qui consiste à envoyer de fausses informations de routage via des messages BGP. L’attaquant injecte un message BGP dans un routeur central, indiquant que la plage d’adresses IP de la victime appartient à son ASN et demandant aux routeurs de son réseau de ne pas transmettre les paquets destinés à ces adresses par le meilleur chemin. Cela oblige le trafic destiné à ces adresses IP à suivre une route alternative telle que celle choisie par l’attaquant. Il sort alors du réseau du FAI par un lien backdoor et entre dans le réseau d’un autre FAI, car les paquets doivent passer par au moins deux FAI pour pouvoir être acheminés jusqu’à leur destination. Une fois qu’il entre dans le réseau du prochain FAI, l’attaquant envoie un autre faux message BGP pour indiquer que les adresses IP de la victime appartiennent maintenant à son ASN, de sorte que les paquets sont à nouveau acheminés via le lien backdoor

Figure 2 : Une situation où cette attaque peut être réalisée L’algorithme derrière le détournement est simple

1) Trouvez une vulnérabilité critique dans un FAI ou recrutez quelqu’un au sein d’un FAI qui vous aidera. Ce routeur doit émettre des messages BGP et avoir accès aux routeurs Internet 2) Utiliser ce routeur pour indiquer aux FAI comment le trafic destiné à des plages d’adresses IP spécifiques doit être acheminé. 3) Détourner le trafic en utilisant vos propres routeurs Internet qui appartiennent à d’autres FAI 4) Atteindre votre cible ou tout ce que vous voulez/devez faire 5) Collecter le butin

Afin d’accomplir ces étapes, un attaquant doit avoir une connaissance de base de BGP. Dans cet exemple, nous utiliserons l’ASN 64512. Notre cible est une société de commerce électronique qui utilise des adresses IP privées parce qu’elle n’a pas besoin d’espace IP publicL’administrateur réseau de la société croit en la sécurité…

Figure 3 : …mais il est humain et fait des erreurs Figure 4 : La gamme de réseau de notre victime ISP Chaque ISP a un ASN unique par lequel tous les autres ISP les identifient. Comme notre cible appartient à l’ASN 64512, cela signifie que ses plages d’adresses IP sont comprises entre 172.16.0.0 et 172.31.255.255

Nous trouvons le routeur frontalier par lequel il entre enl’Internet

Figure 5 : Le routeur frontalier où notre cible entre dans l’Internet

La plage d’adresses IP de la victime est 172.16.0.0/24

Lorsque des paquets BGP sont envoyés entre deux routeurs, ils contiennent un champ indiquant combien d’autres réseaux peuvent être présents dans cet ASN avant d’atteindre la destination finale. Cela signifie que lorsque nos routeurs s’envoient des paquets BGP, ils spécifieront qu’il n’y a que trois adresses IP dans ce réseau particulier car c’est ce qu’ils croient être vrai

Si la route n’existe pas dans la table de routage d’un ISP, il ne peut pas faire suivre le trafic destiné à ces adresses IP en utilisant ce paquet BGP ou mettre à jour correctement ses tables de routage lorsqu’une route existante devient invalide pour des raisons techniques. Au lieu de cela, le FAI laisse tomber les paquets destinés à notre cible

Cela signifie que le seul moyen d’envoyer des paquets à notre victime par le biais de ce FAI est d’utiliser un lien backdoor. Cette liaison n’a pas besoin d’être très rapide ou fiable puisque tout le trafic destiné à cette plage d’adresses IP la suivra

Figure 6 : La table de routage du routeur frontalier révèle le fonctionnement du détournement de préfixe

Figure 7 : Le trafic envoyé à l’aide de messages BGP ne peut pas atteindre les paquets de notre victime car ils sont abandonnés par le routeur lorsque la route n’existe pas dans sa table de routage. Cela s’applique également aux changements ultérieurs d’adresses IP au sein d’une route existante

Si nous ne possédons pas les plages d’adresses IP associées aux ASN des autres FAI, nous pouvons toujours injecter de faux messages BGP dans les routeurs centraux appartenant à d’autres FAI qui connectent notre FAI aux routeurs frontaliers d’autres FAI. Ces messages vont non seulement activer le lien backdoor mais aussi redistribuer les routes de notre cible dans les tables de routage des autres fournisseurs

Figure 8 : Le routeur injecte de faux paquets BGP contenant la route de la victime pour établir la communication entre différents ASN (dans ce cas, ASN 64512 et 65535)

Cette méthode de détournement est moins efficace car il y a plus de préfixes associés à chaque réseau que dans la figure 7. Cependant, elle peut devenir une méthode principale si un attaquant sait comment augmenter le nombre d’adresses IP pour un ASN particulier en utilisant des techniques d’injection de commandes sur Cisco IOS en utilisant des identifiants d’ensembles de services (ASN) avancés ou des attaques de rebinding DNS

En plus deles exemples que nous avons fournis, vous pouvez également utiliser cette attaque pour remplacer les informations de routage pour certaines plages d’adresses IP afin d’intercepter et de modifier le trafic destiné à des adresses IP privées.

Notre outil de détournement BGP ne nécessite pas de connaître la plage d’adresses IP de la victime ou les spécificités de son routeur (numéro ASN, commandes, etc.)

Une valeur de 1 indique qu’un ASN appartient à notre ISP et une valeur de 2 signifie qu’il appartient à d’autres ISP. Nous définissons notre lien backdoor comme « 1 » tandis que le FAI légitime est défini comme « 2 »

Figure 10 : Le menu principal de l’outil Figure 11 : La route d’une victime remplacée par d’autres routes associées à son lien backdoor

Une fois que nous avons réussi à détourner la route de la victime,notre outil génère un script shell qui contient toutes les commandes nécessaires pour réaliser cette attaque, y compris les paquets BGP requis pour l’injection dans les routeurs centraux

Figure 12 : mise en place d’un lien backdoor à l’aide du script généré

Nous pouvons injecter nos liens backdoor en utilisant les protocoles UDP ou TCP. Pour UDP, nous utilisons des scripts d’exploitation personnalisés pour envoyer des messages BGP usurpés tandis que la commande « tcpreplay » envoie le trafic TCP. Vous devez utiliser des adresses de machine distinctes si vous tentez d’envoyer différents types de données sur la même adresse car elles sont traitées en parallèle par Cisco IOS au lieu d’être séquentielles

Lors de l’établissement d’une connexion TCP, votre pare-feu peut bloquer l’accès en fonction du nombre de connexions entrantes qu’il autorise. Si cela pose un problème, vous pouvez réduire temporairement ces paramètres avant d’établir une connexion TCPNous pouvons également utiliser cet outil dans une attaque de rebinding DNS. L’extrait de code suivant montre comment nous générons des scripts shell et des techniques d’injection de commandes pour effectuer un rebinding DNS :

Figure 13 : utilisation de l’outil de détournement BGP dans une attaque de rebinding DNS

Si nous injectons notre lien backdoor dans le routeur domestique de notre cible, nous devons configurer son ordinateur avec une route supplémentaire qui redirige tout le trafic destiné à Internet vers l’adresse de notre machine (adresse IP 192.168.0.1). Notre porte dérobée sera située entre la victime et Internet, interceptant et modifiant les paquets avant de les transmettre à leur destination initiale. Cette configuration est très similaire au fonctionnement des inspecteurs de paquets sur les réseaux locaux (LAN)

La panne facebook vue par cloudflare et qui explique le problème BGP

https://blog.cloudflare.com/october-2021-facebook-outage/

J’espères que facebook pourra se relever de ce hack, en tout etat de cause, on s’aperçoit que confier ses datas a des sociétés qui semblent robuste, tout peut s’écrouler en touchant un point sensible. Si un hackeur s’empare d’un nom de domaine, il peut potentiellement récupérer des masses de données en mettant en place un outil de fishing : mettez votre identifiant, confirmez votre mail et saississez votre mot de passe.

qtestqt

tesqtset