Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
iam-vulnerable — Usa Terraform per creare il tuo playground di escalation dei privilegi AWS IAM vulnerabile by design. | Kitploit
Strumenti/GitHubGitHub/bishopfox/iam-vulnerable
Escalation di PrivilegiAnalisi delle VulnerabilitàPenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)Apprendimento e FormazioneLab e Pratica
GitHubbishopfox/iam-vulnerable

iam-vulnerable

Usa Terraform per creare il tuo playground di escalation dei privilegi AWS IAM vulnerabile by design.

Vedi Repository
58510711 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

IAM Vulnerable

Usa Terraform per creare il tuo playground AWS IAM di escalation dei privilegi vulnerabile di proposito.

IAM Vulnerable utilizza il binario Terraform e le tue credenziali AWS per distribuire oltre 250 risorse IAM nel tuo account AWS selezionato. In pochi minuti, puoi iniziare a imparare come identificare e sfruttare configurazioni IAM vulnerabili che consentono l'escalation dei privilegi.

Il fratello maggiore di IAM Vulnerable - CloudFoxable

Ciao a tutti. IAM Vulnerable è ancora estremamente utile per comprendere i mattoni fondamentali dell'escalation dei privilegi AWS IAM. Tuttavia, qualche anno dopo aver reso IAM vulnerable, ho creato CloudFoxable, una versione in stile CTF che insegna in modo più olistico le basi del penetration test cloud. - @sethsec

Playground Vulnerabile di Proposito

  • CloudFoxable - Una Sandbox di Hacking Cloud Gamificata

Vuoi chattare di IAM-Vulnerable, CloudFox e CloudFoxable?

Unisciti a noi sul server Discord RedSec

🦊 Percorsi di escalation dei privilegi attualmente supportati: 31

Indice dei Contenuti

  • IAM Vulnerable
  • Approccio Raccomandato
  • Istruzioni Dettagliate per l'Uso
  • Avvio Rapido
    • Quali risorse sono state appena create?
    • Quanto costerà?
  • Un Approccio Modulare
    • Moduli di risorse gratuiti
    • Moduli di risorse a pagamento
  • Percorsi di Escalation dei Privilegi Supportati
  • Altri Casi d'Uso
  • FAQ

Approccio Raccomandato

  1. Seleziona o crea un account AWS - NON utilizzare un account che contenga risorse di produzione o dati sensibili.
  2. Crea il tuo playground vulnerabile - Utilizza questo repository per creare i principal e le policy IAM che supportano 31 percorsi unici di privesc AWS IAM.
  3. Fai i compiti - Studia i 21 percorsi originali di privesc pionierati da Spencer Gietzen.
  4. Hack, hack - Esercitati nello sfruttamento nel tuo nuovo playground usando la guida di Gerben Kleijn.
  5. Livello successivo - Esegui i tuoi strumenti contro il tuo nuovo account playground IAM privesc (es., Cloudsplaining, AWSPX, Principal Mapper, Pacu).

Istruzioni Dettagliate per l'Uso

Blog Post: IAM Vulnerable - An AWS IAM Privilege Escalation Playground

Avvio Rapido

Questo avvio rapido delinea un approccio diretto per ottenere l'esecuzione di IAM Vulnerable nel tuo account AWS il più velocemente possibile. Potresti già aver completato molti di questi passaggi, o potresti voler modificare alcune cose per adattarle alla tua configurazione attuale. Dai un'occhiata alla sezione Altri Casi d'Uso in questo repository per alcune opzioni di configurazione aggiuntive.

  1. Seleziona o crea un account AWS. (NON utilizzare un account che contenga risorse di produzione o dati sensibili!)
  2. Crea un utente non root con accesso amministrativo che utilizzerai per eseguire Terraform.
  3. Crea una chiave di accesso per quell'utente.
  4. Installa l'AWS CLI.
  5. Configura l'AWS CLI con l'utente amministratore appena creato come profilo predefinito.
  6. Conferma che la CLI funzioni correttamente eseguendo aws sts get-caller-identity.
  7. Installa il binario Terraform e aggiungi la posizione del binario al tuo PATH.
  8. git clone https://github.com/BishopFox/iam-vulnerable
  9. cd iam-vulnerable/
  10. terraform init
  11. (Opzionale) export TF_VAR_aws_local_profile=PROFILE_IN_AWS_CREDENTIALS_FILE_IF_OTHER_THAN_DEFAULT
  12. (Opzionale) export TF_VAR_aws_local_creds_file=FILE_LOCATION_IF_NON_DEFAULT
  13. (Opzionale) terraform plan

