Que tentent de faire les 'hackers' ? Je vais te le montrer en quelques commandes - en quelque sorte
septembre 30, 2024 #Accès #docker #HackingAvertissement : Ce billet de blog est destiné uniquement à des fins éducatives. Les informations fournies ici visent à sensibiliser aux vulnérabilités de sécurité et à encourager le développement d'applications web plus sûres. L'utilisation abusive de ces informations à des fins malveillantes est illégale et contraire à l'éthique !
Vue d'ensemble
Les privilèges d'administrateur sont puissants et impliquent une grande responsabilité. Ils permettent aux utilisateurs d'exécuter des tâches au niveau du système et d'accéder à des informations sensibles. Dans ce billet, nous explorerons les techniques pour exploiter des applications avec des privilèges d'administrateur, en utilisant spécifiquement des conteneurs Docker et en montant le répertoire /etc.
Docker est un outil de conteneurisation qui permet de créer et de gérer des environnements isolés. Les conteneurs partagent le noyau du système hôte, mais fonctionnent dans leurs propres espaces utilisateur. En manipulant les configurations de Docker, vous pourriez exploiter des applications avec des privilèges d'administrateur ou obtenir un accès non autorisé à des informations sensibles sur le système hôte.
Installer Docker
Installer Docker : Suivez le guide d'installation officiel de Docker pour installer Docker sur votre système hôte.
(Il s'agit généralement d'utiliser le gestionnaire de paquets pour obtenir le paquet, puis d'ajouter l'utilisateur au groupe, ce que font la plupart des gens, y compris moi, par commodité (pour ne pas avoir à taper constamment sudo docker
, ce que nous allons exploiter aujourd'hui) et de démarrer le démon / service Docker).
Créer et Exécuter le Conteneur pour Tester :
Utilisez la commande suivante pour créer et exécuter un conteneur Docker avec la distribution Alpine Linux et un shell interactif :
Monter le Répertoire /etc pour Abuser des Configurations / Mauvaises Configurations:
Pour monter le répertoire /etc depuis votre système hôte dans le conteneur, utilisez l'option -v. Par exemple, pour monter /etc dans /mnt/etc dans le conteneur :
Explorer le Conteneur
Accéder au Shell du Conteneur : Après avoir exécuté le conteneur avec le répertoire monté, vous serez dans le shell du conteneur. Vous pouvez naviguer jusqu'au répertoire /etc monté avec :
Afficher les Fichiers du Système Hôte :
Les fichiers du répertoire /etc de l'hôte seront accessibles dans le conteneur. Par exemple, vous pouvez lister les fichiers avec :
# Quelque chose comme /etc/shadow contient tous les mots de passe et les utilisateurs, par exemple.
Exploitation et Explication Escalade des Privilèges dans Docker
Privilèges du Conteneur : Les conteneurs sont généralement isolés du système hôte. Cependant, le montage de répertoires sensibles tels que /etc peut exposer des fichiers de configuration qui pourraient contenir des informations précieuses si le conteneur n'est pas correctement sécurisé.
Montage de Répertoires Sensibles : En montant des répertoires depuis le système hôte, vous pouvez accéder à des fichiers sensibles. Par exemple :
Cela monte le répertoire /etc de l'hôte dans /mnt/etc dans le conteneur, permettant l'accès aux fichiers de configuration de l'hôte. Cela signifie qu'un hacker, qui aurait pu obtenir certains privilèges d'utilisateur sur le serveur via Docker, pourrait obtenir des privilèges d'administrateur. Cela nécessiterait que l'utilisateur (au sens Linux - l'identité que le hacker a volée) soit dans le groupe Docker, ce que beaucoup de gens font, moi y compris sur mon ordinateur personnel. Cela permet d'éviter de taper sudo et le mot de passe à chaque fois, mais...
Configurations Incorrectes Potentielles : Des configurations incorrectes de Docker ou l'exécution de conteneurs avec des privilèges élevés peuvent conduire à une escalade des privilèges. Par exemple, si le démon Docker est exposé ou si les conteneurs sont exécutés avec des privilèges excessifs, cela pourrait être exploité davantage.
Conclusion et Mesures Correctives
Conclusion
Le montage de répertoires hôtes dans des conteneurs Docker peut exposer des informations sensibles du système hôte. Dans cet exemple, le montage du répertoire /etc permet d'accéder à des fichiers de configuration critiques du système. Une configuration correcte de la sécurité de Docker est essentielle pour éviter les accès non autorisés et l'escalade des privilèges.
Mesures Correctives
- Sécuriser le Démon Docker : Assurez-vous que Docker n'est pas exposé à des utilisateurs non autorisés. Utilisez TLS pour la communication avec le démon Docker.
- Appliquer le Principe du Moindre Privilège : Exécutez les conteneurs avec les privilèges les plus réduits possibles. Évitez d'exécuter des conteneurs en tant que root. Évitez d'ajouter l'utilisateur au groupe Docker, surtout dans les environnements de production.
- Surveiller et Auditer : Auditez régulièrement les configurations Docker et la sécurité des conteneurs pour identifier et corriger les vulnérabilités.
- Mettre à Jour Régulièrement : Maintenez Docker et les images de conteneurs à jour pour corriger les vulnérabilités connues.
En suivant ces meilleures pratiques, vous pouvez mieux sécuriser vos environnements Docker et réduire le risque d'exploitation des privilèges d'administrateur.
Et ne vous inquiétez pas si vous vous demandez ce qu'il faut faire avec cela et comment vous êtes arrivé ici en premier lieu ; ce sont les questions que vous devriez poser. Nous aborderons tout en fonction de l'intérêt. Envoyez donc vos questions et à bientôt.