O'z pochta serverlarida Exim 4.87...4.91 versiyalaridan foydalanadigan hamkasblar - CVE-4.92-2019 orqali xakerlikdan qochish uchun Eximning o'zini oldindan to'xtatib, zudlik bilan 10149 versiyasiga yangilang.
Dunyo bo'ylab bir necha million serverlar potentsial zaif, zaiflik muhim deb baholanadi (CVSS 3.0 bazaviy ball = 9.8/10). Buzg'unchilar serveringizda o'zboshimchalik bilan buyruqlarni ishga tushirishi mumkin, ko'p hollarda rootdan.
Ruxsat etilgan versiya (4.92) yoki allaqachon yamalgan versiyadan foydalanayotganingizga ishonch hosil qiling.
Yoki mavjudni yamab qo'ying, ipga qarang
uchun yangilash sentos 6: sm.
UPD: Ubuntu ta'sir qiladi 18.04 va 18.10, ular uchun yangilanish chiqarildi. 16.04 va 19.04 versiyalari, agar ularga maxsus parametrlar o'rnatilmagan bo'lsa, ta'sir qilmaydi. Batafsil ma'lumot
Endi u erda tasvirlangan muammodan faol foydalanilmoqda (taxminan bot tomonidan), men ba'zi serverlarda infektsiyani payqadim (4.91 da ishlaydi).
Keyingi o'qish faqat "qo'lga kiritgan"lar uchun tegishli - siz hamma narsani yangi dasturiy ta'minot bilan toza VPS-ga o'tkazishingiz yoki yechim izlashingiz kerak. Sinab ko'ramizmi? Agar kimdir bu zararli dasturni engishga qodir bo'lsa, yozing.
Agar siz Exim foydalanuvchisi bo'lsangiz va buni o'qiyotgan bo'lsangiz, hali ham yangilanmagan bo'lsangiz (4.92 yoki yamoqlangan versiya mavjudligiga ishonch hosil qilmagan bo'lsangiz), iltimos, to'xtating va yangilash uchun ishga tushiring.
U erga etib borganlar uchun keling, davom etaylik ...
UPS:
Turli xil zararli dasturlar bo'lishi mumkin. Dori-darmonlarni noto'g'ri narsa uchun ishga tushirish va navbatni tozalash orqali foydalanuvchi tuzalmaydi va nima uchun davolanish kerakligini bilmasligi mumkin.
INFEKTSION quyidagicha seziladi: [ktrotlds] protsessorni yuklaydi; zaif VDSda u 100%, serverlarda u zaifroq, lekin sezilarli.
INFEKTSION so'ng, zararli dastur cron yozuvlarini o'chirib tashlaydi, har 4 daqiqada ishlash uchun u erda faqat o'zini ro'yxatdan o'tkazadi va crontab faylini o'zgarmas qiladi. Crontab -e o'zgarishlarni saqlay olmaydi, xato beradi.
O'zgarmasni o'chirish mumkin, masalan, bu kabi va keyin buyruq qatorini o'chiring (1.5 kb):
chattr -i /var/spool/cron/root
crontab -e
Keyin, crontab muharririda (vim) qatorni o'chiring va saqlang:dd
:wq
Biroq, ba'zi faol jarayonlar qayta yozilmoqda, men buni aniqlayapman.
Shu bilan birga, o'rnatish skriptidagi manzillarda osilgan bir nechta faol wgetlar (yoki jingalaklar) mavjud (pastga qarang), men ularni hozircha shunday yiqitaman, lekin ular yana boshlanadi:
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}'`
Men bu yerda troyan o‘rnatish skriptini topdim (centos): /usr/local/bin/nptd... Men buni oldini olish uchun joylashtirmayapman, lekin agar kimdir yuqtirgan bo‘lsa va qobiq skriptlarini tushunsa, uni diqqat bilan o‘rganib chiqing.
Ma'lumotlar yangilanganda men qo'shaman.
UPD 1: Fayllarni o'chirish (dastlabki chattr -i bilan) /etc/cron.d/root, /etc/crontab, rm -Rf /var/spool/cron/root yordam bermadi va xizmatni to'xtatib qo'yishga majbur bo'lmadim. crontab hozircha uni butunlay yirtib tashlang (bin fayli nomini o'zgartiring).
UPD 2: Troyan o'rnatuvchisi ba'zan boshqa joylarda ham yotar edi, o'lcham bo'yicha qidirish yordam berdi:
toping / -siz 19825c
UPD 3/XNUMX/XNUMX: E'tibor bering! Selinux-ni o'chirishdan tashqari, troyan ham o'zini qo'shadi SSH kaliti ${sshdir}/authorized_keys ichida! Va /etc/ssh/sshd_config da quyidagi maydonlarni faollashtiradi, agar ular hali YES ga o'rnatilmagan bo'lsa:
PermitRootLogin ha
RSAAutentifikatsiya ha
PubkeyAuthentication ha
echo UsePAM ha
PasswordAuthentication ha
UPD 4: Hozircha xulosa qilish uchun: Exim, cron (ildiz bilan) o'chiring, ssh-dan troyan kalitini zudlik bilan olib tashlang va sshd konfiguratsiyasini tahrirlang, sshd-ni qayta ishga tushiring! Va bu yordam berishi hali aniq emas, lekin u holda muammo bor.
O'quvchilar undan boshlashlari uchun men muhim ma'lumotlarni yamoqlar/yangilanishlar haqidagi izohlardan eslatmaning boshiga o'tkazdim.
UPD 5/XNUMX/XNUMX:
UPD 6/XNUMX/XNUMX:
Kim barqaror yechim topsa (yoki topsa), yozing, ko'pchilikka yordam berasiz.
UPD 7/XNUMX/XNUMX:
Agar siz Exim-da yuborilmagan xat tufayli virus qayta tirildi, deb aytmagan bo'lsangiz, xatni qayta jo'natmoqchi bo'lganingizda, u tiklanadi, /var/spool/exim4-ga qarang.
Siz butun Exim navbatini quyidagicha tozalashingiz mumkin:
exipick -i | xargs exim - Mrm
Navbatdagi yozuvlar sonini tekshirish:
exim -bpc
UPD 8: Yana
UPD 9: Bu shunday ko'rinadi ishlaydi, rahmat
Asosiysi, server allaqachon buzilganligini va tajovuzkorlar yana bir nechta atipik jirkanch narsalarni ekishga muvaffaq bo'lishlari mumkinligini unutmaslik kerak (tomchida ko'rsatilmagan).
Shuning uchun, to'liq o'rnatilgan serverga (vds) o'tish yoki hech bo'lmaganda mavzuni kuzatishni davom ettirish yaxshiroqdir - agar yangi narsa bo'lsa, bu erda sharhlarda yozing, chunki Shubhasiz, hamma ham yangi o'rnatishga o'tmaydi ...
UPD 10: Yana rahmat
UPD 11: Kimdan
(ushbu zararli dasturga qarshi kurashning u yoki bu usulidan foydalangandan keyin)
Siz, albatta, qayta ishga tushirishingiz kerak - zararli dastur ochiq jarayonlarda va shunga mos ravishda xotirada o'tiradi va har 30 soniyada cron qilish uchun o'zini yangisini yozadi.
UPD 12/XNUMX/XNUMX:
UPD 13/XNUMX/XNUMX:
UPD 14: aqlli odamlar ildizdan qochmasligiga o'zimizni ishontirish - yana bir narsa
Agar u ildizdan ishlamasa ham, xakerlik sodir bo'ladi ... Menda debian jessie UPD bor: mening OrangePi-da stretch, Exim Debian-exim-dan ishlayapti va hali ham xakerlik sodir bo'ldi, yo'qolgan tojlar va hokazo.
UPD 15: buzilgan serverdan toza serverga o'tishda gigiena haqida unutmang,
Ma'lumotlarni uzatishda nafaqat bajariladigan yoki konfiguratsiya fayllariga, balki zararli buyruqlar bo'lishi mumkin bo'lgan har qanday narsaga ham e'tibor bering (masalan, MySQL-da bu CREATE TRIGGER yoki CREATE EVENT bo'lishi mumkin). Bundan tashqari, .html, .js, .php, .py va boshqa umumiy fayllar haqida unutmang (ideal holda, bu fayllar, boshqa ma'lumotlar kabi, mahalliy yoki boshqa ishonchli xotiradan tiklanishi kerak).
UPD 16/XNUMX/XNUMX:
Shunday qilib, hamma yangilashdan keyin ishonch hosil qilishingiz kerak yangi versiyadan foydalanayotganingizni!
exim --version
Biz ularning o'ziga xos holatini birgalikda hal qildik.
Server DirectAdmin va uning eski da_exim paketidan foydalangan (eski versiya, zaifliksiz).
Shu bilan birga, DirectAdmin-ning custombuild paket menejeri yordamida, aslida, Exim-ning yangi versiyasi o'rnatildi, u allaqachon zaif edi.
Bunday vaziyatda custombuild orqali yangilash ham yordam berdi.
Bunday tajribalardan oldin zaxira nusxalarini yaratishni unutmang, shuningdek, yangilanishdan oldin/keyin barcha Exim jarayonlari eski versiyada ekanligiga ishonch hosil qiling.
Manba: www.habr.com