Pulizia

Ogni volta che desideri rimuovere tutte le risorse create da IAM Vulnerable, puoi eseguire questi comandi:

  1. cd iam-vulnerable/
  2. terraform destroy

Pulizia Alternativa (Quando lo Stato di Terraform è Perso)

Nel caso in cui tu abbia distribuito iam-vulnerable usando Terraform ma non hai più accesso al file di stato (e terraform destroy non funziona), puoi utilizzare i seguenti script di pulizia:```bash

Python version (requires boto3)

./cleanup-scripts/cleanup_iam_vulnerable.py --dry-run

Bash version (requires AWS CLI and jq)

./cleanup-scripts/cleanup_iam_vulnerable.sh --dry-run

root@kitploit:~
Questi script:
- Identificheranno automaticamente tutte le risorse IAM Vulnerabili nel tuo account AWS
- Ti mostreranno esattamente cosa verrà eliminato prima di procedere
- Elimineranno le risorse nell'ordine corretto per evitare conflitti di dipendenza
- Supportano i profili AWS e forniscono registrazione dettagliata

**Importante**: esegui sempre con `--dry-run` prima per vedere cosa verrebbe eliminato. Consulta `cleanup-scripts/CLEANUP_README.md` per istruzioni dettagliate sull'uso.

## Quali risorse sono state appena create?

Il binario Terraform ha appena utilizzato le credenziali del profilo predefinito del tuo account AWS per creare:
* **31 utenti, ruoli e policy** ciascuno con un percorso di exploit unico per l'accesso amministrativo all'account di playground
* Alcuni utenti, gruppi, ruoli e policy aggiuntivi necessari per realizzare completamente determinati percorsi di exploit
* Alcuni utenti, ruoli e policy aggiuntivi che testano le capacità di rilevamento di altri strumenti

Per impostazione predefinita, ogni ruolo creato da questo modulo Terraform può essere assunto dall'utente o dal ruolo che hai utilizzato per eseguire Terraform.
* Se desideri che Terraform utilizzi un profilo diverso da quello predefinito, o se desideri codificare l'ARN della `assume_role_policy`, consulta [Altri Casi d'Uso](#other-use-cases).

## Quanto costerà?
Distribuire IAM vulnerable nella sua **configurazione predefinita non costerà nulla**. Vedi la sezione successiva per sapere come abilitare moduli non predefiniti che comportano costi e quanto costerà ciascun modulo al mese se lo distribuisci.

# Approccio Modulare

IAM Vulnerable raggruppa determinate risorse in moduli. Alcuni moduli sono abilitati per impostazione predefinita (quelli che non hanno implicazioni di costo), mentre altri sono disabilitati per impostazione predefinita (quelli che comportano costi se distribuiti). In questo modo, puoi abilitare moduli specifici secondo necessità.

Ad esempio, quando sei pronto per giocare con percorsi di exploit come `ssm:StartSession` che coinvolgono risorse al di fuori di IAM, puoi distribuire e smantellare queste risorse su richiesta decommentando il modulo nel file `iam-vulnerable/main.tf` e rieseguendo `terraform apply`:```
# Uncomment the next four lines to create an ec2 instance and related resources
#module "ec2" {
#  source = "./modules/non-free-resources/ec2"
#  aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn)
#}

