AWS - Lambda Persistence

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Lambda

Für weitere Informationen siehe:

pageAWS - Lambda Enum

Lambda Layer Persistenz

Es ist möglich, eine Schicht einzuführen/backdooren, um beliebigen Code auszuführen, wenn die Lambda auf eine heimliche Weise ausgeführt wird:

pageAWS - Lambda Layers Persistence

Lambda-Erweiterungspersistenz

Durch den Missbrauch von Lambda-Schichten ist es auch möglich, Erweiterungen zu missbrauchen und in der Lambda zu persistieren, aber auch Anfragen zu stehlen und zu modifizieren.

pageAWS - Abusing Lambda Extensions

Über Ressourcenrichtlinien

Es ist möglich, externen Konten Zugriff auf verschiedene Lambda-Aktionen (wie Aufruf oder Aktualisierung des Codes) zu gewähren:

Versionen, Aliase & Gewichte

Eine Lambda kann verschiedene Versionen haben (mit jeweils unterschiedlichem Code). Dann können Sie verschiedene Aliase mit verschiedenen Versionen der Lambda erstellen und jedem Alias unterschiedliche Gewichte zuweisen. Auf diese Weise könnte ein Angreifer eine backdoored Version 1 und eine Version 2 nur mit dem legitimen Code erstellen und nur die Version 1 bei 1% der Anfragen ausführen, um unentdeckt zu bleiben.

Version Backdoor + API Gateway

  1. Kopieren Sie den Originalcode der Lambda

  2. Erstellen Sie eine neue Version, die den Originalcode backdoort (oder nur mit bösartigem Code). Veröffentlichen und bereitstellen Sie diese Version auf $LATEST

  3. Rufen Sie das mit der Lambda verbundene API-Gateway auf, um den Code auszuführen

  4. Erstellen Sie eine neue Version mit dem Originalcode, veröffentlichen und bereitstellen Sie diese Version auf $LATEST.

  5. Dadurch wird der backdoorte Code in einer früheren Version versteckt

  6. Gehen Sie zum API-Gateway und erstellen Sie eine neue POST-Methode (oder wählen Sie eine andere Methode), die die backdoorte Version der Lambda ausführt: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. Beachten Sie das abschließende :1 der arn, das die Version der Funktion angibt (Version 1 wird in diesem Szenario die backdoorte sein).

  8. Wählen Sie die erstellte POST-Methode aus und wählen Sie unter Aktionen API bereitstellen

  9. Wenn Sie jetzt die Funktion über POST aufrufen, wird Ihr Backdoor aufgerufen

Cron/Event-Aktor

Die Tatsache, dass Sie Lambda-Funktionen ausführen können, wenn etwas passiert oder wenn einige Zeit vergeht, macht Lambda zu einer schönen und häufigen Möglichkeit, Persistenz zu erlangen und eine Entdeckung zu vermeiden. Hier sind einige Ideen, um Ihre Präsenz in AWS durch Erstellen von Lambdas stealthiger zu gestalten.

  • Jedes Mal, wenn ein neuer Benutzer erstellt wird, generiert Lambda einen neuen Benutzerschlüssel und sendet ihn an den Angreifer.

  • Jedes Mal, wenn eine neue Rolle erstellt wird, gibt Lambda angenommene Rollenberechtigungen an kompromittierte Benutzer.

  • Jedes Mal, wenn neue CloudTrail-Protokolle generiert werden, löschen/ändern Sie sie

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated