AWS - Lambda Uzantılarını Kötüye Kullanma
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Lambda Uzantıları
Lambda uzantıları, çeşitli izleme, gözlemlenebilirlik, güvenlik ve yönetişim araçları ile entegrasyon sağlayarak işlevleri geliştirir. Bu uzantılar, .zip arşivleri kullanarak Lambda katmanları aracılığıyla veya konteyner görüntüsü dağıtımları içinde eklenerek iki modda çalışır: içsel ve dışsal.
- İçsel uzantılar, çalışma zamanı süreciyle birleşerek, dil spesifik ortam değişkenleri ve sarmalayıcı betikler kullanarak başlatmasını manipüle eder. Bu özelleştirme, Java Correto 8 ve 11, Node.js 10 ve 12, ve .NET Core 3.1 dahil olmak üzere çeşitli çalışma zamanlarına uygulanır.
- Dışsal uzantılar, ayrı süreçler olarak çalışır ve Lambda işlevinin yaşam döngüsü ile operasyon uyumunu korur. Node.js 10 ve 12, Python 3.7 ve 3.8, Ruby 2.5 ve 2.7, Java Corretto 8 ve 11, .NET Core 3.1 ve özel çalışma zamanları gibi çeşitli çalışma zamanlarıyla uyumludur.
Daha fazla bilgi için lambda uzantılarının nasıl çalıştığını kontrol edin.
Kalıcılık, İstekleri Çalma ve İstekleri Değiştirme için Dışsal Uzantı
Bu, bu yazıda önerilen tekniğin bir özetidir: https://www.clearvector.com/blog/lambda-spy/
Lambda çalışma zamanı ortamındaki varsayılan Linux çekirdeğinin “process_vm_readv” ve “process_vm_writev” sistem çağrıları ile derlendiği bulunmuştur. Ve tüm süreçler aynı kullanıcı kimliği ile çalışır, dışsal uzantı için oluşturulan yeni süreç bile. Bu, dışsal bir uzantının tasarım gereği Rapid’in yığın belleğine tam okuma ve yazma erişimine sahip olduğu anlamına gelir.
Ayrıca, Lambda uzantıları çağrı olaylarına abone olma yeteneğine sahipken, AWS bu uzantılara ham verileri açıklamaz. Bu, uzantıların HTTP isteği aracılığıyla iletilen hassas bilgilere erişemeyeceğini garanti eder.
Init (Rapid) süreci, Lambda uzantıları başlatılırken ve herhangi bir çalışma zamanı kodu yürütülmeden önce, tüm API isteklerini http://127.0.0.1:9001 adresinde izler, ancak Rapid’ten sonra.
.png)
https://www.clearvector.com/blog/content/images/size/w1000/2022/11/2022110801.rapid.default.png
AWS_LAMBDA_RUNTIME_API değişkeni, çocuk çalışma zamanı süreçlerine ve ek uzantılara Rapid API’nin IP adresini ve port numarasını gösterir.
Warning
AWS_LAMBDA_RUNTIME_APIortam değişkenini erişim sağladığımız birportile değiştirerek, Lambda çalışma zamanı içindeki tüm eylemleri kesmek mümkündür (man-in-the-middle). Bu, uzantının Rapid Init ile aynı ayrıcalıklara sahip olması ve sistemin çekirdeğinin işlem belleğinin değiştirilmesine izin vermesi nedeniyle mümkündür; bu da port numarasının değiştirilmesini sağlar.
Uzantılar herhangi bir çalışma zamanı kodundan önce çalıştığı için, ortam değişkenini değiştirmek, çalışma zamanı süreci (örneğin, Python, Java, Node, Ruby) başlarken etkileyecektir. Ayrıca, bu değişkene bağımlı olan uzantılarımızdan sonra yüklenen uzantılar da uzantımız üzerinden yönlendirilecektir. Bu yapı, kötü amaçlı yazılımların güvenlik önlemlerini tamamen atlamasına veya doğrudan çalışma zamanı ortamında günlük uzantılarını atlatmasına olanak tanıyabilir.
.png)
https://www.clearvector.com/blog/content/images/size/w1000/2022/11/2022110801.rapid.mitm.png
lambda-spy aracı, bu bellek yazma ve lambda isteklerinden hassas bilgileri çalma, diğer uzantıların isteklerini değiştirme işlemlerini gerçekleştirmek için oluşturulmuştur.
Referanslar
- https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/
- https://www.clearvector.com/blog/lambda-spy/
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

