AWS - Federasie Misbruik
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŚ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
SAML
Vir inligting oor SAML, kyk asseblief:
Om ân Identiteitsfederasie deur SAML te konfigureer, moet jy net ân naam en die metadata XML wat al die SAML-konfigurasie bevat (eindpunte, sertifikaat met publieke sleutel) verskaf.
OIDC - Github Aksies Misbruik
Om ân github aksie as Identiteitsverskaffer by te voeg:
- Vir Verskaffer tipe, kies OpenID Connect.
- Vir Verskaffer URL, voer
https://token.actions.githubusercontent.comin. - Klik op Kry duimafdruk om die duimafdruk van die verskaffer te kry.
- Vir Doelgroep, voer
sts.amazonaws.comin. - Skep ân nuwe rol met die toestemmings wat die github aksie benodig en ân vertrouensbeleid wat die verskaffer vertrou soos:
{ âVersionâ: â2012-10-17â, âStatementâ: [ { âEffectâ: âAllowâ, âPrincipalâ: { âFederatedâ: âarn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.comâ }, âActionâ: âsts:AssumeRoleWithWebIdentityâ, âConditionâ: { âStringEqualsâ: { âtoken.actions.githubusercontent.com:subâ: [ ârepo:ORG_OR_USER_NAME/REPOSITORY:pull_requestâ, ârepo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/mainâ ], âtoken.actions.githubusercontent.com:audâ: âsts.amazonaws.comâ } } } ] }
6. Let op in die vorige beleid hoe slegs 'n **tak** van 'n **bewaarplek** van 'n **organisasie** met 'n spesifieke **trigger** gemagtig was.
7. Die **ARN** van die **rol** wat die github aksie gaan kan **naboots**, gaan die "geheim" wees wat die github aksie moet weet, so **stoor** dit binne 'n **geheim** binne 'n **omgewing**.
8. Laastens, gebruik 'n github aksie om die AWS krediete te konfigureer wat deur die werksvloei gebruik gaan word:
```yaml
name: "test AWS Access"
# The workflow should only trigger on pull requests to the main branch
on:
pull_request:
branches:
- main
# Required to get the ID Token that will be used for OIDC
permissions:
id-token: write
contents: read # needed for private repos to checkout
jobs:
aws:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-region: eu-west-1
role-to-assume:${{ secrets.READ_ROLE }}
role-session-name: OIDCSession
- run: aws sts get-caller-identity
shell: bash
OIDC - EKS Misbruik
# Crate an EKS cluster (~10min)
eksctl create cluster --name demo --fargate
# Create an Identity Provider for an EKS cluster
eksctl utils associate-iam-oidc-provider --cluster Testing --approve
Dit is moontlik om OIDC providers in ân EKS kluster te genereer deur eenvoudig die OIDC URL van die kluster as ân nuwe Open ID Identiteitsverskaffer in te stel. Dit is ân algemene standaardbeleid:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789098:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/20C159CDF6F2349B68846BEC03BE031B"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"oidc.eks.us-east-1.amazonaws.com/id/20C159CDF6F2349B68846BEC03BE031B:aud": "sts.amazonaws.com"
}
}
}
]
}
Hierdie beleid dui korrek aan dat slegs die EKS-kluster met id 20C159CDF6F2349B68846BEC03BE031B die rol kan aanvaar. Dit dui egter nie aan watter diensrekening dit kan aanvaar nie, wat beteken dat ENIGE diensrekening met ân webidentiteitskennisgewing in staat gaan wees om die rol te aanvaar.
Om te spesifiseer watter diensrekening die rol moet kan aanvaar, is dit nodig om ân voorwaarde te spesifiseer waar die diensrekeningnaam gespesifiseer word, soos:
"oidc.eks.region-code.amazonaws.com/id/20C159CDF6F2349B68846BEC03BE031B:sub": "system:serviceaccount:default:my-service-account",
Verwysings
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŚ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

