AWS - Lambda Post Exploitation
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :
HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Lambda
Pour plus d'informations, consultez :
Exfiltrer les identifiants Lambda
Lambda utilise des variables d'environnement pour injecter des identifiants Ă l'exĂ©cution. Si vous pouvez y accĂ©der (en lisant /proc/self/environ ou en utilisant la fonction vulnĂ©rable elle-mĂȘme), vous pouvez les utiliser vous-mĂȘme. Ils se trouvent dans les noms de variables par dĂ©faut AWS_SESSION_TOKEN, AWS_SECRET_ACCESS_KEY, et AWS_ACCESS_KEY_ID.
Par défaut, ceux-ci auront accÚs pour écrire dans un cloudwatch log group (dont le nom est stocké dans AWS_LAMBDA_LOG_GROUP_NAME), ainsi que pour créer des log groups arbitraires ; cependant les fonctions Lambda ont fréquemment plus d'autorisations attribuées en fonction de leur usage prévu.
lambda:Delete*
Un attaquant se voyant accorder lambda:Delete* peut supprimer des fonctions Lambda, versions/aliases, layers, event source mappings et d'autres configurations associées.
aws lambda delete-function \
--function-name <LAMBDA_NAME>
Voler les requĂȘtes URL Lambda d'autres utilisateurs
Si un attaquant parvient d'une maniĂšre ou d'une autre Ă obtenir RCE dans une Lambda, il pourra voler les requĂȘtes HTTP d'autres utilisateurs envoyĂ©es Ă la Lambda. Si ces requĂȘtes contiennent des informations sensibles (cookies, identifiants...), il pourra les rĂ©cupĂ©rer.
Voler les requĂȘtes URL Lambda d'autres utilisateurs et les requĂȘtes d'extensions
En abusant des Lambda Layers, il est aussi possible d'abuser des extensions et de persister dans la Lambda, mais aussi de voler et modifier les requĂȘtes.
AWS - Abusing Lambda Extensions
AWS Lambda â VPC Egress Bypass
Forcez une fonction Lambda Ă sortir d'un VPC restreint en mettant Ă jour sa configuration avec un VpcConfig vide (SubnetIds=[], SecurityGroupIds=[]). La fonction s'exĂ©cutera alors dans le plan rĂ©seau gĂ©rĂ© par Lambda, retrouvant l'accĂšs sortant Ă Internet et contournant les contrĂŽles d'egress appliquĂ©s par des sousârĂ©seaux VPC privĂ©s sans NAT.
AWS - Lambda VPC Egress Bypass
AWS Lambda â Runtime Pinning/Rollback Abuse
Abusez de lambda:PutRuntimeManagementConfig pour épingler une fonction à une version de runtime spécifique (Manual) ou geler les mises à jour (FunctionUpdate). Cela préserve la compatibilité avec des layers/wrappers malveillants et peut maintenir la fonction sur un runtime obsolÚte et vulnérable pour faciliter l'exploitation et la persistance à long terme.
AWS - Lambda Runtime Pinning Abuse
AWS Lambda â Log Siphon via LoggingConfig.LogGroup Redirection
Abusez des contrĂŽles avancĂ©s de journalisation lambda:UpdateFunctionConfiguration pour rediriger les logs d'une fonction vers un log group CloudWatch Logs choisi par l'attaquant. Cela fonctionne sans modifier le code ni le rĂŽle d'exĂ©cution (la plupart des rĂŽles Lambda incluent dĂ©jĂ logs:CreateLogGroup/CreateLogStream/PutLogEvents via AWSLambdaBasicExecutionRole). Si la fonction affiche des secrets/corps de requĂȘtes ou plante avec des stack traces, vous pouvez les rĂ©cupĂ©rer depuis le nouveau log group.
AWS - Lambda LoggingConfig Redirection
AWS - Lambda Function URL Public Exposure
Transformez une Function URL Lambda privée en un endpoint public non authentifié en passant le Function URL AuthType à NONE et en attachant une resource-based policy qui accorde lambda:InvokeFunctionUrl à tout le monde. Cela permet l'invocation anonyme de fonctions internes et peut exposer des opérations backend sensibles.
AWS - Lambda Function URL Public Exposure
AWS Lambda â Event Source Mapping Target Hijack
Abusez de UpdateEventSourceMapping pour changer la fonction Lambda cible d'un Event Source Mapping (ESM) existant afin que les enregistrements de DynamoDB Streams, Kinesis ou SQS soient livrés à une fonction contrÎlée par l'attaquant. Cela détourne silencieusement des données en direct sans toucher aux producteurs ni au code de la fonction originale.
AWS - Lambda Event Source Mapping Hijack
AWS Lambda â EFS Mount Injection data exfiltration
Abusez de lambda:UpdateFunctionConfiguration pour attacher un EFS Access Point existant à une Lambda, puis déployez un code trivial qui liste/lit les fichiers depuis le chemin monté pour exfiltrer des secrets/config partagés auxquels la fonction n'avait pas accÚs auparavant.
AWS - Lambda EFS Mount Injection
tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :
HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
HackTricks Cloud