Translated ['src/pentesting-ci-cd/cloudflare-security/cloudflare-domains

This commit is contained in:
Translator
2025-01-11 19:16:54 +00:00
parent 090d893057
commit 5f5dfa23e1
44 changed files with 1888 additions and 316 deletions
@@ -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