AWS - Lambda Persistence

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Lambda

Aby uzyskać więcej informacji, sprawdź:

pageAWS - Lambda Enum

Trwałość warstwy Lambda

Możliwe jest wprowadzenie/backdoor do warstwy w celu wykonania dowolnego kodu podczas wykonywania lambdy w sposób skryty:

pageAWS - Lambda Layers Persistence

Trwałość rozszerzenia Lambda

Wykorzystując warstwy Lambda, możliwe jest również wykorzystanie rozszerzeń i trwałość w lambdzie, ale także kradzież i modyfikacja żądań.

pageAWS - Abusing Lambda Extensions

Poprzez zasady zasobów

Możliwe jest udzielenie dostępu do różnych działań lambdy (takich jak wywołanie lub aktualizacja kodu) zewnętrznym kontom:

Wersje, aliasy i wagi

Lambda może mieć różne wersje (z różnym kodem w każdej wersji). Następnie można utworzyć różne aliasy z różnymi wersjami lambdy i przypisać im różne wagi. W ten sposób atakujący mógłby utworzyć wersję 1 z backdoorem i wersję 2 tylko z prawidłowym kodem i wykonywać tylko wersję 1 w 1% żądań, aby pozostać skrytym.

Backdoor wersji + Bramka API

  1. Skopiuj oryginalny kod lambdy

  2. Utwórz nową wersję z backdoorem oryginalnego kodu (lub po prostu z złośliwym kodem). Opublikuj i wdroż tę wersję do $LATEST

  3. Wywołaj bramkę API związaną z lambdą, aby wykonać kod

  4. Utwórz nową wersję z oryginalnym kodem, Opublikuj i wdroż tę wersję do $LATEST.

  5. To ukryje backdoored kod w poprzedniej wersji

  6. Przejdź do Bramki API i utwórz nową metodę POST (lub wybierz inną metodę), która wykona zbackdoorowaną wersję lambdy: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. Zauważ końcowe :1 w arn wskazujące na wersję funkcji (wersja 1 będzie backdoored w tym scenariuszu).

  8. Wybierz utworzoną metodę POST i w działaniach wybierz Wdroż API

  9. Teraz, gdy wywołasz funkcję za pomocą POST, Twój Backdoor zostanie wywołany

Aktywator Cron/Event

Możliwość uruchamiania funkcji lambdy, gdy coś się wydarzy lub gdy minie pewien czas, sprawia, że lambda jest dobrym i powszechnym sposobem uzyskania trwałości i uniknięcia wykrycia. Oto kilka pomysłów, jak uczynić swoją obecność w AWS bardziej skrytą, tworząc lambdy.

  • Za każdym razem, gdy zostanie utworzony nowy użytkownik, lambda generuje nowy klucz użytkownika i wysyła go do atakującego.

  • Za każdym razem, gdy zostanie utworzona nowa rola, lambda nadaje uprawnienia do przyjmowania roli skompromitowanym użytkownikom.

  • Za każdym razem, gdy zostaną wygenerowane nowe dzienniki cloudtrail, usuń/zmodyfikuj je

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated