AWS - Lambda Persistence

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Lambda

Za više informacija proverite:

AWS - Lambda Enum

Lambda Layer Persistence

Moguće je uvesti/otvoriti backdoor u layer za izvršavanje proizvoljnog koda kada se lambda izvršava na diskretan način:

AWS - Lambda Layers Persistence

Lambda Extension Persistence

Zloupotrebom Lambda Layers takođe je moguće zloupotrebiti ekstenzije i persistirati u lambdi, ali i ukrasti i izmeniti zahteve.

AWS - Abusing Lambda Extensions

Via resource policies

Moguće je dodeliti pristup različitim lambda akcijama (kao što su pozivanje ili ažuriranje koda) spoljnim računima:

Versions, Aliases & Weights

Lambda može imati različite verzije (sa različitim kodom za svaku verziju).
Zatim, možete kreirati različite alias-e sa različitim verzijama lambde i postaviti različite težine za svaku.
Na ovaj način napadač bi mogao da kreira backdoored verziju 1 i verziju 2 sa samo legitimnim kodom i izvršava samo verziju 1 u 1% zahteva kako bi ostao diskretan.

Version Backdoor + API Gateway

  1. Kopirajte originalni kod Lambde
  2. Kreirajte novu verziju sa backdoor-om originalnog koda (ili samo sa zlonamernim kodom). Objavite i implementirajte tu verziju na $LATEST
  3. Pozovite API gateway povezan sa lambdom da izvrši kod
  4. Kreirajte novu verziju sa originalnim kodom, objavite i implementirajte tu verziju na $LATEST.
  5. Ovo će sakriti backdoored kod u prethodnoj verziji
  6. Idite na API Gateway i kreirajte novu POST metodu (ili izaberite bilo koju drugu metodu) koja će izvršiti backdoored verziju lambde: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
  7. Imajte na umu konačno :1 u arn koji označava verziju funkcije (verzija 1 će biti backdoored u ovom scenariju).
  8. Izaberite kreiranu POST metodu i u Akcijama izaberite Deploy API
  9. Sada, kada pozovete funkciju putem POST-a, vaš Backdoor će biti aktiviran

Cron/Event actuator

Činjenica da možete pokrenuti lambda funkcije kada se nešto dogodi ili kada prođe određeno vreme čini lambdu lepim i uobičajenim načinom za postizanje persistencije i izbegavanje otkrivanja.
Evo nekoliko ideja kako da učinite svoju prisutnost u AWS-u diskretnijom kreiranjem lambdi.

  • Svaki put kada se kreira novi korisnik, lambda generiše novi korisnički ključ i šalje ga napadaču.
  • Svaki put kada se kreira nova uloga, lambda dodeljuje dozvole za preuzimanje uloge kompromitovanim korisnicima.
  • Svaki put kada se generišu novi cloudtrail logovi, obrišite/izmenite ih

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks