mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-02 11:00:16 -07:00
Translated ['src/pentesting-ci-cd/cloudflare-security/cloudflare-domains
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
Para informações sobre SAML, consulte:
|
||||
|
||||
{{#ref}}
|
||||
https://book.hacktricks.xyz/pentesting-web/saml-attacks
|
||||
https://book.hacktricks.wiki/en/pentesting-web/saml-attacks/index.html
|
||||
{{#endref}}
|
||||
|
||||
Para configurar uma **Federação de Identidade através do SAML**, você só precisa fornecer um **nome** e o **XML de metadados** contendo toda a configuração SAML (**endpoints**, **certificado** com chave pública)
|
||||
@@ -16,8 +16,8 @@ Para configurar uma **Federação de Identidade através do SAML**, você só pr
|
||||
|
||||
Para adicionar uma ação do github como provedor de identidade:
|
||||
|
||||
1. Para _Tipo de Provedor_, selecione **OpenID Connect**.
|
||||
2. Para _URL do Provedor_, insira `https://token.actions.githubusercontent.com`
|
||||
1. Para _Tipo de provedor_, selecione **OpenID Connect**.
|
||||
2. Para _URL do provedor_, insira `https://token.actions.githubusercontent.com`
|
||||
3. Clique em _Obter impressão digital_ para obter a impressão digital do provedor
|
||||
4. Para _Público_, insira `sts.amazonaws.com`
|
||||
5. Crie um **novo papel** com as **permissões** que a ação do github precisa e uma **política de confiança** que confie no provedor como:
|
||||
@@ -45,7 +45,7 @@ Para adicionar uma ação do github como provedor de identidade:
|
||||
}
|
||||
```
|
||||
6. Observe na política anterior como apenas uma **branch** do **repositório** de uma **organização** foi autorizada com um **gatilho** específico.
|
||||
7. O **ARN** do **papel** que a ação do github poderá **imitar** será o "segredo" que a ação do github precisa saber, então **armazene** dentro de um **segredo** em um **ambiente**.
|
||||
7. O **ARN** do **papel** que a ação do github poderá **impersonar** será o "segredo" que a ação do github precisa saber, então **armazene**-o dentro de um **segredo** em um **ambiente**.
|
||||
8. Por fim, use uma ação do github para configurar as credenciais da AWS a serem usadas pelo fluxo de trabalho:
|
||||
```yaml
|
||||
name: "test AWS Access"
|
||||
@@ -78,7 +78,7 @@ role-session-name: OIDCSession
|
||||
- run: aws sts get-caller-identity
|
||||
shell: bash
|
||||
```
|
||||
## OIDC - Abuso de EKS
|
||||
## OIDC - EKS Abuse
|
||||
```bash
|
||||
# Crate an EKS cluster (~10min)
|
||||
eksctl create cluster --name demo --fargate
|
||||
@@ -88,7 +88,7 @@ eksctl create cluster --name demo --fargate
|
||||
# Create an Identity Provider for an EKS cluster
|
||||
eksctl utils associate-iam-oidc-provider --cluster Testing --approve
|
||||
```
|
||||
É possível gerar **provedores OIDC** em um cluster **EKS** simplesmente definindo a **URL OIDC** do cluster como um **novo provedor de identidade Open ID**. Esta é uma política padrão comum:
|
||||
É possível gerar **OIDC providers** em um **EKS** cluster simplesmente definindo a **OIDC URL** do cluster como um **novo provedor de identidade Open ID**. Esta é uma política padrão comum:
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -108,7 +108,7 @@ eksctl utils associate-iam-oidc-provider --cluster Testing --approve
|
||||
]
|
||||
}
|
||||
```
|
||||
Esta política está indicando corretamente que **apenas** o **cluster EKS** com **id** `20C159CDF6F2349B68846BEC03BE031B` pode assumir a função. No entanto, não está indicando qual conta de serviço pode assumi-la, o que significa que **QUALQUER conta de serviço com um token de identidade da web** poderá **assumir** a função.
|
||||
Esta política está corretamente indicando que **apenas** o **cluster EKS** com **id** `20C159CDF6F2349B68846BEC03BE031B` pode assumir a função. No entanto, não está indicando qual conta de serviço pode assumí-la, o que significa que **QUALQUER conta de serviço com um token de identidade da web** poderá **assumir** a função.
|
||||
|
||||
Para especificar **qual conta de serviço deve ser capaz de assumir a função,** é necessário especificar uma **condição** onde o **nome da conta de serviço é especificado**, como:
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user