AWS - Lambda Persistence
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Daha fazla bilgi için kontrol edin:
Lambda çalıştırıldığında rastgele kod çalıştırmak için bir katman tanıtmak/arka kapı oluşturmak mümkündür:
Lambda Katmanlarını kötüye kullanarak, uzantıları da kötüye kullanmak ve lambda'da kalıcı olmak mümkündür, ayrıca istekleri çalmak ve değiştirmek de mümkündür.
Farklı lambda eylemlerine (örneğin çağırma veya kod güncelleme) dış hesaplara erişim vermek mümkündür:
Bir Lambda'nın farklı sürümleri olabilir (her sürümde farklı kodlar). Sonra, lambda'nın farklı sürümleri ile farklı takma adlar oluşturabilir ve her birine farklı ağırlıklar atayabilirsiniz. Bu şekilde bir saldırgan arka kapılı sürüm 1 ve yalnızca meşru kod içeren sürüm 2 oluşturabilir ve isteklerin yalnızca %1'inde sürüm 1'i çalıştırarak gizli kalabilir.
Lambda'nın orijinal kodunu kopyalayın
Orijinal kodu (veya sadece kötü niyetli kod ile) yeni bir sürüm arka kapısı oluşturun. Bu sürümü yayınlayın ve $LATEST'e dağıtın.
Kodu çalıştırmak için lambda ile ilgili API geçidini çağırın
Orijinal kod ile yeni bir sürüm oluşturun, bu sürümü yayınlayın ve $LATEST'e dağıtın.
Bu, arka kapılı kodu önceki bir sürümde gizleyecektir.
API Geçidine gidin ve arka kapılı sürümü çalıştıracak yeni bir POST yöntemi oluşturun (veya başka bir yöntemi seçin): arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
ARN'nin sonundaki :1'in fonksiyonun sürümünü gösterdiğini unutmayın (bu senaryoda sürüm 1 arka kapılı olan olacaktır).
Oluşturulan POST yöntemini seçin ve Eylemler'de API'yi Dağıt
seçin.
Artık, POST ile fonksiyonu çağırdığınızda arka kapınız tetiklenecektir.
Bir şey olduğunda veya bir süre geçtiğinde lambda fonksiyonlarının çalışmasını sağlamak, lambda'yı kalıcılık elde etmek ve tespiti önlemek için güzel ve yaygın bir yol haline getirir. AWS'deki varlığınızı daha gizli hale getirmek için lambdalar oluşturma konusunda bazı fikirleriniz var.
Her yeni kullanıcı oluşturulduğunda, lambda yeni bir kullanıcı anahtarı oluşturur ve bunu saldırgana gönderir.
Her yeni rol oluşturulduğunda, lambda, tehlikeye atılmış kullanıcılara rol üstlenme izinleri verir.
Yeni cloudtrail günlükleri oluşturulduğunda, bunları silin/değiştirin.