Posta sunucularında Exim'in 4.87...4.91 sürümlerini kullanan iş arkadaşları - CVE-4.92-2019 aracılığıyla hacklenmeyi önlemek için daha önce Exim'i durdurmuş oldukları için acilen sürüm 10149'ye güncelleyin.
Dünya çapında birkaç milyon sunucu potansiyel olarak savunmasızdır ve güvenlik açığı kritik olarak derecelendirilmiştir (CVSS 3.0 temel puanı = 9.8/10). Saldırganlar, çoğu durumda sunucunuzda kökten isteğe bağlı komutlar çalıştırabilir.
Lütfen sabit bir sürümü (4.92) veya önceden yamalanmış bir sürümü kullandığınızdan emin olun.
Veya mevcut olanı yamalayın, konuya bakın
Şunun için güncelleme: CentOS 6: santimetre.
GÜNCELLEME: Ubuntu etkilendi 18.04 ve 18.10, onlar için bir güncelleme yayınlandı. 16.04 ve 19.04 sürümleri, üzerlerine özel seçenekler yüklenmediği sürece etkilenmez. Daha fazla detay
Şimdi orada açıklanan sorun aktif olarak istismar ediliyor (muhtemelen bir bot tarafından), bazı sunucularda (4.91'de çalışıyor) bir enfeksiyon olduğunu fark ettim.
Daha fazla okuma yalnızca zaten "anlamış" olanlar için geçerlidir - ya her şeyi yeni yazılımla temiz bir VPS'ye taşımanız ya da bir çözüm aramanız gerekir. Deneyelim mi? Bu kötü amaçlı yazılımın üstesinden gelebilecek biri varsa yazın.
Eğer Exim kullanıcısıysanız ve bunu okuyorsanız ve hala güncelleme yapmadıysanız (4.92 veya yamalı versiyonun mevcut olduğundan emin değilseniz), lütfen durup güncellemeyi çalıştırın.
Daha önce gitmiş olanlar için devam edelim...
UPD:
Çok çeşitli kötü amaçlı yazılımlar olabilir. Yanlış bir şey için ilacı başlatıp sırayı temizleyerek kullanıcı iyileşmeyecek ve ne için tedavi edilmesi gerektiğini bilemeyebilir.
Enfeksiyon şu şekilde fark edilir: [kthrotlds] işlemciyi yükler; zayıf bir VDS'de %100'dür, sunucularda ise daha zayıftır ancak fark edilir.
Bulaşmanın ardından, kötü amaçlı yazılım cron girişlerini siler ve crontab dosyasını değişmez hale getirirken, her 4 dakikada bir çalışacak şekilde yalnızca kendisini buraya kaydeder. Crontab -e Değişiklikler kaydedilemiyor, hata veriyor.
Değiştirilemez örneğin bu şekilde kaldırılabilir ve ardından komut satırını silebilirsiniz (1.5kb):
chattr -i /var/spool/cron/root
crontab -e
Daha sonra crontab düzenleyicide (vim) satırı silin ve kaydedin:dd
:wq
Ancak aktif süreçlerin bir kısmı yeniden yazıyor, çözüyorum.
Aynı zamanda, yükleyici komut dosyasındaki adreslerde asılı olan bir sürü aktif wget (veya kıvrılma) var (aşağıya bakın), şimdilik onları bu şekilde devre dışı bırakıyorum, ancak yeniden başlıyorlar:
ps aux | grep wge[t]
ps aux | grep cur[l]
echo "Stopping..."
kill -9 `ps aux | grep wge[t] | awk '{print $2}'`
kill -9 `ps aux | grep cur[l] | awk '{print $2}'`
Truva atı yükleyici komut dosyasını burada buldum (centos): /usr/local/bin/nptd... Bunu önlemek için göndermiyorum, ancak virüs bulaşmış ve kabuk komut dosyalarını anlayan biri varsa, lütfen daha dikkatli inceleyin.
Bilgiler güncellendikçe ekleyeceğim.
GÜNCELLEME 1: Dosyaları silmek (ön chattr -i ile) /etc/cron.d/root, /etc/crontab, rm -Rf /var/spool/cron/root işe yaramadı ya da hizmeti durdurmadı - durdurmak zorunda kaldım crontab'ı şimdilik tamamen yırtın (bin dosyasını yeniden adlandırın).
GÜNCELLEME 2: Truva atı yükleyicisi bazen başka yerlerde de bulunuyordu ve boyuta göre arama yapılması yardımcı oldu:
bul / -boyut 19825c
UPD 3: Uyarı! Truva atı, selinux'u devre dışı bırakmanın yanı sıra kendi selinux'unu da ekler. SSH anahtarı ${sshdir}/authorized_keys içinde! Ve eğer halihazırda EVET olarak ayarlanmamışlarsa, /etc/ssh/sshd_config dosyasında aşağıdaki alanları etkinleştirir:
PermitRootLogin evet
RSAAkimlik doğrulama evet
PubkeyAuthentication evet
echo UsePAM evet
Şifre Doğrulama evet
GÜNCELLEME 4: Şimdilik özetlemek gerekirse: Exim'i devre dışı bırakın, cron'u (köklerle birlikte), acilen Truva atı anahtarını ssh'den kaldırın ve sshd yapılandırmasını düzenleyin, sshd'yi yeniden başlatın! Bunun yardımcı olup olmayacağı henüz belli değil ama onsuz bir sorun var.
Yamalar/güncellemeler hakkındaki yorumlardan önemli bilgileri notun başına taşıdım, böylece okuyucular bununla başlasın.
UPD 5:
UPD 6:
İstikrarlı bir çözüm üreten (veya bulan) herkes lütfen yazsın, birçok kişiye yardımcı olacaksınız.
UPD 7:
Exim'de gönderilmeyen bir mektup sayesinde virüsün yeniden dirildiğini henüz söylemediyseniz, mektubu tekrar göndermeye çalıştığınızda geri yükleniyor, /var/spool/exim4 dosyasına bakın
Exim kuyruğunun tamamını şu şekilde temizleyebilirsiniz:
exipick -i | xargs exim -Mrm
Kuyruktaki giriş sayısını kontrol etme:
exim -bpc
GÜNCELLEME 8: Tekrar
GÜNCELLEME 9: Öyle görünüyor işlerteşekkür ederim
Önemli olan, sunucunun zaten tehlikeye atıldığını ve saldırganların daha alışılmadık kötü şeyler (damlalıkta listelenmeyen) yerleştirmeyi başarmış olabileceklerini unutmamaktır.
Bu nedenle, tamamen kurulu bir sunucuya (vds) geçmek veya en azından konuyu izlemeye devam etmek daha iyidir - yeni bir şey varsa, yorumları buraya yazın çünkü Açıkçası herkes yeni bir kuruluma geçmeyecek...
GÜNCELLEME 10: Tekrar teşekkürler
GÜNCELLEME 11: Başlangıç
(bu kötü amaçlı yazılımla mücadelede şu veya bu yöntemi kullandıktan sonra)
Kesinlikle yeniden başlatmanız gerekiyor - kötü amaçlı yazılım açık işlemlerde ve buna göre bellekte bir yere oturur ve her 30 saniyede bir cron'a yeni bir tane yazar.
UPD 12:
UPD 13:
GÜNCELLEME 14: Akıllı insanların kökten çalışmadığına dair kendimize güven vermek - bir şey daha
Kökten çalışmasa bile hackleme meydana geliyor... Debian jessie UPD'm var: OrangePi'mde streç var, Exim Debian-exim'den çalışıyor ve hala hackleme oluyor, kronlar kaybedildi, vb.
GÜNCELLEME 15: Güvenliği ihlal edilmiş bir sunucudan temiz bir sunucuya geçerken hijyeni unutmayın,
Verileri aktarırken, yalnızca yürütülebilir dosyalara veya yapılandırma dosyalarına değil, aynı zamanda kötü amaçlı komutlar içerebilecek her şeye de dikkat edin (örneğin, MySQL'de bu, CREATE TRIGGER veya CREATE EVENT olabilir). Ayrıca .html, .js, .php, .py ve diğer genel dosyaları da unutmayın (ideal olarak bu dosyalar da diğer veriler gibi yerel veya diğer güvenilir depolama alanlarından geri yüklenmelidir).
UPD 16:
Yani herkes güncellemeden sonra emin olmalısınız yeni sürümü kullandığınızı!
exim --version
Özel durumlarını birlikte çözdük.
Sunucu, DirectAdmin'i ve eski da_exim paketini (güvenlik açığı olmayan eski sürüm) kullanıyordu.
Aynı zamanda DirectAdmin'in özel yapım paket yöneticisinin yardımıyla Exim'in zaten savunmasız olan daha yeni bir sürümü kuruldu.
Bu özel durumda, özel yapı aracılığıyla güncelleme de yardımcı oldu.
Bu denemelerden önce yedekleme yapmayı unutmayınız ve ayrıca güncelleme öncesi/sonrası tüm Exim işlemlerinin eski sürümde olduğundan emin olunuz.
Kaynak: habr.com