¿Cómo hackear cuentas de Google Cloud (GCP) a través de la técnica Ghost Token?

El grupo de investigación de seguridad de Astrix descubrió una vulnerabilidad de día cero en la plataforma en la nube de Google (GCP), lo que significa que todos los clientes de Google están en riesgo. Debido a esta vulnerabilidad, a la que se le ha dado el sobrenombre de “GhostToken“, los actores de amenazas pueden hacer que un programa malicioso sea indetectable e imposible de eliminar, lo que provocaría que la cuenta de Google de la víctima se infectara permanentemente con un software troyano. Los atacantes tienen el potencial de ocultar su aplicación maliciosa de la página de administración de aplicaciones de la cuenta de Google de su víctima al explotar una vulnerabilidad conocida como GhostToken. Debido al hecho de que esta es la única ubicación donde los usuarios de Google pueden ver sus aplicaciones y cancelar el acceso a esos programas, la vulnerabilidad hace que la aplicación maliciosa sea imposible de eliminar de la cuenta de Google. El atacante, por otro lado, puede mostrar su programa cuando lo desee, usar el token para iniciar sesión en la cuenta de la víctima y luego ocultar rápidamente la aplicación nuevamente para devolverla a su condición inamovible. Esto se debe a que el token se almacena en la aplicación del atacante. Dicho de otro modo, el atacante está en posesión de un token “fantasma” que pertenece a la cuenta de la víctima.

Es crucial tener en cuenta que, dado que el programa está completamente oculto desde la perspectiva de la víctima, se les impide saber que su cuenta está en peligro en primer lugar, e incluso si lo sospechan, no pueden hacer nada al respecto. aparte de establecer una cuenta de Google totalmente nueva. Esta es una de las razones por las que es tan importante que la aplicación esté completamente oculta a la vista de la víctima.

Los mensajes privados de Gmail de la víctima, los archivos de Google Drive y Photos, los eventos de Google Calendar, las ubicaciones de Google Maps y los servicios de Google Cloud Platform podrían ser accesibles para los atacantes si la víctima otorga a la aplicación maliciosa acceso a estas funciones.

Más grave aún, si los usuarios otorgan derechos cruciales a los atacantes, estos últimos pueden eliminar archivos de Google Drive, enviar correos electrónicos desde la cuenta de Gmail de la víctima para llevar a cabo ataques de ingeniería social, robar datos confidenciales de Google Calendar, Photos o Docs. y llevar a cabo más actividades maliciosas.

Escenario de ataque

El siguiente escenario de ataque se puede construir utilizando las primitivas que se han discutido anteriormente:

La víctima da permiso a una aplicación OAuth de terceros que parece ser completamente confiable. Un atacante adquiere la propiedad de la aplicación o toma el control de ella, momento en el cual el atacante es recompensado con un token de actualización 1//actualizar para la cuenta de Google de la víctima.

El atacante es quien inicia el ciclo de ataque, que consiste en:


El atacante elimina el proyecto que está conectado a la aplicación OAuth aprobada, lo que hace que el proyecto entre en un estado en el que se encuentra en proceso de eliminación. Como se dijo, esto hace que el programa se vuelva invisible para la Víctima y hace que sea imposible que lo elimine.
Cuando el atacante quiere acceder a los datos de la víctima, restaura el proyecto, usa el mismo token de actualización 1//refresh> para recibir un token de acceso y luego usa ese token de acceso para acceder a los datos de la víctima. Este proceso se repite cada vez que el atacante quiere acceder a los datos de la víctima.
Tan pronto como esto termine, el atacante volverá a la primera etapa para ocultar nuevamente el programa a la víctima.
Como se dijo anteriormente, el único método para que un usuario de Google deshabilite el acceso de una aplicación OAuth es ir a la página que enumera todas las aplicaciones que tienen acceso a su cuenta.

Debido a esto, y al hecho de que la vulnerabilidad no se solucionó, los usuarios de Google no pudieron eliminar los programas no autorizados que usaban la falla de GhostToken.

La solución que emitió Google hace que los programas que se encuentran en una condición que se describe como “borrado pendiente” aún estén visibles en las aplicaciones con acceso a la página de su cuenta. Como resultado, el usuario puede desinstalar estas aplicaciones de la misma manera que elimina cualquier otra aplicación. Se recomienda a los usuarios que vayan a esta página para confirmar que están familiarizados con todas las aplicaciones de terceros permitidas y que cada una tiene los permisos mínimos requeridos.