Docker Forensics
Aprende y practica Hacking en AWS: HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Modificación de Contenedores
Existen sospechas de que algún contenedor de Docker fue comprometido:
Puedes encontrar fácilmente las modificaciones realizadas en este contenedor con respecto a la imagen con:
En el comando anterior C significa Cambiado y A, Añadido.
Si descubres que algún archivo interesante como /etc/shadow
fue modificado, puedes descargarlo del contenedor para verificar la actividad maliciosa con:
También puedes compararlo con el original ejecutando un nuevo contenedor y extrayendo el archivo de él:
Si encuentras que se agregó algún archivo sospechoso puedes acceder al contenedor y verificarlo:
Modificaciones de imágenes
Cuando se te proporciona una imagen de Docker exportada (probablemente en formato .tar
) puedes usar container-diff para extraer un resumen de las modificaciones:
Entonces, puedes descomprimir la imagen y acceder a los blobs para buscar archivos sospechosos que hayas encontrado en el historial de cambios:
Análisis Básico
Puedes obtener información básica de la imagen en ejecución:
También puedes obtener un resumen historial de cambios con:
También puedes generar un dockerfile a partir de una imagen con:
Buceo
Para encontrar archivos añadidos/modificados en imágenes de docker también puedes usar la utilidad dive (descárgala desde releases):
Esto te permite navegar a través de los diferentes bloques de imágenes de Docker y verificar qué archivos fueron modificados/agregados. Rojo significa agregado y amarillo significa modificado. Usa tabulador para moverte a la otra vista y espacio para colapsar/abrir carpetas.
Con die
no podrás acceder al contenido de las diferentes etapas de la imagen. Para hacerlo, necesitarás descomprimir cada capa y acceder a ella.
Puedes descomprimir todas las capas de una imagen desde el directorio donde se descomprimió la imagen ejecutando:
Credenciales de la memoria
Tenga en cuenta que al ejecutar un contenedor de Docker dentro de un host puede ver los procesos en ejecución en el contenedor desde el host simplemente ejecutando ps -ef
Por lo tanto (como root) puede volcar la memoria de los procesos desde el host y buscar credenciales tal y como se muestra en el siguiente ejemplo.
Last updated