As jy daarin geslaag het om sekere IAM-legitimasie te verkry, mag jy belangstel wees om die webkonsole te betree met die volgende gereedskap.
Let daarop dat die gebruiker/rol die toestemming sts:GetFederationToken moet hê.
Aangepaste skrip
Die volgende skrip sal die verstekprofiel en 'n verstek AWS-plek (nie gov en nie cn nie) gebruik om vir jou 'n ondertekende URL te gee wat jy kan gebruik om binne die webkonsole in te teken:
# Get federated creds (you must indicate a policy or they won't have any perms)## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges## Don't forget to use [--profile <prof_name>] in the first line if you need tooutput=$(awsstsget-federation-token--nameconsoler--policy-arnsarn=arn:aws:iam::aws:policy/AdministratorAccess)if [ $? -ne0 ]; thenecho"The command 'aws sts get-federation-token --name consoler' failed with exit status $status"exit $statusfi# Parse the outputsession_id=$(echo $output |jq-r'.Credentials.AccessKeyId')session_key=$(echo $output |jq-r'.Credentials.SecretAccessKey')session_token=$(echo $output |jq-r'.Credentials.SessionToken')# Construct the JSON credentials stringjson_creds=$(echo -n "{\"sessionId\":\"$session_id\",\"sessionKey\":\"$session_key\",\"sessionToken\":\"$session_token\"}")
# Define the AWS federation endpointfederation_endpoint="https://signin.aws.amazon.com/federation"# Make the HTTP request to get the sign-in tokenresp=$(curl-s"$federation_endpoint" \--get \--data-urlencode "Action=getSigninToken" \--data-urlencode "SessionDuration=43200" \--data-urlencode "Session=$json_creds")signin_token=$(echo-n $resp |jq-r'.SigninToken'|tr-d'\n'|jq-sRr@uri)# Give the URL to loginecho -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.com&Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F&SigninToken=$signin_token"
cd/tmppython3-mvenvenvsource./env/bin/activatepipinstallaws-consoleraws_consoler [params...] #This will generate a link to login into the console
Maak seker dat die IAM-gebruiker die sts:GetFederationToken toestemming het, of voorsien 'n rol om aan te neem.
aws-vault
aws-vault is 'n gereedskap om AWS-geloofsbriewe veilig te stoor en toegang daartoe te verkry in 'n ontwikkelingsomgewing.
aws-vaultlistaws-vaultexecjonsmith--awss3ls# Execute aws cli with jonsmith credsaws-vaultloginjonsmith# Open a browser logged as jonsmith
Jy kan ook aws-vault gebruik om 'n blaaierkonsole-sessie te verkry
Van Konsole tot IAM-legitimasie
Oorspronklik ontdek in hierdie pos, As jy daarin slaag om toegang tot 'n webkonsole te kry (miskien het jy koekies gesteel en kon nie by die .aws-vouer uitkom nie), kan jy 'n paar IAM-tokenlegitimasie vir daardie gebruiker deur CloudShell verkry.
CloudShell stel IAM-legitimasie bloot via 'n ondokumenteerde eindpunt op poort 1338. Nadat jy sessiekoekies van die slagoffer in jou blaaier gelaai het, kan jy na CloudShell navigeer en die volgende bevele uitreik om IAM-legitimasie te kry.