Mitigate CVE-2020-5902 – F5 Unauthenticated RCE

Merhabalar;

CVE-2020-5902 zaafiyeti sayesinde saldırganlar, F5 Bigip ürünlerini üzerinde uzaktan kod çalıştırabilmekte ve root sevisesinde sistemi ele geçirebilmektedir. Bu zaafiyetin giderilmesi tüm kurumlar için (eğer kurumuzunuzda F5 sistemi var ise) çok elzem bir durumdur. İlgi zaafiyet ile ilgili detaylara ve etkilenen Big ip versiyonlarına aşaıdaki link’lerden ulaşılabilir.

Ben bu yazımda 10.250.2.235 IP adresli 15.1.0.2 versiyonuna sahip F5-WAF üzerinde bu zaafiyeti nasıl mitigate edebileceğimizi göstereceğim. (https://support.f5.com/csp/article/K52145254 adresinde detaylı bilgileri görebiliriz.)

POC CVE-2020-5902

Öncelikle bu zaafiyet ile ilgili küçük bir POC yapalım ve zaafiyetin nelere yol açtığını anlamaya çalışalım. Saldırganlar’ın tek yapması gereken, f5’in managment ip adresi’ne veya self/floating ip adreslerine aşağıdaki request’leri göndermek olacaktır. Bu şekilde saldırganlar sistem üzerinde hassas dosyaları okuyabilmekte ve admin password’unu ele geçirebilmektedir.

  • https://10.250.2.235/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
  • https://10.250.2.235/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/hosts
  • https://10.250.2.235/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.license
  • https://10.250.2.235/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin

 

Mitigate CVE-2020-5902

Bu zaafiyetten kurtulmanın yolu tabi ki üreticinin önerdiği versiyonlara sistemlerimizi upgrade etmektedir. Ancak acil çözüm olarak, üreticinin yukarıda paylaştığım linki içindeki çözümü uygulayabiliriz. Bunun için httpd servisi içindeki include none parametresini

include '
<LocationMatch ";">
 Redirect 404 /
</LocationMatch>
<LocationMatch "hsqldb">
 Redirect 404 / 
</LocationMatch>
'

şeklinde değiştirip, konfigurasyonu kaydettikten sonra httpd servisini restart etmeliyiz. (Bu httpd restart işlemi sadece managment arayüzünün çalışmasını sağladığı için F5 üzerinde çalışan uygulamalarımızda herhangi bir kesinti meydana gelmeyecektir.). Hemen bu işlemi adım adım uygulayalım.

Öncelikle F5 sistemimize ssh ile bağlanıyoruz ve tmsh ile tmos’a geçiyoruz.

anaytemiz@mypc:~$ ssh root@10.250.2.235
Password: 
Last login: Tue Jul  7 05:19:51 2020 from 172.25.29.72
[root@lab:Active:Standalone] config # tmsh
root@(lab)(cfg-sync Standalone)(Active)(/Common)(tmos)#

Daha sonra edit /sys httpd all-properties komutu ile httpd servisinin konfig dosyasına giyirouz.

root@(lab)(cfg-sync Standalone)(Active)(/Common)(tmos)# edit /sys httpd all-properties

Bu konfig dosyasında yer alan include none ifadesini ;

include ' 
<LocationMatch ";">
 Redirect 404 / 
</LocationMatch>
<LocationMatch "hsqldb">
 Redirect 404 / 
</LocationMatch>
 '

ile değiştiriyoruz ve wq! ile yaptığımız değişklikleri kaydediyoruz.

Yaptığımız konfigurasyonu save /sys config ile kaydediyoruz ve ardından restart sys service httpd komutu ile httpd servisini yeniden başlatıyoruz.

root@(lab)(cfg-sync Standalone)(Active)(/Common)(tmos)# edit /sys httpd all-properties
Save changes? (y/n/e) y
root@(lab)(cfg-sync Standalone)(Active)(/Common)(tmos)# restart sys service httpd
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
root@(lab)(cfg-sync Standalone)(Active)(/Common)(tmos)# 

Bu işlemlerden sonra artık saldırgan sistem üzerine atak yaptığında aşağıdaki ekran görüntüsü ile karşılaşacak ve ilk etapta sistem üzerindeki zaafiyeti mitigate etmiş olacağız.

 

Ek olarak F5 sistemlerimiz üzerinde ACL sıkılışatırması yapabiliriz ve self ip ve floating ip adreslerinin Port Lockdown konfig’lerini Allow None’a çekelbiliriz. Tabi en doğru çözüm günün sonunda üreticinin önerdiği versiyona geçiş çalışması olacaktır.

 

 

 

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*