Dopo aver decommentato il modulo ec2, esegui:``` terraform init terraform apply

root@kitploit:~
Ora hai distribuito i componenti necessari per provare i percorsi di privesc SSM.

## Moduli di risorse gratuite

Non ci sono costi per tutto ciò che viene distribuito all'interno di `free-resources`:

| Nome | Stato predefinito | Costo stimato | Descrizione |
| --- | --- | --- | --- |
| privesc-paths | Abilitato | Nessuno | Contiene tutti i percorsi di privesc IAM |
| tool-testing | Abilitato | Nessuno | Contiene casi di test che valutano le capacità dei diversi strumenti di privesc IAM |

## Moduli di risorse a pagamento

La distribuzione di questi moduli aggiuntivi può comportare costi:

| Nome | Stato predefinito | Costo stimato | Descrizione | Richiesto per |
| --- | --- | --- | --- | --- |
| EC2 | Disabilitato | :heavy_dollar_sign: <br> $4.50/mese | Crea un'istanza EC2 e un gruppo di sicurezza che permette SSH da qualsiasi parte | `ssm-SendCommand` <br> `ssm-StartSession` <br> `ec2InstanceConnect-SendSSHPublicKey` |
| Lambda | Disabilitato | :slightly_smiling_face: <br> Il costo mensile dipende dall'uso (il costo dovrebbe essere zero) | Crea una funzione Lambda | `Lambda-EditExistingLambdaFunctionWithRole` |
| Glue | Disabilitato | :heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign: <br> $4/ora | Crea un endpoint dev di Glue | `Glue-UpdateExistingGlueDevEndpoint` |
| SageMaker | Disabilitato | Non ancora noto | Crea un notebook SageMaker | `sageMakerCreatePresignedNotebookURL` |
| CloudFormation | Disabilitato | :slightly_smiling_face: <br> $0.40/mese per il segreto creato tramite CloudFormation. Nulla o quasi nulla per lo stack stesso | Crea uno stack CloudFormation che crea un segreto in Secret Manager | `privesc-cloudFormationUpdateStack` |

# Percorsi di Privilege Escalation Supportati

| Nome del percorso | Nome del profilo IAM vulnerabile | Moduli non predefiniti richiesti | Riferimenti per lo sfruttamento |
| --- | --- | --- | --- |
| **Categoria: Permessi IAM su altri utenti** |   |   |   |
| IAM-CreateAccessKey | privesc4 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 04](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| IAM-CreateLoginProfile | privesc5 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 05](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| IAM-UpdateLoginProfile | privesc6 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 06](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| **Categoria: PassRole a un servizio** |   |   |   |
| CloudFormation-PassExistingRoleToCloudFormation | privesc20 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 20](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| CodeBuild-CreateProjectPassRole | privesc-codeBuildProject | Nessuno |   |
| DataPipeline-PassExistingRoleToNewDataPipeline | privesc21 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 21](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| EC2-CreateInstanceWithExistingProfile | privesc3 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 03](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 2](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-2) |
| Glue-PassExistingRoleToNewGlueDevEndpoint | privesc18 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 18](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| Lambda-PassExistingRoleToNewLambdaThenInvoke | privesc15 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 15](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| Lambda-PassRoleToNewLambdaThenTrigger | privesc16 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 16](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| SageMaker-CreateNotebookPassRole | privesc-sageNotebook | Nessuno | :rhinoceros: [AWS IAM Privilege Escalation - Method 2](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/) |
| SageMaker-CreateTrainingJobPassRole | privesc-sageTraining | Nessuno |   |
| SageMaker-CreateProcessingJobPassRole | privesc-sageProcessing | Nessuno |   |
| **Categoria: Permessi sulle policy** |   |   |   |
| IAM-AddUserToGroup | privesc13 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 13](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-AttachGroupPolicy | privesc8 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 08](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-AttachRolePolicy | privesc9 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 09](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-AttachUserPolicy | privesc7 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 07](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-CreateNewPolicyVersion | privesc1 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 01](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 1](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable) |
| IAM-PutGroupPolicy | privesc11 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 11](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-PutRolePolicy | privesc12 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 12](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-PutUserPolicy | privesc10 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 10](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-SetExistingDefaultPolicyVersion | privesc2 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 02](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 2](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-2) |
| **Categoria: Privilege Escalation utilizzando servizi AWS** |   |   |   |
| EC2InstanceConnect-SendSSHPublicKey | privesc-instanceConnect | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| CloudFormation-UpdateStack | privesc-cfUpdateStack | CloudFormation | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| Glue-UpdateExistingGlueDevEndpoint | privesc19 | Glue | :fox_face: [Well, That Escalated Quickly - Privesc 19](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| Lambda-EditExistingLambdaFunctionWithRole | privesc17 | Lambda | :fox_face: [Well, That Escalated Quickly - Privesc 17](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 4](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-4) |
| SageMakerCreatePresignedNotebookURL | privesc-sageUpdateURL | SageMaker | :rhinoceros: [AWS IAM Privilege Escalation - Method 3](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/) |
| SSM-SendCommand | privesc-ssm-command | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| SSM-StartSession | privesc-ssm-session | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| STS-AssumeRole | privesc-assumerole | Nessuno | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| **Categoria: Aggiornamento di una policy AssumeRole** |   |   |   |
| IAM-UpdatingAssumeRolePolicy | privesc14 | Nessuno | :fox_face: [Well, That Escalated Quickly - Privesc 14](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |

# Altri casi d'uso

#### Predefinito - Nessun `terraform.tfvars` configurato
* Distribuisci utilizzando il tuo profilo AWS predefinito
* Tutti i ruoli creati sono assumibili dal principale utilizzato per eseguire Terraform (specificato nel tuo profilo predefinito)

#### Utilizzare un profilo diverso da quello predefinito per eseguire Terraform
* Copia `terraform.tfvars.example` in `terraform.tfvars`
* Togli il commento dalla riga `#aws_local_profile = "profile_name"` e inserisci il nome del profilo che desideri utilizzare
* Se stai utilizzando un profilo non predefinito e desideri comunque utilizzare il file `aws_credentials_file_example`, puoi usare questo comando per generare un file di credenziali AWS che funzioni con il nome del tuo profilo non predefinito (Grazie @scriptingislife)
   * Ricorda di sostituire `nondefaultuser` con il nome del profilo che stai utilizzando):
   * `tail -n +7 aws_credentials_file_example | sed -e "s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g;s/default/nondefaultuser/g" >> ~/.aws/credentials`

