GWS - Google Platforms Phishing
Metodología Genérica de Phishing
Phishing en Grupos de Google
Aparentemente, de forma predeterminada, en los miembros de workspace pueden crear grupos e invitar personas a ellos. Luego puedes modificar el correo electrónico que se enviará al usuario agregando algunos enlaces. El correo electrónico vendrá de una dirección de Google, por lo que parecerá legítimo y es posible que las personas hagan clic en el enlace.
También es posible establecer la dirección DE como el correo electrónico del grupo de Google para enviar más correos electrónicos a los usuarios dentro del grupo, como en la siguiente imagen donde se creó el grupo google--support@googlegroups.com
y se envió un correo electrónico a todos los miembros del grupo (que fueron agregados sin consentimiento alguno)
Phishing en Google Chat
Es posible que puedas iniciar un chat con una persona solo teniendo su dirección de correo electrónico o enviar una invitación para hablar. Además, es posible crear un Espacio que puede tener cualquier nombre (por ejemplo, "Soporte de Google") e invitar miembros a él. Si aceptan, podrían pensar que están hablando con el Soporte de Google:
Sin embargo, en mis pruebas los miembros invitados ni siquiera recibieron una invitación.
Puedes ver cómo funcionaba esto en el pasado en: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
Phishing en Google Docs
En el pasado era posible crear un documento aparentemente legítimo y luego en un comentario mencionar algún correo electrónico (como @usuario@gmail.com). Google enviaba un correo electrónico a esa dirección de correo notificando que fueron mencionados en el documento. Hoy en día, esto ya no funciona, pero si das acceso al correo electrónico de la víctima al documento Google enviará un correo electrónico indicándolo. Este es el mensaje que aparece cuando mencionas a alguien:
Las víctimas podrían tener un mecanismo de protección que no permita que los correos electrónicos que indican que se compartió un documento externo con ellos lleguen a su correo electrónico.
Phishing en Google Calendar
Puedes crear un evento de calendario y agregar tantas direcciones de correo electrónico de la empresa que estás atacando como desees. Programa este evento de calendario en 5 o 15 minutos desde el momento actual. Haz que el evento parezca legítimo y agrega un comentario y un título indicando que necesitan leer algo (con el enlace de phishing).
Este es el aviso que aparecerá en el navegador con un título de reunión "Despidiendo Personas", por lo que podrías establecer un título más parecido al phishing (e incluso cambiar el nombre asociado con tu correo electrónico).
Para que parezca menos sospechoso:
Configúralo para que los destinatarios no puedan ver a las otras personas invitadas
NO envíes correos electrónicos notificando sobre el evento. Entonces, las personas solo verán su advertencia sobre una reunión en 5 minutos y que necesitan leer ese enlace.
Aparentemente, utilizando la API puedes establecer como Verdadero que las personas han aceptado el evento e incluso crear comentarios en su nombre.
Phishing de Redirección en Scripts de Aplicaciones
Es posible crear un script en https://script.google.com/ y exponerlo como una aplicación web accesible por todos que utilizará el dominio legítimo script.google.com
.
Luego, con un código como el siguiente, un atacante podría hacer que el script cargue contenido arbitrario en esta página sin dejar de acceder al dominio:
Por ejemplo, al acceder a https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec verás:
Ten en cuenta que aparecerá una advertencia ya que el contenido se carga dentro de un iframe.
Phishing de OAuth de App Scripts
Es posible crear App Scripts adjuntos a documentos para intentar obtener acceso al token OAuth de las víctimas, para obtener más información consulta:
GWS - App ScriptsPhishing de Aplicaciones OAuth
Cualquiera de las técnicas anteriores podría ser utilizada para hacer que el usuario acceda a una aplicación OAuth de Google que solicitará al usuario cierto acceso. Si el usuario confía en la fuente, podría confiar en la aplicación (incluso si está solicitando permisos de alto privilegio).
Ten en cuenta que Google presenta una molesta advertencia indicando que la aplicación no es de confianza en varios casos y los administradores de Workspace incluso pueden evitar que las personas acepten aplicaciones OAuth.
Google permite crear aplicaciones que pueden interactuar en nombre de los usuarios con varios servicios de Google: Gmail, Drive, GCP...
Al crear una aplicación para actuar en nombre de otros usuarios, el desarrollador necesita crear una aplicación OAuth dentro de GCP e indicar los alcances (permisos) que la aplicación necesita para acceder a los datos de los usuarios. Cuando un usuario desea utilizar esa aplicación, se le pedirá que acepte que la aplicación tendrá acceso a sus datos especificados en los alcances.
Esta es una forma muy atractiva de phishing para usuarios no técnicos que utilizan aplicaciones que acceden a información sensible porque podrían no entender las consecuencias. Sin embargo, en cuentas de organizaciones, hay formas de evitar que esto suceda.
Advertencia de Aplicación no Verificada
Como se mencionó, Google siempre presentará una advertencia al usuario para aceptar los permisos que están otorgando a la aplicación en su nombre. Sin embargo, si la aplicación se considera peligrosa, Google mostrará primero una advertencia indicando que es peligrosa y haciendo más difícil que el usuario otorgue los permisos a la aplicación.
Esta advertencia aparece en aplicaciones que:
Utilizan cualquier alcance que pueda acceder a datos privados (Gmail, Drive, GCP, BigQuery...)
Aplicaciones con menos de 100 usuarios (para aplicaciones > 100 también se necesita un proceso de revisión para dejar de mostrar la advertencia de no verificado)
Alcances Interesantes
Aquí puedes encontrar una lista de todos los alcances de OAuth de Google.
cloud-platform: Ver y administrar tus datos en los servicios de Google Cloud Platform. Puedes suplantar al usuario en GCP.
admin.directory.user.readonly: Ver y descargar el directorio de GSuite de tu organización. Obtener nombres, teléfonos, URL de calendario de todos los usuarios.
Crear una Aplicación OAuth
Comienza creando un ID de cliente OAuth
Ve a https://console.cloud.google.com/apis/credentials/oauthclient y haz clic en configurar la pantalla de consentimiento.
Luego, se te preguntará si el tipo de usuario es interno (solo para personas de tu organización) o externo. Selecciona el que se ajuste a tus necesidades
Interno puede ser interesante si ya has comprometido a un usuario de la organización y estás creando esta aplicación para hacer phishing a otro.
Da un nombre a la aplicación, un correo de soporte (nota que puedes configurar un correo de googlegroup para tratar de anonimizarte un poco más), un logotipo, dominios autorizados y otro correo para actualizaciones.
Selecciona los alcances OAuth.
Esta página está dividida en permisos no sensibles, permisos sensibles y permisos restringidos. Cada vez que agregas un nuevo permiso se agrega en su categoría. Dependiendo de los permisos solicitados, aparecerán diferentes advertencias al usuario indicando qué tan sensibles son estos permisos.
Tanto
admin.directory.user.readonly
comocloud-platform
son permisos sensibles.
Agrega los usuarios de prueba. Mientras el estado de la aplicación sea de prueba, solo estos usuarios podrán acceder a la aplicación, así que asegúrate de agregar el correo al que vas a hacer phishing.
Ahora obtengamos credenciales para una aplicación web utilizando el ID de cliente OAuth previamente creado:
Regresa a https://console.cloud.google.com/apis/credentials/oauthclient, esta vez aparecerá una opción diferente.
Selecciona crear credenciales para una aplicación web
Configura los orígenes de Javascript y las URI de redireccionamiento necesarios
Puedes configurar en ambos algo como
http://localhost:8000/callback
para pruebas
Obtén las credenciales de tu aplicación
Finalmente, vamos a ejecutar una aplicación web que utilizará las credenciales de la aplicación OAuth. Puedes encontrar un ejemplo en https://github.com/carlospolop/gcp_oauth_phishing_example.
Ve a http://localhost:8000
, haz clic en el botón de Iniciar sesión con Google, se te solicitará un mensaje como este:
La aplicación mostrará el token de acceso y de actualización que se pueden utilizar fácilmente. Para obtener más información sobre cómo utilizar estos tokens, consulta:
GCP - Non-svc PersistanceUsando gcloud
gcloud
Es posible hacer algo utilizando gcloud en lugar de la consola web, consulta:
GCP - ClientAuthConfig PrivescReferencias
https://www.youtube-nocookie.com/embed/6AsVUS79gLw - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
https://www.youtube.com/watch?v=KTVHLolz6cE - Mike Felch y Beau Bullock - OK Google, ¿Cómo hago Red Team en GSuite?
Last updated