mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az
This commit is contained in:
File diff suppressed because one or more lines are too long
+5
-5
@@ -142,7 +142,7 @@
|
||||
- [GCP - Logging Persistence](pentesting-cloud/gcp-security/gcp-persistence/gcp-logging-persistence.md)
|
||||
- [GCP - Secret Manager Persistence](pentesting-cloud/gcp-security/gcp-persistence/gcp-secret-manager-persistence.md)
|
||||
- [GCP - Storage Persistence](pentesting-cloud/gcp-security/gcp-persistence/gcp-storage-persistence.md)
|
||||
- [GCP - Token Persistance](pentesting-cloud/gcp-security/gcp-persistence/gcp-non-svc-persistance.md)
|
||||
- [GCP - Token Persistence](pentesting-cloud/gcp-security/gcp-persistence/gcp-non-svc-persistence.md)
|
||||
- [GCP - Services](pentesting-cloud/gcp-security/gcp-services/README.md)
|
||||
- [GCP - AI Platform Enum](pentesting-cloud/gcp-security/gcp-services/gcp-ai-platform-enum.md)
|
||||
- [GCP - API Keys Enum](pentesting-cloud/gcp-security/gcp-services/gcp-api-keys-enum.md)
|
||||
@@ -458,8 +458,8 @@
|
||||
- [Az - Function Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md)
|
||||
- [Az - Key Vault Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md)
|
||||
- [Az - Logic Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md)
|
||||
- [Az - MySQL](pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md)
|
||||
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md)
|
||||
- [Az - MySQL Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md)
|
||||
- [Az - PostgreSQL Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md)
|
||||
- [Az - Queue Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md)
|
||||
- [Az - Service Bus Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md)
|
||||
- [Az - Table Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md)
|
||||
@@ -489,8 +489,8 @@
|
||||
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
|
||||
- [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md)
|
||||
- [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
|
||||
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md)
|
||||
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
|
||||
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistence.md)
|
||||
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistence.md)
|
||||
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
|
||||
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)
|
||||
- [Az - Device Registration](pentesting-cloud/azure-security/az-device-registration.md)
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
# Az - Queue Storage Persistence
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Queue
|
||||
|
||||
자세한 정보는 다음을 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue.md
|
||||
{{#endref}}
|
||||
|
||||
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
|
||||
|
||||
이 권한은 공격자가 스토리지 계정 내에서 큐 및 그 속성을 생성하거나 수정할 수 있게 해줍니다. 이를 통해 무단 큐를 생성하거나 메타데이터를 수정하거나 접근 제어 목록(ACL)을 변경하여 접근을 허용하거나 제한할 수 있습니다. 이 기능은 워크플로를 방해하거나 악성 데이터를 주입하거나 민감한 정보를 유출하거나 큐 설정을 조작하여 추가 공격을 가능하게 할 수 있습니다.
|
||||
```bash
|
||||
az storage queue create --name <new-queue-name> --account-name <storage-account>
|
||||
|
||||
az storage queue metadata update --name <queue-name> --metadata key1=value1 key2=value2 --account-name <storage-account>
|
||||
|
||||
az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
|
||||
```
|
||||
## References
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues)
|
||||
- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api)
|
||||
- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -1,20 +0,0 @@
|
||||
# Az - SQL Persistence
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## SQL
|
||||
|
||||
자세한 정보는 다음을 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-sql.md
|
||||
{{#endref}}
|
||||
|
||||
### 일반적인 지속성 기술
|
||||
|
||||
- SQL 자격 증명을 타협하거나 SQL 사용자 생성 (필요시 SQL 인증 활성화)
|
||||
- 타협된 사용자를 Entrad ID 관리자에 할당 (필요시 Entra ID 인증 활성화)
|
||||
- VM에 백도어 설치 (SQL VM이 사용되는 경우)
|
||||
- SQL 데이터베이스에 대한 액세스를 유지하기 위해 FW 규칙 생성
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
+15
-50
@@ -11,13 +11,26 @@ SQL Database에 대한 자세한 정보는 다음을 확인하세요:
|
||||
|
||||
|
||||
### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정을 생성하거나 업데이트할 수 있습니다. 여기에는 계정 수준 설정 수정, 지역 추가 또는 제거, 일관성 수준 변경, 다중 지역 쓰기와 같은 기능 활성화 또는 비활성화가 포함됩니다.
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정을 생성하거나 업데이트할 수 있습니다. 여기에는 계정 수준 구성 수정, 자동 장애 조치 활성화 또는 비활성화, 네트워크 접근 제어 관리, 백업 정책 설정 및 일관성 수준 조정이 포함됩니다. 이 권한을 가진 공격자는 보안 제어를 약화시키거나 가용성을 방해하거나 네트워크 규칙을 수정하여 데이터를 유출할 수 있습니다.
|
||||
```bash
|
||||
az cosmosdb update \
|
||||
--name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--public-network-access ENABLED
|
||||
```
|
||||
|
||||
```bash
|
||||
az cosmosdb update \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--capabilities EnableMongoRoleBasedAccessControl
|
||||
```
|
||||
계정에서 관리되는 ID를 활성화할 수 있습니다:
|
||||
```bash
|
||||
az cosmosdb identity assign \
|
||||
--name <cosmosdb_account_name> \
|
||||
--resource-group <resource_group_name>
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정의 SQL 데이터베이스 내에서 컨테이너(컬렉션)를 생성하거나 수정할 수 있습니다. 컨테이너는 데이터를 저장하는 데 사용되며, 이들에 대한 변경은 데이터베이스의 구조와 접근 패턴에 영향을 미칠 수 있습니다.
|
||||
```bash
|
||||
@@ -112,59 +125,11 @@ az cosmosdb mongodb collection create \
|
||||
--name <collection_name>
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정 내에 새로운 MongoDB 데이터베이스를 생성할 수 있습니다. 이를 통해 컬렉션과 문서를 저장하고 관리하기 위한 새로운 데이터베이스를 프로비저닝할 수 있습니다.
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정 내에서 새로운 MongoDB 데이터베이스를 생성할 수 있습니다. 이를 통해 컬렉션과 문서를 저장하고 관리하기 위한 새로운 데이터베이스를 프로비저닝할 수 있습니다.
|
||||
```bash
|
||||
az cosmosdb mongodb database create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--name <database_name>
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정 내에서 새로운 MongoDB 역할 정의를 생성할 수 있습니다. 이를 통해 MongoDB 사용자에 대한 특정 권한을 가진 사용자 정의 역할을 정의할 수 있습니다.
|
||||
```bash
|
||||
az cosmosdb mongodb role definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.readWriteRole",
|
||||
"RoleName": "readWriteRole",
|
||||
"Type": "CustomRole",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"Privileges": [
|
||||
{
|
||||
"Resource": {
|
||||
"Db": "<mydatabase>",
|
||||
"Collection": "mycollection"
|
||||
},
|
||||
"Actions": [
|
||||
"insert",
|
||||
"find",
|
||||
"update"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Roles": []
|
||||
}'
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정 내에서 새로운 MongoDB 사용자 정의를 생성할 수 있습니다. 이를 통해 MongoDB 데이터베이스에 대한 특정 역할과 접근 수준을 가진 사용자를 프로비저닝할 수 있습니다.
|
||||
```bash
|
||||
az cosmosdb mongodb user definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.myUser",
|
||||
"UserName": "myUser",
|
||||
"Password": "mySecurePassword",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"CustomData": "TestCustomData",
|
||||
"Mechanisms": "SCRAM-SHA-256",
|
||||
"Roles": [
|
||||
{
|
||||
"Role": "readWriteRole",
|
||||
"Db": "<mydatabase>"
|
||||
}
|
||||
]
|
||||
}'
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -43,12 +43,63 @@ az cosmosdb sql role assignment create \
|
||||
--principal-id <principal_id-togive-perms> \
|
||||
--scope "/"
|
||||
```
|
||||
### (`Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`)&& (`Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`)
|
||||
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정 내에서 새로운 MongoDB 역할 정의를 생성할 수 있습니다. 이를 통해 MongoDB 사용자에 대한 특정 권한을 가진 사용자 정의 역할을 정의할 수 있습니다. 이를 사용하려면 RBAC 기능이 활성화되어 있어야 합니다.
|
||||
```bash
|
||||
az cosmosdb mongodb role definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.readWriteRole",
|
||||
"RoleName": "readWriteRole",
|
||||
"Type": "CustomRole",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"Privileges": [
|
||||
{
|
||||
"Resource": {
|
||||
"Db": "<mydatabase>",
|
||||
"Collection": "mycollection"
|
||||
},
|
||||
"Actions": [
|
||||
"insert",
|
||||
"find",
|
||||
"update"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Roles": []
|
||||
}'
|
||||
```
|
||||
Azure Cosmos DB 계정 내에서 새로운 MongoDB 사용자 정의를 생성할 수 있습니다. 이를 통해 특정 역할과 MongoDB 데이터베이스에 대한 액세스를 가진 사용자를 프로비저닝할 수 있습니다.
|
||||
```bash
|
||||
az cosmosdb mongodb user definition create \
|
||||
--account-name <account_name> \
|
||||
--resource-group <resource_group_name> \
|
||||
--body '{
|
||||
"Id": "<mydatabase>.myUser",
|
||||
"UserName": "<myUser>",
|
||||
"Password": "<mySecurePassword>",
|
||||
"DatabaseName": "<mydatabase>",
|
||||
"CustomData": "TestCustomData",
|
||||
"Mechanisms": "SCRAM-SHA-256",
|
||||
"Roles": [
|
||||
{
|
||||
"Role": "readWriteRole",
|
||||
"Db": "<mydatabase>"
|
||||
}
|
||||
]
|
||||
}'
|
||||
```
|
||||
그 후 MongoDB 내에 새 사용자가 생성되면, 우리는 그것에 접근할 수 있습니다:
|
||||
```bash
|
||||
mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure.com:10255/<mymongodatabase>?ssl=true&replicaSet=globaldb&retrywrites=false"
|
||||
```
|
||||
### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
|
||||
이 권한을 사용하면 Azure Cosmos DB 계정의 기본 및 보조 키를 검색할 수 있습니다. 이러한 키는 데이터베이스 계정 및 해당 리소스에 대한 전체 액세스를 제공하며, 데이터 읽기, 쓰기 및 구성 변경과 같은 작업을 가능하게 합니다.
|
||||
```bash
|
||||
az cosmosdb keys list \
|
||||
--name <account_name> \
|
||||
--resource-group <resource_group_name>
|
||||
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
# GCP - Token Persistance
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
### 인증된 사용자 토큰
|
||||
|
||||
사용자의 **현재 토큰**을 얻으려면 다음을 실행할 수 있습니다:
|
||||
```bash
|
||||
sqlite3 $HOME/.config/gcloud/access_tokens.db "select access_token from access_tokens where account_id='<email>';"
|
||||
```
|
||||
이 페이지에서 **gcloud를 사용하여 이 토큰을 직접 사용하는 방법**을 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#gcp
|
||||
{{#endref}}
|
||||
|
||||
**새 액세스 토큰을 생성하는** 세부정보를 얻으려면 다음을 실행하세요:
|
||||
```bash
|
||||
sqlite3 $HOME/.config/gcloud/credentials.db "select value from credentials where account_id='<email>';"
|
||||
```
|
||||
**`$HOME/.config/gcloud/application_default_credentials.json`**와 **`$HOME/.config/gcloud/legacy_credentials/*/adc.json`**에서 리프레시 토큰을 찾는 것도 가능합니다.
|
||||
|
||||
리프레시 토큰, 클라이언트 ID 및 클라이언트 비밀을 사용하여 새로 갱신된 액세스 토큰을 얻으려면 다음을 실행하십시오:
|
||||
```bash
|
||||
curl -s --data client_id=<client_id> --data client_secret=<client_secret> --data grant_type=refresh_token --data refresh_token=<refresh_token> --data scope="https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/accounts.reauth" https://www.googleapis.com/oauth2/v4/token
|
||||
```
|
||||
**Admin** > **Security** > **Google Cloud session control**에서 refresh token의 유효성을 관리할 수 있으며, 기본적으로 16시간으로 설정되어 있지만 만료되지 않도록 설정할 수 있습니다:
|
||||
|
||||
<figure><img src="../../../images/image (11).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### Auth flow
|
||||
|
||||
`gcloud auth login`과 같은 것을 사용할 때의 인증 흐름은 브라우저에서 프롬프트를 열고 모든 범위를 수락한 후 브라우저가 도구에 의해 열려 있는 http 포트로 다음과 같은 요청을 보냅니다:
|
||||
```
|
||||
/?state=EN5AK1GxwrEKgKog9ANBm0qDwWByYO&code=4/0AeaYSHCllDzZCAt2IlNWjMHqr4XKOuNuhOL-TM541gv-F6WOUsbwXiUgMYvo4Fg0NGzV9A&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/cloud-platform%20https://www.googleapis.com/auth/appengine.admin%20https://www.googleapis.com/auth/sqlservice.login%20https://www.googleapis.com/auth/compute%20https://www.googleapis.com/auth/accounts.reauth&authuser=0&prompt=consent HTTP/1.1
|
||||
```
|
||||
그런 다음, gcloud는 상태와 코드를 사용하여 하드코딩된 `client_id` (`32555940559.apps.googleusercontent.com`) 및 **`client_secret`** (`ZmssLNjJy2998hD4CTg2ejr2`)로 **최종 리프레시 토큰 데이터**를 가져옵니다.
|
||||
|
||||
> [!CAUTION]
|
||||
> localhost와의 통신은 HTTP로 이루어지므로 리프레시 토큰을 얻기 위해 데이터를 가로챌 수 있지만, 이 데이터는 단 1회만 유효하므로 무의미합니다. 파일에서 리프레시 토큰을 읽는 것이 더 쉽습니다.
|
||||
|
||||
### OAuth Scopes
|
||||
|
||||
모든 Google 스코프는 [https://developers.google.com/identity/protocols/oauth2/scopes](https://developers.google.com/identity/protocols/oauth2/scopes)에서 찾거나 다음을 실행하여 얻을 수 있습니다:
|
||||
```bash
|
||||
curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-A/\-\._]*' | sort -u
|
||||
```
|
||||
이 스크립트를 사용하여 **`gcloud`**가 인증에 사용할 수 있는 범위를 확인할 수 있습니다:
|
||||
```bash
|
||||
curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-Z/\._\-]*' | sort -u | while read -r scope; do
|
||||
echo -ne "Testing $scope \r"
|
||||
if ! curl -v "https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=32555940559.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+$scope+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fsqlservice.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&state=AjvFqBW5XNIw3VADagy5pvUSPraLQu&access_type=offline&code_challenge=IOk5F08WLn5xYPGRAHP9CTGHbLFDUElsP551ni2leN4&code_challenge_method=S256" 2>&1 | grep -q "error"; then
|
||||
echo ""
|
||||
echo $scope
|
||||
fi
|
||||
done
|
||||
```
|
||||
이 앱이 다음 범위를 지원하는지 확인한 후 실행되었습니다:
|
||||
```
|
||||
https://www.googleapis.com/auth/appengine.admin
|
||||
https://www.googleapis.com/auth/bigquery
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
https://www.googleapis.com/auth/compute
|
||||
https://www.googleapis.com/auth/devstorage.full_control
|
||||
https://www.googleapis.com/auth/drive
|
||||
https://www.googleapis.com/auth/userinfo.email
|
||||
```
|
||||
이 앱이 **`drive`** 범위를 지원하는 방식은 흥미롭습니다. 공격자가 사용자가 이 범위로 토큰을 생성하도록 강제할 수 있다면 GCP에서 Workspace로 상승할 수 있습니다.
|
||||
|
||||
**여기에서** [**이것을 악용하는 방법을 확인하세요**](../gcp-to-workspace-pivoting/index.html#abusing-gcloud)**.**
|
||||
|
||||
### 서비스 계정
|
||||
|
||||
인증된 사용자와 마찬가지로 서비스 계정의 **비공개 키 파일을 손상시키면** **원하는 만큼 접근할 수 있습니다**.\
|
||||
그러나 서비스 계정의 **OAuth 토큰을 훔치면** 더 흥미로울 수 있습니다. 기본적으로 이러한 토큰은 한 시간 동안만 유용하지만, **피해자가 비공식 API 키를 삭제하면 OAuth 토큰은 만료될 때까지 여전히 유효합니다**.
|
||||
|
||||
### 메타데이터
|
||||
|
||||
명백히, GCP 환경에서 실행 중인 머신 내부에 있는 한, **메타데이터 엔드포인트에 연락하여 해당 머신에 연결된 서비스 계정에 접근할 수 있습니다** (이 엔드포인트에서 접근할 수 있는 OAuth 토큰은 일반적으로 범위에 의해 제한됩니다).
|
||||
|
||||
### 수정 사항
|
||||
|
||||
이러한 기술에 대한 몇 가지 수정 사항은 [https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2](https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2)에서 설명되어 있습니다.
|
||||
|
||||
### 참조
|
||||
|
||||
- [https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-1](https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-1)
|
||||
- [https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2](https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user