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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Lambda
Za više informacija proverite:
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:
.png)
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.
.png)
Version Backdoor + API Gateway
- Kopirajte originalni kod Lambde
- Kreirajte novu verziju sa backdoor-om originalnog koda (ili samo sa zlonamernim kodom). Objavite i implementirajte tu verziju na $LATEST
- Pozovite API gateway povezan sa lambdom da izvrši kod
- Kreirajte novu verziju sa originalnim kodom, objavite i implementirajte tu verziju na $LATEST.
- Ovo će sakriti backdoored kod u prethodnoj verziji
- 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
- Imajte na umu konačno :1 u arn koji označava verziju funkcije (verzija 1 će biti backdoored u ovom scenariju).
- Izaberite kreiranu POST metodu i u Akcijama izaberite
Deploy API
- 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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.