Kısıtlı Kabuk Nedir ve Sıçrama Kabuğu Saldırıları Neden Önemlidir?
Kısıtlı kabuklar, kullanıcıların hangi komutları çalıştırabileceğini kontrol etmek için kullanılır ve genellikle aşağıdaki gibi eylemleri engeller: cdYeni kabuklar başlatmak veya ortam değişkenlerini dışa aktarmak gibi işlemler için kullanılırlar. Genellikle şu ortamlarda dağıtılırlar: CI/CD Kullanıcı davranışını sınırlamak için aracılar veya derleme ortamları. Ancak saldırganlar, kısıtlı kabuk ortamlarından kaçmak ve kısıtlanmamış kabuklara erişim sağlamak için kullanılan bir yöntem olan "jumping shell" gerçekleştirmenin yollarını ararlar. çöp kutusu/bash. İçeri girdikten sonra itSaldırgan, kısıtlı ortamın tüm sınırlamalarını aşarak tam komut satırı kontrolüne sahip olur.
Jumping Shell Nasıl Çalışır: Kısıtlı Komut Dosyasından bin/bash'e
Sıçrayan bir kabuğun amacı, kısıtlı ortamlardaki zayıf noktaları kullanarak bir kabuk kaçışını tetiklemek ve bu kaçışın da bir tehlike oluşturmasını sağlamaktır. çöp kutusu/bashSınırlandırılmış alanlardan kaçış için kullanılan yaygın teknikler şunlardır:
$ ls /bin/bash $ /bin/bashIf çöp kutusu/bash Erişilebilir durumdaysa, bu basit çağrı işlemi tamamlar.
Bir diğer yaygın yöntem:
$ echo "/bin/bash" > run.sh $ sh run.sh Saldırganlar, aşağıdaki gibi editörleri de istismar edebilirler. vi or az:
vi :set shell=/bin/bash :shell Bu yöntemler, zıplayan bir merminin ne kadar kolay bir şekilde şunlara yol açabileceğini göstermektedir. çöp kutusu/bash Yürütme işlemi, kısıtlı kabuk korumalarını etkili bir şekilde atlayarak gerçekleşir.
DevOps'ta Bu Saldırıların Gerçek Riskleri
Paylaşılan CI/CD Ortamlarda, kısıtlı kabuklar derlemeleri izole etmek ve riski azaltmak için kullanılır. Ancak bir saldırgan atlama kabuğuyla başarılı olup erişim sağladığında çöp kutusu/bashGüvenlik modeli çöker.
Riskler şunları içerir:
- Ortam sırlarına yetkisiz erişim
- Sınırsız ayrıcalık yükseltme çöp kutusu/bash
- Yapı üzerinde oynama pipelines veya eserler
- Kalıcı araçların devreye alınması pipeline
Kaçış kısıtlı kabuk çöp kutusu/bash Bu durum, sistemin tamamen tehlikeye atılmasına yol açabilir ve genellikle daha geniş kapsamlı bir tehlikeye atma sürecinin ilk adımıdır. DevSecOps saldırısı.
Shell ve bin/bash kaçış komutlarının izlenmesi ve tespiti
Sıçrayan shell davranışlarını tespit etmek ve kaçış kısıtlamalı shell girişimlerini engellemek için güvenlik ekiplerinin şunları yapması gerekir:
- Tüm shell etkinliklerini kaydedin, özellikle de / bin / bash infaz
- Düzenleyici kötüye kullanımını ve komut dosyası kullanımını, shell komut dosyası oluşturma vektörleri olarak izleyin.
- Kabuk yapılandırma dosyalarına erişimi izleyin, örneğin: .bashrc or .bash_profile
Başlatma gibi davranış kalıpları çöp kutusu/bash Sınırlı bir ortamdan gelen sinyaller yüksek öncelikli uyarı olarak değerlendirilmelidir. Erken tespit edilmesi, daha derin yatay hareketlerin önlenmesine yardımcı olabilir.
Kaçışı Kısıtlayan Kabuk Saldırılarını ve İstismarlarını Önleme
Sıçrama kabuğu risklerini azaltmak ve saldırganların saldırı başlatmasını önlemek için çöp kutusu/bash:
- Sınırlı kabukları sertleştirin: Kaldırın veya engelleyin erişim
- Komut yürütmeyi kısıtlamak için AppArmor veya SELinux kullanın.
- En az ayrıcalık ilkesini tüm alanlarda uygulayın. CI/CD roller ve koşucular
- Kabuk içermeyen dağıtımsız imajlarla derlemeleri kapsayıcılaştırın, örneğin çöp kutusu/bash
- Anormallikleri tespit etmek için derlemelerden önce ve sonra ortamları doğrulayın.
Kaçış kısıtlamalı kabuk senaryolarının önlenmesi, yalnızca sınırlı kabuklara güvenmek yerine, katmanlı kontroller gerektirir. Kısıtlı kabukların güvenli olduğunu varsaymayın eğer çöp kutusu/bash Hatta ulaşılabilir olma olasılığı bile var.
Sonuç: Mermi kovanları giriş noktalarıdır.
Kısıtlı kabuklar bir savunma katmanıdır, bir garanti değildir. Sıçrayan kabuk saldırıları, zayıf izolasyonu ve yetersiz doğrulamayı hedef alır. İçeri girdikten sonra / bin / bashSaldırganlar, DevSecOps altyapısını yönlendirebilir, kalıcı hale getirebilir ve tehlikeye atabilirler.
Tespit ve izolasyon çok önemlidir. Komut kaydı tutma, kısıtlı ortamlar ve paket yöneticilerinin uygun şekilde temizlenmesi, riskleri azaltır.
Son olarak, araçlar gibi Xygeni Bu risklere ilişkin görünürlük sağlarlar. Kod bütünlüğünün sağlanmasına, olağandışı kabuk davranışlarının tespit edilmesine ve güvenliğini sağlamak pipelineiç ve dış tehditlerden korunmaBunlara basit bir atlama kabuğuyla başlayanlar da dahildir. / bin / bash veya kısıtlı kabuk ortamlarından kaçma girişimleri.






