Linux sunucularında kullanılan cPGuard yazılımının güncelleme kanalı ele geçirilince, bazı sürümler üzerinden yüklenen kötü amaçlı betik sistemlere arka kapı ekledi ve parola karmalarıyla birlikte hassas dosyaları topladı. Yazılımı geliştiren OPSSHIELD, saldırının cPGuard 5.88.12 ile 5.88.19 arasındaki sürümler aracılığıyla dağıtıldığını, 5.88.25 ve sonraki sürümlerin ise arka kapıyı ve geride bırakılan dosyaları temizlediğini duyurdu.
Şirketin açıklamasına göre saldırgan, kimliği belirlenemeyen bir kişi, 02.06 UTC’de ele geçirilmiş kimlik bilgileriyle cPGuard’ın güncelleme sistemine erişti. Saldırı, ilgili sürümler dağıtıma çıktıktan sonraki 12 saat içinde fark edildi. OPSSHIELD, kendi altyapısındaki kimlik bilgilerini sıfırladığını ve betiğin başka sunuculara ulaşmasını engellediğini belirtti; saldırganın bu kimlik bilgilerine nasıl ulaştığı ise hâlâ inceleniyor. Şirket ayrıca kaç sunucunun bu sürümlerden birini kurduğunu açıklamadı. cPGuard sunucuları güncellemeleri aralıklı kontrol ettiği için bazı sistemler betiği hiç çalıştırmamış olabilir.
Toplanan dosyalar neleri içeriyor
İnceleme, kötü amaçlı betiğin çalıştığı sunuculardan /etc/shadow, /etc/passwd, kök hesabın MariaDB ya da MySQL yapılandırma dosyası olan my.cnf, kök kullanıcının shell geçmişi ve SSH yetkilendirme ile known_hosts dosyalarını topladığını ortaya koydu. Şirket, her sunucuda aynı dosyaların alınmış olmayabileceğini, hangi sistemlerden tam olarak ne çıktığını netleştirmeye çalıştığını bildirdi. OPSSHIELD’in aktardığına göre betik, bu verileri toplarken root hesabının SSH yetkilendirme ve known-hosts dosyalarını da aldı.
/etc/shadow dosyası tek yönlü parola karmalarını saklıyor. Bu nedenle zayıf, yaygın kullanılan ya da daha önce sızmış şifreler, çevrimdışı deneme yöntemiyle çözülebiliyor. Güçlü parolalar için de sıfırlama gerekiyor. Veritabanı yapılandırmasında veya shell geçmişinde yer alan sırlar ise böyle bir karmalama koruması taşımıyor. Şirket, betiğin topladığı veriler arasında bu alanların da yer aldığını özellikle vurguladı.
OPSSHIELD’in bulgularına göre betik, topladığı verileri şirketin kendi lisans sunucusuna yüklüyordu. Yükleme işlemi için yine ele geçirilmiş bir hesap kullanıldı; böylece saldırgan daha sonra bu dosyaları alabildi. Şirket, bu hesabı da güvene aldığını açıkladı. 2 Kasım UTC gecesi itibarıyla, o sunucudan 32 dosyanın alındığı tahmin ediliyor. Bu sayı, yalnızca kesin olarak tespit edilen dosyaları kapsıyor ve değişebilir. Kaç sunucunun toplamda etkilendiğini ise göstermiyor. OPSSHIELD, bu sayının son olmayabileceğini de belirtti.
Şirket, arka kapı ve veri toplama dışında şu ana kadar başka bir kötü niyetli faaliyet bulmadığını, ancak bu tespitin nihai olmadığını da ekledi. Ayrıca, betiğin her sunucuda aynı biçimde davranmamış olabileceğini ve hangi dosyaların hangi sistemlerden çıktığının hâlâ netleştirildiğini bildirdi.
Yöneticilerin kontrol etmesi gerekenler
Şirket, tüm cPGuard sunucularının hemen güncellenmesini ve sürümün doğrulanmasını istiyor. Bunun için her sunucuda cpgcli update --start komutunun çalıştırılması, ardından cpgcli --version ile sürümün 5.88.25 ya da daha yeni olduğunun kontrol edilmesi gerekiyor. Güncelleme başarısız olursa ya da sürüm daha düşük çıkarsa, OPSSHIELD Destek ile iletişime geçilmesi isteniyor.
Betiğin çalışmış olabileceği ya da çalıştığından şüphelenilen sunucularda ek adımlar da gerekiyor. Güvenilir bir kurtarma ortamından kök hesabın ve parola kullanan diğer tüm yerel Linux hesaplarının şifreleri sıfırlanmalı. Aynı parolalar başka sistemlerde de kullanılıyorsa, güvenilir bir cihazdan bu parolalar da değiştirilmelidir. Sunucudaki veritabanı parolaları, S3 erişim anahtarları, DigitalOcean token’ları ve kök hesabın shell geçmişine yazılmış tüm sırlar da yenilenmeli. OPSSHIELD, /etc/shadow içindeki karmalardan zayıf veya daha önce sızmış şifrelerin çevrimdışı testlerle çıkarılabildiğini de hatırlattı.
OPSSHIELD, /root/.ssh altında tutulan SSH özel anahtarlarının değiştirilmesini ve bu anahtarlarla eşleşen eski açık anahtarların, onlara güvenen tüm sistemlerden kaldırılmasını öneriyor. Şirket, rutin bir önlem olarak tam sıfırlama ya da işletim sistemi yeniden kurulumu tavsiye etmediğini, ancak soruşturma ilerledikçe bu yaklaşımın değişebileceğini belirtti. Başka bir bulaşma belirtisi bulan ya da bir sunucunun temiz olduğundan emin olamayan yöneticilerin, vaka bazında inceleme için destek ekibine başvurması isteniyor; bu süreç yeniden kurulumla sonuçlanabilir.
OPSSHIELD ayrıca, tedbir amacıyla bir güncelleme daha yayımlıyor. Bu güncelleme, daha önce eklenmiş olan destek erişimi anahtarlarını cPGuard sunucularından kaldırıyor. Destek erişimi, müşterilerin sorun giderme sırasında OPSSHIELD personeline sunucuya giriş izni vermek için kullandığı bir özellik. Şirketin dokümantasyonuna göre bu izin verildiğinde, OPSSHIELD’e ait bir SSH açık anahtarı root kullanıcısının authorized_keys dosyasına ekleniyor. OPSSHIELD, saldırıda bu destek erişim anahtarına karşılık gelen özel anahtarın açığa çıkıp çıkmadığını ise henüz açıklamadı. Şirketin açıklamasında, destek erişimi özelliğinin güvenlik ve sorun giderme amaçlı kullanıldığı da yer aldı.
Şirket, etkilenen sürümleri kontrol etmek için yöneticilerin güncelleme günlüklerinde grep 'Successfully updated' /opt/cpguard/logs/install_log satırını arayabileceğini belirtti. 5.88.12 ile 5.88.19 arasındaki herhangi bir sürüme ait kayıt, sunucunun etkilenen güncellemelerden birini kurduğunu gösteriyor. Ancak bu kayıt tek başına betiğin gerçekten çalıştığını ya da verinin sunucudan çıktığını kanıtlamıyor. Günlükte eşleşme olmaması ya da kaydın eksik ya da bozuk olması da sunucunun betiği çalıştırmamış olduğu anlamına gelmiyor. Böyle bir durumda yöneticilerin yine de sistemin ele geçirilmiş olabileceğini varsayması gerekiyor; emin olunamıyorsa destek ekibiyle görüşülmesi isteniyor. OPSSHIELD, log kaydının olmamasının temizliği kanıtlamadığını özellikle vurguladı.
Şirketin paylaştığı dosya adları arasında kötü amaçlı betik cpguard-v58812-i91511.sh, arka kapı kabuğu /var/tmp/.cpg91511_sh, betiğin dosyaları topladığı dizin /var/tmp/.cpg91511 ve arşiv /var/tmp/.cpg91511/loot.tgz yer alıyor. Güncelleme arka kapı kabuğunu ve toplama dizinini silse de, bunların güncelleme sonrası görünmemesi betiğin çalışmadığını kanıtlamıyor. OPSSHIELD, kaldırılan bu dosyaların yokluğunun yalnızca temiz kurulum işareti sayılmaması gerektiğini belirtti.
Şirketin açıklamasına göre cPGuard güncellemeleri aralıklarla kontrol ediliyor, bu nedenle bir sunucu etkilenen sürümlerden birini yüklemiş olsa bile betik her zaman çalışmamış olabilir. Buna karşın OPSSHIELD, 5.88.12 ile 5.88.19 arasındaki herhangi bir kaydın bulunan sunucuların yine de potansiyel olarak ele geçirilmiş kabul edilmesi gerektiğini söyledi.
