AWS - IAM Post Exploitation
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen über IAM-Zugriff:
AWS - IAM, Identity Center & SSO EnumWenn du einem externen Konto (A) den Zugriff auf eine Rolle in deinem Konto erlaubst, hast du wahrscheinlich 0 Sichtbarkeit darüber, wer genau auf dieses externe Konto zugreifen kann. Das ist ein Problem, denn wenn ein anderes externes Konto (B) auf das externe Konto (A) zugreifen kann, ist es möglich, dass B auch auf dein Konto zugreifen kann.
Daher ist es möglich, beim Erlauben eines externen Kontos, auf eine Rolle in deinem Konto zuzugreifen, eine ExternalId
anzugeben. Dies ist eine "geheime" Zeichenfolge, die das externe Konto (A) angeben muss, um die Rolle in deiner Organisation zu übernehmen. Da das externe Konto B diese Zeichenfolge nicht kennt, wird es, selbst wenn es Zugriff auf A hat, nicht in der Lage sein, auf deine Rolle zuzugreifen.
Beachte jedoch, dass dieses ExternalId
"Geheimnis" kein Geheimnis ist; jeder, der die IAM-Rollenübernahme-Richtlinie lesen kann, wird in der Lage sein, es zu sehen. Solange das externe Konto A es kennt, das externe Konto B es jedoch nicht kennt, verhindert es, dass B A missbraucht, um auf deine Rolle zuzugreifen.
Beispiel:
Um einen verwirrten Stellvertreter auszunutzen, muss ein Angreifer herausfinden, ob die Prinzipale des aktuellen Kontos Rollen in anderen Konten impersonieren können.
Diese Richtlinie erlaubt allen AWS, die Rolle zu übernehmen.
Diese Richtlinie erlaubt jedem Konto, ihr apigateway so zu konfigurieren, dass es diese Lambda aufruft.
Wenn ein S3-Bucket als Principal angegeben wird, da S3-Buckets keine Kontonummer haben, wenn Sie Ihren Bucket gelöscht haben und der Angreifer ihn in seinem eigenen Konto erstellt hat, könnte er dies ausnutzen.
Ein gängiger Weg, um Probleme mit verwirrten Stellvertretern zu vermeiden, ist die Verwendung einer Bedingung mit AWS:SourceArn
, um die Ursprungs-ARN zu überprüfen. Allerdings unterstützen einige Dienste das möglicherweise nicht (wie CloudTrail laut einigen Quellen).
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)