AWS - Steal Lambda Requests
Lambda Akışı
Slicer, invokasyonları init işlemine gönderen bir konteyner dışı işlemdir.
Init işlemi, ilginç uç noktaları açığa çıkaran 9001 numaralı bağlantı noktasını dinler:
/2018-06-01/runtime/invocation/next
– bir sonraki invokasyon etkinliğini al/2018-06-01/runtime/invocation/{invoke-id}/response
– invokasyon için işleyici yanıtını döndür/2018-06-01/runtime/invocation/{invoke-id}/error
– bir yürütme hatası döndür
bootstrap.py, init işleminden invokasyonları alan ve kullanıcı kodunu işlemek için çağrı yapan bir döngüye sahiptir (
/next
).Son olarak, bootstrap.py, yanıtı init'e gönderir.
Bootstrap, kullanıcı kodunu bir modül olarak yükler, bu nedenle kullanıcı kodu tarafından gerçekleştirilen herhangi bir kod yürütme aslında bu işlemde gerçekleşmektedir.
Lambda İsteklerini Çalma
Bu saldırının amacı, kullanıcı kodunu, zayıf isteği işleyen bootstrap.py
işlemi içinde kötü amaçlı bir bootstrap.py
işlemi yürütmeye zorlamaktır. Bu şekilde, kötü amaçlı bootstrap işlemi, istekleri işlemek için init işlemiyle konuşmaya başlayacak ve meşru bootstrap, kötü amaçlı olanı çalıştırırken tuzağa düşmüş olacağından init işleminden istek istemeyecektir.
Bu, kullanıcı kodunun meşru bootstrap.py
işlemi tarafından yürütülüyor olması nedeniyle kolayca başarılabilir:
Mevcut invokasyonun sahte sonucunu init işlemine göndermek, böylece init, bootstrap işleminin daha fazla invokasyon beklediğini düşünür.
Bir istek,
/${invoke-id}/response
'a gönderilmelidir.Bir sonraki invokasyonları işleyecek kötü amaçlı
boostrap.py
yürütün.Gizlilik amaçlarıyla lambda invokasyon parametrelerini saldırganın kontrol ettiği C2'ye gönderip ardından istekleri normal şekilde işleyebilirsiniz.
Bu saldırı için, mevcut lambda invokasyonundan
bootstrap.py
'ın orijinal kodunu almak yeterlidir, kötü amaçlı kodu ekleyip mevcut lambda invokasyonundan çalıştırmaktır.
Saldırı Adımları
Bir Uzaktan Kod Yürütme (RCE) zafiyeti bulun.
Bir kötü amaçlı bootstrap oluşturun (örneğin https://raw.githubusercontent.com/carlospolop/lambda_bootstrap_switcher/main/backdoored_bootstrap.py)
Kötü amaçlı bootstrap'ı çalıştırın.
Bu işlemleri kolayca çalıştırabilirsiniz.
Daha fazla bilgi için https://github.com/carlospolop/lambda_bootstrap_switcher
Referanslar
Last updated