Pentesting Cloud Methodology
Last updated
Last updated
Apprenez et pratiquez le Hacking AWS :Formation HackTricks AWS Red Team Expert (ARTE) Apprenez et pratiquez le Hacking GCP : Formation HackTricks GCP Red Team Expert (GRTE)
Chaque cloud a ses propres particularités, mais en général, il y a quelques choses communes qu'un pentester devrait vérifier lors du test d'un environnement cloud :
Vérifications de référence
Cela vous aidera à comprendre la taille de l'environnement et les services utilisés
Cela vous permettra également de trouver quelques mauvais configurations rapides car vous pouvez effectuer la plupart de ces tests avec des outils automatisés
Énumération des services
Vous ne trouverez probablement pas beaucoup plus de mauvaises configurations ici si vous avez correctement effectué les tests de référence, mais vous pourriez en trouver certaines qui n'étaient pas recherchées dans le test de référence.
Cela vous permettra de savoir ce qui est exactement utilisé dans l'environnement cloud
Cela aidera beaucoup dans les étapes suivantes
Vérifiez les actifs exposés
Cela peut être fait lors de la section précédente, vous devez découvrir tout ce qui est potentiellement exposé à Internet d'une manière ou d'une autre et comment cela peut être accessible.
Ici, je parle d'infrastructure exposée manuellement comme des instances avec des pages web ou d'autres ports exposés, et aussi d'autres services gérés par le cloud qui peuvent être configurés pour être exposés (comme des bases de données ou des buckets)
Ensuite, vous devriez vérifier si cette ressource peut être exposée ou non (informations confidentielles ? vulnérabilités ? mauvaises configurations dans le service exposé ?)
Vérifiez les permissions
Ici, vous devriez découvrir toutes les permissions de chaque rôle/utilisateur à l'intérieur du cloud et comment elles sont utilisées
Trop de comptes hautement privilégiés (contrôle total) ? Clés générées non utilisées ?... La plupart de ces vérifications auraient déjà dû être effectuées dans les tests de référence
Si le client utilise OpenID ou SAML ou d'autres fédérations, vous pourriez avoir besoin de leur demander plus d'informations sur comment chaque rôle est attribué (ce n'est pas la même chose que le rôle d'administrateur soit attribué à 1 utilisateur ou à 100)
Il n'est pas suffisant de trouver quels utilisateurs ont des permissions admin "*:*". Il y a beaucoup d'autres permissions qui, selon les services utilisés, peuvent être très sensibles.
De plus, il existe des chemins potentiels de privesc à suivre en abusant des permissions. Toutes ces choses doivent être prises en compte et autant de chemins de privesc que possible doivent être rapportés.
Vérifiez les Intégrations
Il est très probable que des intégrations avec d'autres clouds ou SaaS soient utilisées à l'intérieur de l'environnement cloud.
Pour les intégrations du cloud que vous auditez avec d'autres plateformes, vous devriez notifier qui a accès à (ab)user de cette intégration et vous devriez demander à quel point l'action effectuée est sensible. Par exemple, qui peut écrire dans un bucket AWS d'où GCP obtient des données (demandez à quel point l'action est sensible dans GCP en traitant ces données).
Pour les intégrations à l'intérieur du cloud que vous auditez provenant de plateformes externes, vous devriez demander qui a accès de l'extérieur pour (ab)user de cette intégration et vérifier comment ces données sont utilisées. Par exemple, si un service utilise une image Docker hébergée dans GCR, vous devriez demander qui a accès pour la modifier et quelles informations sensibles et accès obtiendra cette image lorsqu'elle est exécutée à l'intérieur d'un cloud AWS.
Il existe plusieurs outils qui peuvent être utilisés pour tester différents environnements cloud. Les étapes d'installation et les liens seront indiqués dans cette section.
Un outil pour identifier les mauvaises configurations et les chemins de privesc dans les clouds et à travers les clouds/SaaS.
Il prend en charge AWS, GCP et Azure. Vérifiez comment configurer chaque fournisseur dans https://docs.prowler.cloud/en/latest/#aws
AWS, Azure, Github, Google, Oracle, Alibaba
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure
Téléchargez et installez Steampipe (https://steampipe.io/downloads). Ou utilisez Brew :
AWS, GCP, Azure, DigitalOcean. Il nécessite python2.7 et semble non maintenu.
Nessus a un Audit Cloud Infrastructure scan prenant en charge : AWS, Azure, Office 365, Rackspace, Salesforce. Certaines configurations supplémentaires dans Azure sont nécessaires pour obtenir un Client Id.
Cloudlist est un outil multi-cloud pour obtenir des actifs (noms d'hôtes, adresses IP) des fournisseurs de cloud.
Cartography est un outil Python qui consolide les actifs d'infrastructure et les relations entre eux dans une vue graphique intuitive alimentée par une base de données Neo4j.
Starbase collecte des actifs et des relations à partir de services et de systèmes, y compris l'infrastructure cloud, les applications SaaS, les contrôles de sécurité, et plus encore, dans une vue graphique intuitive soutenue par la base de données Neo4j.
Découvrez les utilisateurs les plus privilégiés dans l'environnement AWS ou Azure scanné, y compris les AWS Shadow Admins. Il utilise PowerShell.
Un outil pour trouver l'infrastructure, les fichiers et les applications d'une entreprise (cible) sur les principaux fournisseurs de cloud (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
CloudFox est un outil pour trouver des chemins d'attaque exploitables dans l'infrastructure cloud (actuellement uniquement AWS et Azure pris en charge avec GCP à venir).
C'est un outil d'énumération qui est destiné à compléter le pentesting manuel.
Il ne crée ni ne modifie aucune donnée dans l'environnement cloud.
Stormspotter crée un “graphique d'attaque” des ressources dans une souscription Azure. Il permet aux équipes rouges et aux pentesters de visualiser la surface d'attaque et les opportunités de pivotement au sein d'un locataire, et renforce vos défenseurs pour s'orienter rapidement et prioriser le travail de réponse aux incidents.
Vous avez besoin de Global Admin ou au moins de Global Admin Reader (mais notez que Global Admin Reader est un peu limité). Cependant, ces limitations apparaissent dans certains modules PS et peuvent être contournées en accédant aux fonctionnalités via l'application web.
Apprenez et pratiquez le Hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le Hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)