F5 Big-IP cihazları güvenlik açığı – CVE-2022-1388

F5 Big-IP cihazlarını etkileyen yeni bir güvenlik açığı var ( CVE-2022-1388 ). SCYTHE, sömürü sonrasına odaklandığı için, güvenlik açığının kendisine çok fazla dalmıyoruz. İyi haber (en azından benim için), bunu açıklaması basit:

Geliştiriciler, tehdit aktörünün komutları çalıştırmak için bash ile arayüz oluşturmasını sağlayan bir API uç noktası (/mgmt/tm/util/bash) oluşturdu
API uç noktası, kimlik doğrulama gerektirmez
API’ye hizmet veren web sunucusu, komutları root olarak yürütür.
Not : Teknik olarak web sunucusunun kendisi kök olarak çalışmaz, ancak bash uç noktasındaki komutlar, onları kök (facepalm) olarak çalıştıran bir hizmete iletilir. Bu, büyük ölçüde farksız bir ayrımdır, çünkü sonuç, kök kullanıcı olarak komut yürütmedir.

Sömürü söz konusu olduğunda bu etkili bir şekilde mükemmel bir fırtınadır. API uç noktasına erişimi olan bir tehdit aktörü, F5 cihazında komutları kök olarak çalıştırabilir. Bu cihazların tipik olarak bir ağda sahip oldukları ayrıcalıklı konum göz önüne alındığında, bu neredeyse en kötü durum senaryosudur. Tek tasarruf, API uç noktasından yalnızca F5 cihazının İnternet’e maruz kalmaması gereken yönetim arayüzünden yararlanılabilmesidir. Güvenlik araştırmacısı Jacob Baines’e göre, doğrudan İnternet’e maruz kalan yönetim arayüzlerine sahip yalnızca yaklaşık 2.500 F5 cihazı var.

SCYTHE CTI ekibi bu güvenlik açığını izliyor ve Curated Intelligence’den ( Germán Fernández ) bir arkadaşımız tehdit aktörleri tarafından gerçekleştirilen sömürü sonrası faaliyetleri yayınladı.

Bu harika CTI paylaşımı, SKYTHE’nin bu sömürü sonrası faaliyetin tespitini doğrulamak için bir öykünme planı oluşturmasına izin verdi. Bir F5 cihazında EDR veya diğer güvenlik izlemenin çalışmasını beklemesek de, öykünme planını yürütmek yine de yararlı olabilir. Güvenlik ekipleri, istismar sonrası adımları görüp göremeyeceklerini veya temizleme komut dosyaları oluşturmak için istismarı simüle edip edemediklerini değerlendirmek için kullanabilir.

Bash API uç noktası, yürütmek için aşağıdaki ekran görüntüsündeki komuttan geçirilir (bu komut, sağladığımız tehditlerden biri olarak yürütülür). Bitiş noktasının /bin/bash zaten çalıştığını unutmayın, böylece -c parametresi bash’a geçirilmiş olarak yorumlanabilir.

Çalıştırılan bireysel komutlar aşağıdaki gibidir:

  • echo “=====”
  • cat /etc/hostname
  • echo “=====”
  • cat /etc/hosts
  • echo “=====”
  • cat /etc/passwd
  • echo “=====”
  • cat /etc/shadow
  • echo “=====”
  • cat /etc/resolv.conf
  • echo “=====”
  • f5mku -f
  • echo “=====”
  • f5mku -K
  • echo “=====”
  • f5mku -Z
  • echo “=====”
  • mount -o rw,remount /usr
  • tar zcf /usr/local/www/xui/common/css/2e9928af731.css /config/* /root/.bash_history
  • echo ” /usr/local/www/xui/common/css/e9928af731css.php
  • echo “echo \” /usr/local/www/xui/common/css/e9928af731css.php” >> /config/startup
  • mount -o ro,remount /usr

F5 web sunucusu kök olarak çalışmadığından, web kabuğu tarafından yürütülen komutlar kök olarak yürütülmeyecektir. Tehdit aktörünün bunun farkında olup olmadığı veya uzaktan erişim yoluyla kök ayrıcalıklarını nasıl yeniden kazanacağı tam olarak belli değil. Web kabuğu, güvenlik açığı kapatıldıktan sonra bile tehdit aktörünün cihaza erişimini sürdürmesini sağlayacaktır.

Bu tehdidi çalıştırdığınız herhangi bir sistemde /usr/local/www/xui/common/css/e9928af731css.php dosyasında bir web kabuğu olacağını unutmayın. Tehdit öykünmesini gerçek bir F5 aygıtında çalıştırırsanız, aygıta bir tehdit aktörü erişimi sağladığı için bu dosyanın silindiğinden emin olun (temel güvenlik açığını yamasanız bile).

Ek olarak, web erişilebilir bir konumda hassas veriler içerdiğinden /usr/local/www/xui/common/css/2e9928af731.css dosyasını kaldırmak isteyeceksiniz.

İnternete açık bir F5 yönetim arayüzünüz varsa, cihazın güvenliğinin ihlal edildiğini düşünmelisiniz. Tehdit aktörleri, savunmasız sistemleri aktif olarak tarıyor ve bu blog gönderisini okuduğunuzda, yama uygulanmamış herhangi bir sistem büyük olasılıkla istismar edildi. Dahili bir sisteme yama uyguladıktan sonra, yama uygulanmadan önce güvenlik açığından yararlanılmadığından emin olmak için lütfen tehdit avcılığı veya olay müdahale ekibi üyeleriyle işbirliği yapın. Web kabuğu ve yapılandırma verileri için kullanılan dosya adları, tehdit aktörleri tarafından değiştirilebilir. Web sunucusu günlüklerinin dikkatli bir şekilde gözden geçirilmesi (bu yazının kapsamı dışında), başarılı bir sömürünün işaretlerini ortaya çıkarmalıdır.

Bu, müşterilerimizin risklerini neredeyse gerçek zamanlı olarak değerlendirmelerine yardımcı olmak için daha hızlı bir şekilde zorlamaya başlayan CTI SCYTHE türüdür. Bugün, iki tehdit öykünme planı yayınlıyoruz. İlk öykünme planı , bir base64 yükünün /tmp/f5.sh dosyasına kodunu çözerek ve yük komutlarını yürüterek komutları çalıştırır. Yükte yürütülen komutlar, gönderide yukarıda ayrıntıları verilen komutlardır.

SCYTHE platformunda tüm tehdit aktörü senaryosu tek bir eylem olarak yazıldığından, her adımı gözlemleyemezsiniz. Kampanyadaki her adımın gözlemlenmesini kolaylaştırmak için, her komutu ayrı ayrı uygulayan ikinci bir öykünme planı oluşturduk. Tehdit öykünme planı genel bir Linux sisteminde çalıştırılıyorsa (bir F5 cihazının aksine), F5’e özel “f5mku” komutunun başarısız olmasını beklemelisiniz (sistemde bulunmayacaktır). Ek olarak, çoğu sistemde /usr dizini için özel bir dosya sistemi bulunmadığından, “mount” komutları genel bir Linux sisteminde büyük olasılıkla başarısız olacaktır. Son olarak, tam dizin yapısı mevcut olmadığından tar dosyasının ve web kabuğunun oluşturulması da başarısız olacaktır.

Metnin aslına ulaşmak için:

https://www.scythe.io/library/f5-big-ip-cve-2022-1388

Video: