AWS - Lambda Post Exploitation

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

Lambda

Für weitere Informationen siehe:

AWS - Lambda Enum

Exfilrtate Lambda Credentials

Lambda verwendet Umgebungsvariablen, um credentials zur Runtime zu injizieren. Wenn Sie Zugriff auf diese erhalten können (z. B. durch Lesen von /proc/self/environ oder durch Verwendung der verwundbaren Funktion selbst), können Sie sie selbst verwenden. Sie liegen in den Standard-Variablennamen AWS_SESSION_TOKEN, AWS_SECRET_ACCESS_KEY, und AWS_ACCESS_KEY_ID.

Standardmäßig haben diese Berechtigungen zum Schreiben in eine cloudwatch log group (deren Name in AWS_LAMBDA_LOG_GROUP_NAME gespeichert ist) sowie zum Erstellen beliebiger log groups; Lambda-Funktionen haben jedoch häufig weitere Berechtigungen, die ihrer vorgesehenen Nutzung entsprechen.

lambda:Delete*

Ein Angreifer, dem lambda:Delete* gewährt wurde, kann Lambda functions, Versionen/Aliase, layers, event source mappings und andere zugehörige Konfigurationen löschen.

aws lambda delete-function \
--function-name <LAMBDA_NAME>

Andere Lambda-URL-Anfragen stehlen

Wenn ein Angreifer es schafft, RCE in einer Lambda-Funktion zu erlangen, kann er HTTP-Anfragen anderer Nutzer an die Lambda abfangen. Wenn die Anfragen sensible Informationen enthalten (Cookies, Anmeldeinformationen…), kann er diese stehlen.

AWS - Lambda Steal Requests

Andere Lambda-URL-Anfragen & Extensions-Anfragen stehlen

Durch Missbrauch von Lambda Layers ist es außerdem möglich, Extensions auszunutzen und in der Lambda zu persistieren sowie Anfragen zu stehlen und zu manipulieren.

AWS - Abusing Lambda Extensions

AWS Lambda – VPC Egress Bypass

Zwinge eine Lambda-Funktion aus einem eingeschränkten VPC heraus, indem du ihre Konfiguration mit einem leeren VpcConfig (SubnetIds=[], SecurityGroupIds=[]) aktualisierst. Die Funktion läuft dann im von Lambda verwalteten Netzwerkbereich, erhält wieder ausgehenden Internetzugang und umgeht damit Egress-Kontrollen, die durch private VPC-Subnets ohne NAT durchgesetzt werden.

AWS - Lambda VPC Egress Bypass

AWS Lambda – Runtime Pinning/Rollback Missbrauch

Missbrauche lambda:PutRuntimeManagementConfig, um eine Funktion auf eine spezifische Runtime-Version zu pinnen (Manual) oder Updates einzufrieren (FunctionUpdate). Dadurch bleibt die Kompatibilität mit bösartigen Layers/Wrappers erhalten und die Funktion kann auf einer veralteten, verwundbaren Runtime gehalten werden, was Exploits und langfristige Persistenz erleichtert.

AWS - Lambda Runtime Pinning Abuse

AWS Lambda – Log-Siphon via LoggingConfig.LogGroup-Umleitung

Missbrauche die erweiterten Logging-Optionen von lambda:UpdateFunctionConfiguration, um die Logs einer Funktion in eine vom Angreifer gewählte CloudWatch Logs Log-Gruppe umzuleiten. Das funktioniert ohne Codeänderung oder Änderung der Execution-Role (die meisten Lambda-Rollen enthalten bereits logs:CreateLogGroup/CreateLogStream/PutLogEvents über AWSLambdaBasicExecutionRole). Wenn die Funktion Secrets/Request-Bodies ausgibt oder mit Stacktraces abstürzt, kannst du diese aus der neuen Log-Gruppe sammeln.

AWS - Lambda LoggingConfig Redirection

AWS - Lambda Function URL öffentliche Freigabe

Mache eine private Lambda Function URL zu einem öffentlichen, nicht authentifizierten Endpunkt, indem du den Function URL AuthType auf NONE setzt und eine resource-based policy anhängst, die lambda:InvokeFunctionUrl für alle gewährt. Das ermöglicht anonyme Aufrufe interner Funktionen und kann sensible Backend-Operationen offenlegen.

AWS - Lambda Function URL Public Exposure

AWS Lambda – Event Source Mapping Target Hijack

Missbrauche UpdateEventSourceMapping, um das Ziel einer bestehenden Event Source Mapping (ESM) zu ändern, sodass Datensätze von DynamoDB Streams, Kinesis oder SQS an eine vom Angreifer kontrollierte Funktion geliefert werden. Das leitet Live-Daten stillschweigend um, ohne Producer oder den Original-Code der Funktion zu berühren.

AWS - Lambda Event Source Mapping Hijack

AWS Lambda – EFS Mount Injection Datenexfiltration

Missbrauche lambda:UpdateFunctionConfiguration, um einen bestehenden EFS Access Point an eine Lambda anzuhängen, und deploye dann trivialen Code, der Dateien aus dem gemounteten Pfad auflistet/liest, um geteilte Secrets/Konfigurationen zu exfiltrieren, auf die die Funktion zuvor keinen Zugriff hatte.

AWS - Lambda EFS Mount Injection

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