Docker Forensics
Modification du Conteneur
Il y a des soupçons selon lesquels un conteneur Docker aurait été compromis :
Vous pouvez facilement trouver les modifications apportées à ce conteneur par rapport à l'image avec :
Dans la commande précédente C signifie Changé et A, Ajouté.
Si vous constatez qu'un fichier intéressant tel que /etc/shadow
a été modifié, vous pouvez le télécharger depuis le conteneur pour vérifier toute activité malveillante avec :
Vous pouvez également le comparer avec l'original en exécutant un nouveau conteneur et en extrayant le fichier à partir de celui-ci :
Si vous constatez que un fichier suspect a été ajouté, vous pouvez accéder au conteneur et le vérifier :
Modifications d'images
Lorsque vous disposez d'une image Docker exportée (probablement au format .tar
), vous pouvez utiliser container-diff pour extraire un résumé des modifications :
Ensuite, vous pouvez décompresser l'image et accéder aux blobs pour rechercher des fichiers suspects que vous avez peut-être trouvés dans l'historique des modifications :
Analyse de base
Vous pouvez obtenir des informations de base à partir de l'image en cours d'exécution :
Vous pouvez également obtenir un résumé de l'historique des modifications avec :
Vous pouvez également générer un dockerfile à partir d'une image avec :
Plongée
Pour trouver les fichiers ajoutés/modifiés dans les images docker, vous pouvez également utiliser l'utilitaire dive (téléchargez-le depuis les releases):
Cela vous permet de naviguer à travers les différents blobs des images Docker et de vérifier quels fichiers ont été modifiés/ajoutés. Le rouge signifie ajouté et le jaune signifie modifié. Utilisez la touche tabulation pour passer à l'autre vue et espace pour réduire/ouvrir les dossiers.
Avec cela, vous ne pourrez pas accéder au contenu des différentes étapes de l'image. Pour le faire, vous devrez décompresser chaque couche et y accéder. Vous pouvez décompresser toutes les couches d'une image à partir du répertoire où l'image a été décompressée en exécutant :
Identifiants en mémoire
Notez que lorsque vous exécutez un conteneur Docker à l'intérieur d'un hôte, vous pouvez voir les processus s'exécutant sur le conteneur depuis l'hôte en exécutant simplement ps -ef
.
Par conséquent (en tant que root), vous pouvez extraire la mémoire des processus depuis l'hôte et rechercher des identifiants tout comme dans l'exemple suivant.
Last updated