mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-15 06:13:16 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting
This commit is contained in:
@@ -23,14 +23,14 @@ Puedes **iniciar un chat** con una persona solo teniendo su dirección de correo
|
||||
<figure><img src="../../../images/image (6).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> **Sin embargo, en mis pruebas los miembros invitados ni siquiera recibieron una invitación.**
|
||||
> **Sin embargo, en mis pruebas, los miembros invitados ni siquiera recibieron una invitación.**
|
||||
|
||||
Puedes ver cómo funcionó esto en el pasado en: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](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 en un comentario **mencionar algún correo (como @user@gmail.com)**. Google **enviaba un correo a esa dirección de correo** notificando que fueron mencionados en el documento.\
|
||||
Hoy en día, esto no funciona, pero si **le das al correo de la víctima acceso al documento** Google enviará un correo indicando eso. Este es el mensaje que aparece cuando mencionas a alguien:
|
||||
Hoy en día, esto no funciona, pero si **le das al correo de la víctima acceso al documento**, Google enviará un correo indicando eso. Este es el mensaje que aparece cuando mencionas a alguien:
|
||||
|
||||
<figure><img src="../../../images/image (7).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -71,25 +71,25 @@ Por ejemplo, al acceder a [https://script.google.com/macros/s/AKfycbwuLlzo0PUaT6
|
||||
|
||||
## Phishing de OAuth de App Scripts
|
||||
|
||||
Es posible crear App Scripts adjuntos a documentos para intentar obtener acceso al token de OAuth de una víctima, para más información consulta:
|
||||
Es posible crear App Scripts adjuntos a documentos para intentar obtener acceso al token OAuth de una víctima, para más información consulta:
|
||||
|
||||
{{#ref}}
|
||||
gws-app-scripts.md
|
||||
{{#endref}}
|
||||
|
||||
## Phishing de Apps de OAuth
|
||||
## Phishing de Apps OAuth
|
||||
|
||||
Cualquiera de las técnicas anteriores podría usarse para hacer que el usuario acceda a una **aplicación de Google OAuth** que **solicitará** al usuario algún **acceso**. Si el usuario **confía** en la **fuente**, podría **confiar** en la **aplicación** (incluso si está pidiendo permisos de alto privilegio).
|
||||
|
||||
> [!NOTE]
|
||||
> Ten en cuenta que Google presenta un aviso poco atractivo advirtiendo que la aplicación no es de confianza en varios casos y los administradores de Workspace incluso pueden prevenir que las personas acepten aplicaciones de OAuth.
|
||||
> Ten en cuenta que Google presenta un aviso poco atractivo advirtiendo que la aplicación no es de confianza en varios casos y los administradores de Workspace incluso pueden prevenir 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 de OAuth dentro de GCP** e indicar los scopes (permisos) que la aplicación necesita para acceder a los datos de los usuarios.\
|
||||
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 scopes (permisos) que la aplicación necesita para acceder a los datos de los usuarios.\
|
||||
Cuando un **usuario** quiere **usar** esa **aplicación**, se le **pedirá** que **acepte** que la aplicación tendrá acceso a sus datos especificados en los scopes.
|
||||
|
||||
Esta es una forma muy atractiva de **phishing** a usuarios no técnicos para que usen **aplicaciones que acceden a información sensible** porque podrían no entender las consecuencias. Sin embargo, en cuentas de organizaciones, hay formas de prevenir que esto ocurra.
|
||||
Esta es una forma muy jugosa de **phishing** a usuarios no técnicos para que usen **aplicaciones que acceden a información sensible** porque pueden no entender las consecuencias. Sin embargo, en cuentas de organizaciones, hay formas de prevenir que esto suceda.
|
||||
|
||||
### Aviso de Aplicación No Verificada
|
||||
|
||||
@@ -97,7 +97,7 @@ Como se mencionó, Google siempre presentará un **aviso al usuario para aceptar
|
||||
|
||||
Este aviso aparece en aplicaciones que:
|
||||
|
||||
- Usan cualquier scope que pueda acceder a datos privados (Gmail, Drive, GCP, BigQuery...)
|
||||
- Usan cualquier scope que puede 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 el aviso de no verificada)
|
||||
|
||||
### Scopes Interesantes
|
||||
@@ -107,20 +107,20 @@ Este aviso aparece en aplicaciones que:
|
||||
- **cloud-platform**: Ver y gestionar 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, URLs de calendarios de todos los usuarios.
|
||||
|
||||
### Crear una Aplicación de OAuth
|
||||
### Crear una Aplicación OAuth
|
||||
|
||||
**Comienza creando un ID de Cliente de OAuth**
|
||||
**Comienza creando un ID de Cliente OAuth**
|
||||
|
||||
1. Ve a [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient) y haz clic en configurar la pantalla de consentimiento.
|
||||
2. Luego, se te preguntará si el **tipo de usuario** es **interno** (solo para personas en tu organización) o **externo**. Selecciona el que se ajuste a tus necesidades.
|
||||
- Interno podría ser interesante si ya has comprometido a un usuario de la organización y estás creando esta aplicación para phishing a otro.
|
||||
- Interno puede ser interesante si ya has comprometido a un usuario de la organización y estás creando esta aplicación para phishing a otro.
|
||||
3. Da un **nombre** a la aplicación, un **correo electrónico de soporte** (ten en cuenta que puedes establecer un correo electrónico de grupo de Google para intentar anonimizarte un poco más), un **logo**, **dominios autorizados** y otro **correo electrónico** para **actualizaciones**.
|
||||
4. **Selecciona** los **scopes de OAuth**.
|
||||
4. **Selecciona** los **scopes OAuth**.
|
||||
- Esta página está dividida en permisos no sensibles, permisos sensibles y permisos restringidos. Cada vez que agregas un nuevo permiso, se añade a su categoría. Dependiendo de los permisos solicitados, aparecerán diferentes avisos al usuario indicando cuán sensibles son estos permisos.
|
||||
- Tanto **`admin.directory.user.readonly`** como **`cloud-platform`** son permisos sensibles.
|
||||
5. **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 electrónico que vas a estar phishing**.
|
||||
|
||||
Ahora obtengamos **credenciales para una aplicación web** usando el **ID de Cliente de OAuth previamente creado**:
|
||||
Ahora obtengamos **credenciales para una aplicación web** usando el **ID de Cliente OAuth creado previamente**:
|
||||
|
||||
1. Regresa a [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient), esta vez aparecerá una opción diferente.
|
||||
2. Selecciona **crear credenciales para una aplicación web**.
|
||||
@@ -128,7 +128,7 @@ Ahora obtengamos **credenciales para una aplicación web** usando el **ID de Cli
|
||||
- Puedes establecer en ambos algo como **`http://localhost:8000/callback`** para pruebas.
|
||||
4. Obtén las **credenciales** de tu aplicación.
|
||||
|
||||
Finalmente, ejecutemos **una aplicación web que usará las credenciales de la aplicación de OAuth**. Puedes encontrar un ejemplo en [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
|
||||
Finalmente, ejecutemos **una aplicación web que usará las credenciales de la aplicación OAuth**. Puedes encontrar un ejemplo en [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
|
||||
```bash
|
||||
git clone ttps://github.com/carlospolop/gcp_oauth_phishing_example
|
||||
cd gcp_oauth_phishing_example
|
||||
@@ -142,7 +142,7 @@ Ve a **`http://localhost:8000`**, haz clic en el botón Iniciar sesión con Goog
|
||||
La aplicación mostrará el **token de acceso y el token de actualización** que se pueden usar fácilmente. Para más información sobre **cómo usar estos tokens, consulta**:
|
||||
|
||||
{{#ref}}
|
||||
../../gcp-security/gcp-persistence/gcp-non-svc-persistance.md
|
||||
../../gcp-security/gcp-persistence/gcp-non-svc-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
#### Usando `glcoud`
|
||||
|
||||
Reference in New Issue
Block a user