S-400'leri Yapan Rostec Firmasında Bulduğum Bazı Güvenlik Açıkları

25 June 2019

Bundan yaklaşık 2 hafta önce basından takip ettiğim Rostec firmasının internete açık sunucularını gözden geçirmeye karar verdim. Sunucularının neredeyse tamamını “flops.ru” isimli firmadan kiralayan Rostec’e ait bazı IP adresleri aşağıdaki gibi:

85.22.62.107
185.22.62.107
78.155.219.40
185.22.61.90
194.154.92.252
185.22.62.107
81.211.67.219
194.154.92.252
78.155.219.40
185.22.61.90
188.128.56.28
188.128.56.29

Genel olarak dikkatimi çeken nokta saldırı yüzeyinin (attack surface) çok geniş olması. Hiçbir sunucuda firewall ile IP whitelisting yapılmamış. SSH, SMTP gibi portlar dışarıya açık, VPN yönetim paneli ve farklı giriş arayüzleri de dışarıdan kolayca erişilebilir durumda. Örneğin: “https://scloud.rostec.ru/login”, “https://rostec.ru/bitrix/admin/#authorize”, “http://194.154.92.252:18264/”. Tabi ki bunlar tek başına bir güvenlik açığı oluşturmasa da ekibin güvenlik konusunda best practise’leri takip etmediğinin önemli bir göstergesi. Özellikle Rostec gibi bir firmanın tehdit aktörleri (threat actor) ellerinde zero-day exploitler barındırabilen gruplar olduğundan risk daha da büyüyor.

Şimdi gelelim tespit ettiğim önemli sayılabilecek güvenlik açıklarına.

SMTP Üzerinden Dışarıya E-mail Gönderme

Rostec’in üç farklı sunucusunda SMTP servisi dışarıya açıktı. Yanlış şekilde ayarlanmış bu servis üzerinden herhangi bir adrese Rostec üzerinden e-mail gönderilmesi mümkün oluyordu. Riski anlatmak için şöyle bir örnek verebilirim: [email protected] adresinden [email protected] adresine, içerisinde zararlı bir yazılım bulunan e-mail göndermek mümkün. E-mail adresinin verdiği güven ile çok sayıda yüksek profil hedefin bilgisayarını ele geçirmek mümkün olabilir.

SMTP servislerinin benim testi gerçekleştirdiğim zamanlar dışarıya açık olduğunu Shodan üzerinden görebiliriz. (Şu an kapalı, sürece yazının en sonunda yer vereceğim)

  • https://www.shodan.io/host/188.128.56.28
  • https://www.shodan.io/host/188.128.56.29
  • https://www.shodan.io/host/185.22.61.90

Sunucu Üzerinde Username Enumeration

Yanlış şekilde ayarlanmış postfix servisi, sunucu üzerinde var olan kullanıcıları bulmamızı sağlıyor. Sunucunun hostname’i olan “vm85202.local” adresini kullanarak [email protected] adresine e-mail göndermeye çalıştığımızda, sunucuda böyle bir kullanıcı var olmadığı için “Recipient Address Rejected” hatası alıyoruz.

Enumeration

Ancak doğru bir kullanıcı adını bulduğumuzda e-mail hatasız gönderiliyor. Sunucunun SSH portu da açık olduğu için brute force saldırısı için doğru kullanıcıyı tespit etmiş oluyoruz.

Enumeration

Denial of Service (Servis Dışı Bırakma)

Yukarıdaki yöntemi kullanarak çok sayıda e-mail gönderdiğimizde sunucunun donanım kapasitesini doldurup sunucuyu yavaşlatmak hatta devre dışı bırakmak mümkün olabilir.

Süreç

  • 6 Haziran’da Rostec’in e-mail adresiyle iletişime geçip güvenlik açıklarını kime gönderebileceğimi sordum. Cevap alamadım.
  • Birkaç gün sonra tekrar gönderdim, cevap alamadım.
  • Konuyla ilgili Rostec’e tweet attım, cevap alamadım.
  • Rusya’nın CERT ekibine e-mail attım, cevap alamadım.
  • 13 Haziran’da fark ettim ki Rostec ekibi SMTP portunu kapatarak sorunu çözmüş. Muhtemelen geride bıraktığım logları takip ederek sorunu tespit ettiler.

Rostec’in yaptığı bu davranış, ne yazık ki zafiyet araştırmacılığı etiğine uymayan bir hareket. Umarım ileride bu işin raconuna uyan ve iyi çalışan bir güvenlik ekibine sahip olurlar.