#### Utilizzare un ARN diverso dal chiamante come principale che può assumere i ruoli appena creati

* Copia `terraform.tfvars.example` in `terraform.tfvars`
* Togli il commento dalla riga `#aws_assume_role_arn = "arn:aws:iam::112233445566:user/you"` e inserisci l'ARN che desideri utilizzare

Una volta creati, ciascun ruolo di privesc sarà assumibile dal principale (ARN) da te specificato.

#### Creare la risorsa nell'account X, ma utilizzare un ARN dall'account Y come principale che può assumere i ruoli appena creati

Se hai configurato profili AWS CLI che assumono ruoli in altri account, dovrai specificare il nome del profilo E specificare manualmente l'ARN che desideri utilizzare per assumere i diversi ruoli.

Nell'esempio seguente, le risorse verranno create nell'account associato a `"prod-cross-org-access-role"`, ma ciascun ruolo creato da Terraform potrà essere accessibile da `"arn:aws:iam::112233445566:user/you"`, che appartiene a un altro account.```
aws_local_profile = "prod-cross-org-access-role"
aws_assume_role_arn = "arn:aws:iam::112233445566:user/you"

FAQ

Come si confronta IAM Vulnerable con CloudGoat, Terragoat, e SadCloud?

Tutti questi strumenti usano Terraform per distribuire infrastrutture intenzionalmente vulnerabili su AWS. Tuttavia, l'attenzione di IAM Vulnerable è sull'escalation dei privilegi IAM, mentre gli altri strumenti o non coprono l'escalation dei privilegi IAM o ne trattano solo alcuni scenari.

  • CloudGoat distribuisce otto scenari unici, alcuni dei quali coprono percorsi di escalation dei privilegi IAM, mentre altri si concentrano su altre aree come i segreti nei metadati EC2.
  • Terragoat e SadCloud si concentrano entrambi sui molti modi in cui è possibile configurare erroneamente i propri account cloud, ma non coprono i percorsi di escalation dei privilegi IAM. Di fatto, si può quasi pensare a IAM Vulnerable come a un pezzo mancante del puzzle se applicato insieme a Terragoat o SadCloud. Le configurazioni intenzionalmente vulnerabili si completano a vicenda.

Come si confronta IAM Vulnerable con Cloudsplaining, AWSPX, Principal Mapper, Pacu, Cloudmapper, o ScouteSuite?

Tutti questi strumenti aiutano a identificare le configurazioni errate esistenti nel tuo ambiente AWS. Alcuni, come Pacu, aiutano anche a sfruttare le configurazioni errate. Al contrario, IAM Vulnerable crea infrastrutture intenzionalmente vulnerabili. Se vuoi davvero imparare a usare strumenti come Principal Mapper (PMapper), AWSPX, Pacu e Cloudsplaining, IAM Vulnerable fa per te.

Non ho mai usato Terraform e ne ho paura. Aiuto!?

Anch'io avevo paura di Terraform e dei progetti che avrebbero creato risorse nel mio account prima di sapere come funzionava Terraform. Ecco alcune cose che potrebbero alleviare la tua ansia:

  • Utilizzando un account AWS per questo unico scopo, puoi stare tranquillo che questo repository non influenzerà negativamente nient'altro a cui tieni. Anche se distribuisci IAM Vulnerable in un account separato all'interno di un'organizzazione AWS, puoi stare tranquillo che gli altri account nell'organizzazione saranno al di fuori del raggio di danno di questo account di prova.
  • Il comando terraform plan è un'esecuzione di prova. Mostra esattamente cosa verrà distribuito se esegui terraform apply prima di eseguirlo effettivamente.
  • Stai tranquillo sapendo che puoi eseguire terraform destroy su qualsiasi cosa tu abbia creato con terraform apply per avere una tabula rasa.
  • Se la tua preoccupazione è il costo, dai un'occhiata a Infracost. Scarichi questo binario, ti registri per una chiave API gratuita e lo esegui all'interno di una directory Terraform come iam-vulnerable. Questo strumento esegue terraform plan e calcola il costo mensile associato al piano così come è attualmente configurato. Questo è lo strumento che ho usato per popolare la tabella delle stime dei costi dei moduli sopra.

Posso eseguire questo strumento e un altro strumento come CloudGoat, Terragoat, o SadCloud nello stesso account AWS?

Sì. Ogni strumento manterrà il proprio stato Terraform separatamente, ma tutte le risorse verranno create, aggiornate ed eliminate nello stesso account e possono coesistere.

Lavori precedenti e buoni riferimenti

  • https://github.com/RhinoSecurityLabs/AWS-IAM-Privilege-Escalation
  • https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/
  • https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/
  • https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws
  • https://ermetic.com/whats-new/blog/aws/auditing-passrole-a-problematic-privilege-escalation-permission/
Scarica lo strumento
  • terraform apply
  • (Opzionale) Aggiungi i profili IAM Vulnerable al tuo file delle credenziali AWS e modifica il numero dell'account.
    • I seguenti comandi eseguono un backup del file delle credenziali AWS corrente, poi prendono il file di esempio delle credenziali dal repository e sostituiscono l'account placeholder con il numero del tuo account di destinazione, e infine aggiungono tutti i profili privesc di IAM Vulnerable al tuo file delle credenziali in modo da poterli utilizzare:
    • cp ~/.aws/credentials ~/.aws/credentials.backup
    • tail -n +7 aws_credentials_file_example | sed s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g >> ~/.aws/credentials