Skip to content
Rejoignez Censys le 10 septembre 2024 pour notre atelier sur la chasse aux menaces à San Francisco, CA | Inscrivez-vous maintenant
Blogs

Utilisation de Censys pour trouver un S3 mal configuré

Conclusions TL;DR

En moins d'une heure, en utilisant les données de Censys , nous avons trouvé 7 640 buckets S3 potentiels, 49 complètement ouverts (World Read + Write), 16 buckets avec un accès anonyme en écriture, 1 235 avec un accès anonyme en lecture, et plus encore.

Trouver des cibles S3 avec Censys

Amazon S3 (Amazon Simple Storage Service) est un produit qui permet le stockage d'objets sur le web et qui est utilisé par d'innombrables personnes et organisations dans le monde entier. Il est facile à utiliser, mais malheureusement, il est très facile de mal le configurer. Le 20 décembre 2022, on a appris que les buckets S3 de l'éditeur d'éducation McGraw Hill avaient été exposés à l'internet sans la configuration appropriée, laissant les informations personnelles de plus de 100 000 étudiants à la disposition des pirates. Et il ne s'agit pas d'un événement rare ; cela se produit encore et encore.

Bien que Censys ne dispose pas actuellement d'un scanner S3 natif, nous pouvons toujours utiliser les données que nous collectons pour alimenter d'autres outils. Lorsqu'un utilisateur crée un panier, il lui attribue un nom unique qui est ensuite traduit en DNS ; par exemple, si j'ai nommé un panier S3 "censys", ce panier sera disponible via le nom DNS "censys.s3.amazonaws.com ". Ainsi, avant de pouvoir déterminer si un seau S3 est accessible au public, nous devons savoir quel nom a été donné à l'objet de stockage lui-même.

De nombreux outils de sécurité peuvent aider les utilisateurs à trouver des buckets S3 ouverts, mais l'une des parties les plus difficiles est la découverte des cibles (les noms des buckets). Une méthode standard consiste à utiliser la création de noms par force brute ou des combinaisons aléatoires de mots et à tenter de demander le nom à AWS. C'est de cette manière que de nombreux attaquants malveillants trouvent le fruit à portée de main, à savoir des seaux S3 non sécurisés.

Étant donné que Censys a scanné et indexé un nombre considérable d'hôtes sur Internet (environ 276 millions d'hôtes et 2,1 milliards de services au moment de la rédaction de ce document), nous pouvons exploiter ces données pour trouver des noms de seaux S3 potentiels, que nous pouvons ensuite introduire dans l'outil open-source S3Scanner pour déterminer les types d'accès disponibles.

Tout d'abord, nous avons créé une requête SQL qui déverse le contenu de tout corps HTTP contenant le mot "s3" sur Internet dans une autre base de données contenant des métadonnées sur l'hôte. Ensuite, nous avons écrit un script python qui a parcouru chacun de ces corps de réponse HTTP et a analysé les URL de type s3 pour extraire les noms de seaux s3, qui sont ensuite écrits dans un fichier.

Une fois ce script exécuté, nous avons utilisé le fichier de sortie contenant uniquement les noms des seaux comme entrée de l'outil S3Scanner:

~$ s3scanner --threads 8 scan --buckets-file .txt | tee s3scanner_ouput.txt

Enfin, nous avions besoin d'un moyen de générer un rapport sur les résultats de S3Scanner en créant un petit script bash qui traite les données et crée une vue agrégée des résultats.

Résultats

Nous avons pu identifier 7 640 cibles S3 potentielles en peu de temps sans avoir recours à la génération aléatoire de noms. Après avoir exécuté S3Scanner sur ces résultats, nous avons trouvé ce qui suit :

  • 49 buckets S3 permettaient aux utilisateurs anonymes d'exercer un contrôle total sur l'instance (lecture/écriture/ACP lecture/ACP écriture).
  • 16 buckets S3 ont permis à des utilisateurs anonymes d'écrire dans l'instance
  • 18 buckets S3 ont permis à un utilisateur anonyme d'écrire dans la politique de contrôle d'accès (ACP).
  • 515 buckets S3 ont permis à un utilisateur anonyme de lire l'ACP
  • 1 235 buckets S3 étaient lisibles par le monde entier

 

A propos de l'auteur

Mark Ellzey
Chercheur principal en sécurité Tous les postes de Mark Ellzey
Mark Ellzey est chercheur principal en sécurité à l'adresse Censys. Avant d'occuper son poste actuel, Mark a travaillé pendant plus de 22 ans en tant qu'ingénieur en sécurité des réseaux et développeur de logiciels pour plusieurs fournisseurs de services Internet et institutions financières.
Solutions de gestion de la surface d'attaque
En savoir plus