Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Για περισσότερες πληροφορίες ανατρέξτε:
{% content-ref url="../aws-services/aws-sts-enum.md" %} aws-sts-enum.md {% endcontent-ref %}
Τα προσωρινά διακριτικά δεν μπορούν να καταχωρηθούν, οπότε η διατήρηση ενός ενεργού προσωρινού διακριτικού είναι ένας τρόπος για τη διατήρηση μόνιμότητας.
aws sts get-session-token --duration-seconds 129600
# Με MFA
aws sts get-session-token \
--serial-number <mfa-device-name> \
--token-code <code-from-token>
# Το όνομα της συσκευής υλικού είναι συνήθως ο αριθμός από το πίσω μέρος της συσκευής, όπως GAHT12345678
# Το όνομα της συσκευής SMS είναι το ARN στο AWS, όπως arn:aws:iam::123456789012:sms-mfa/username
# Το όνομα της εικονικής συσκευής είναι το ARN στο AWS, όπως arn:aws:iam::123456789012:mfa/username
Η αλυσίδα ρόλων είναι μια αναγνωρισμένη λειτουργία του AWS, συχνά χρησιμοποιείται για τη διατήρηση μυστικής μόνιμότητας. Περιλαμβάνει τη δυνατότητα να υποθέσετε ένα ρόλο που ύστερα υποθέτει έναν άλλο, πιθανώς επανέρχοντας στον αρχικό ρόλο με κυκλικό τρόπο. Κάθε φορά που υποθέτεται ένας ρόλος, το πεδίο λήξης των διαπιστεύσεων ανανεώνεται. Συνεπώς, αν δύο ρόλοι ρυθμιστούν να υποθέτουν αμοιβαία ο ένας τον άλλο, αυτή η ρύθμιση επιτρέπει τη διαρκή ανανέωση των διαπιστεύσεων.
Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να συνεχίσετε την αλυσίδα ρόλων:
./aws_role_juggler.py -h
usage: aws_role_juggler.py [-h] [-r ROLE_LIST [ROLE_LIST ...]]
optional arguments:
-h, --help show this help message and exit
-r ROLE_LIST [ROLE_LIST ...], --role-list ROLE_LIST [ROLE_LIST ...]
{% hint style="danger" %} Σημείωση ότι το σενάριο find_circular_trust.py από αυτό το αποθετήριο στο Github δεν εντοπίζει όλους τους τρόπους με τους οποίους μπορεί να ρυθμιστεί μια αλυσίδα ρόλων. {% endhint %}
Κώδικας για εκτέλεση του Role Juggling από το PowerShell
```powershell # PowerShell script to check for role juggling possibilities using AWS CLICheck for AWS CLI installation
if (-not (Get-Command "aws" -ErrorAction SilentlyContinue)) { Write-Error "AWS CLI is not installed. Please install it and configure it with 'aws configure'." exit }
Function to list IAM roles
function List-IAMRoles { aws iam list-roles --query "Roles[*].{RoleName:RoleName, Arn:Arn}" --output json }
Initialize error count
$errorCount = 0
List all roles
$roles = List-IAMRoles | ConvertFrom-Json
Attempt to assume each role
foreach ($role in $roles) {
$sessionName = "RoleJugglingTest-" + (Get-Date -Format FileDateTime)
try {
$credentials = aws sts assume-role --role-arn $role.Arn --role-session-name $sessionName --query "Credentials" --output json 2>$null | ConvertFrom-Json
if (
Set temporary credentials to assume the next role
$env:AWS_ACCESS_KEY_ID = $credentials.AccessKeyId $env:AWS_SECRET_ACCESS_KEY = $credentials.SecretAccessKey $env:AWS_SESSION_TOKEN = $credentials.SessionToken
Try to assume another role using the temporary credentials
foreach ($nextRole in $roles) {
if ($nextRole.Arn -ne $role.Arn) {
$nextSessionName = "RoleJugglingTest-" + (Get-Date -Format FileDateTime)
try {
$nextCredentials = aws sts assume-role --role-arn $nextRole.Arn --role-session-name $nextSessionName --query "Credentials" --output json 2>$null | ConvertFrom-Json
if (
Reset environment variables
Remove-Item Env:\AWS_ACCESS_KEY_ID Remove-Item Env:\AWS_SECRET_ACCESS_KEY Remove-Item Env:\AWS_SESSION_TOKEN } else { $errorCount++ } } catch { $errorCount++ } }
Output the number of errors if any
if ($errorCount -gt 0) { Write-Host "$errorCount error(s) occurred during role assumption attempts." } else { Write-Host "No errors occurred. All roles checked successfully." }
Write-Host "Role juggling check complete."
</details>
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>