Αν καταφέρατε να αποκτήσετε κάποια διαπιστευτήρια IAM, ίσως σας ενδιαφέρει να έχετε πρόσβαση στην ιστοσελίδα της κονσόλας χρησιμοποιώντας τα παρακάτω εργαλεία.
Σημειώστε ότι ο χρήστης/ρόλος πρέπει να έχει την άδεια sts:GetFederationToken.
Προσαρμοσμένο σενάριο
Το παρακάτω σενάριο θα χρησιμοποιήσει το προφίλ προεπιλογής και μια προεπιλεγμένη τοποθεσία AWS (όχι κυβέρνηση και όχι cn) για να σας δώσει μια υπογεγραμμένη διεύθυνση URL που μπορείτε να χρησιμοποιήσετε για να συνδεθείτε στην ιστοσελίδα της κονσόλας:
# 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
Βεβαιωθείτε ότι ο χρήστης IAM έχει άδεια sts:GetFederationToken, ή παρέχει έναν ρόλο για να υιοθετήσει.
aws-vault
aws-vault είναι ένα εργαλείο για την ασφαλή αποθήκευση και πρόσβαση σε διαπιστευτήρια AWS σε ένα περιβάλλον ανάπτυξης.
aws-vaultlistaws-vaultexecjonsmith--awss3ls# Execute aws cli with jonsmith credsaws-vaultloginjonsmith# Open a browser logged as jonsmith
Μπορείτε επίσης να χρησιμοποιήσετε το aws-vault για να λάβετε μια συνεδρία κονσόλας περιήγησης
Από την Κονσόλα στα IAM Διαπιστευτήρια
Αρχικά ανακαλύφθηκε σε αυτήν την ανάρτηση, Αν καταφέρετε να διαρρήξετε κάποια πρόσβαση σε μια κονσόλα ιστού (ίσως κλέψατε cookies και δεν μπορούσατε να έχετε πρόσβαση στον φάκελο .aws), μπορείτε να λάβετε κάποια διαπιστευτήρια των IAM για αυτόν τον χρήστη μέσω του CloudShell.
Το CloudShell αποκαλύπτει τα διαπιστευτήρια των IAM μέσω ενός μη τεκμηριωμένου σημείου πρόσβασης στη θύρα 1338. Αφού φορτώσετε τα cookies συνεδρίας από το θύμα στον περιηγητή σας, μπορείτε να πλοηγηθείτε στο CloudShell και να εκδώσετε τις παρακάτω εντολές για να λάβετε τα διαπιστευτήρια των IAM.