Mga kasamahan na gumagamit ng mga bersyon ng Exim 4.87...4.91 sa kanilang mga mail server - agarang mag-update sa bersyon 4.92, na dati nang huminto sa Exim mismo upang maiwasan ang pag-hack sa pamamagitan ng CVE-2019-10149.
Ilang milyong server sa buong mundo ang posibleng masugatan, ang kahinaan ay na-rate bilang kritikal (CVSS 3.0 base score = 9.8/10). Maaaring magpatakbo ng mga arbitrary command ang mga attacker sa iyong server, sa maraming kaso mula sa root.
Pakitiyak na gumagamit ka ng nakapirming bersyon (4.92) o isa na na-patched na.
O i-patch ang umiiral na, tingnan ang thread
Update para sa centos 6: cm.
UPD: Apektado ang Ubuntu 18.04 at 18.10, may inilabas na update para sa kanila. Hindi apektado ang mga bersyon 16.04 at 19.04 maliban kung naka-install sa kanila ang mga custom na opsyon. Higit pang mga detalye
Ngayon ang problemang inilarawan doon ay aktibong pinagsamantalahan (sa pamamagitan ng isang bot, siguro), napansin ko ang isang impeksiyon sa ilang mga server (tumatakbo sa 4.91).
Ang karagdagang pagbabasa ay may kaugnayan lamang para sa mga "nakuha na" - kailangan mong ilipat ang lahat sa isang malinis na VPS na may sariwang software, o maghanap ng solusyon. Subukan natin? Isulat kung sinuman ang makakalampas sa malware na ito.
Kung ikaw, bilang isang user ng Exim at nagbabasa nito, ay hindi pa rin nag-a-update (hindi pa nakakatiyak na magagamit ang 4.92 o isang patched na bersyon), mangyaring huminto at tumakbo upang mag-update.
Para sa mga nakarating na, ituloy natin...
UPS:
Maaaring mayroong maraming uri ng malware. Sa pamamagitan ng paglulunsad ng gamot para sa maling bagay at paglilinis ng pila, ang gumagamit ay hindi gagaling at maaaring hindi alam kung ano ang kailangan niyang gamutin.
Ang impeksyon ay kapansin-pansin tulad nito: [kthrotlds] naglo-load sa processor; sa isang mahinang VDS ito ay 100%, sa mga server ito ay mas mahina ngunit kapansin-pansin.
Pagkatapos ng impeksyon, tinatanggal ng malware ang mga entry ng cron, na inirerehistro lamang ang sarili doon upang tumakbo bawat 4 na minuto, habang ginagawang hindi nababago ang crontab file. Crontab -e hindi makapag-save ng mga pagbabago, nagbibigay ng error.
Maaaring alisin ang hindi nababago, halimbawa, tulad nito, at pagkatapos ay tanggalin ang command line (1.5kb):
chattr -i /var/spool/cron/root
crontab -e
Susunod, sa crontab editor (vim), tanggalin ang linya at i-save:dd
:wq
Gayunpaman, ang ilan sa mga aktibong proseso ay na-overwrite muli, inisip ko ito.
Kasabay nito, mayroong isang bungkos ng mga aktibong wgets (o mga kulot) na nakasabit sa mga address mula sa script ng installer (tingnan sa ibaba), ibinabagsak ko sila nang ganito sa ngayon, ngunit nagsisimula silang muli:
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}'`
Natagpuan ko ang script ng pag-install ng Trojan dito (centos): /usr/local/bin/nptd... Hindi ko ito pino-post para maiwasan ito, ngunit kung sinuman ang nahawahan at nakakaintindi ng mga script ng shell, mangyaring pag-aralan itong mabuti.
Magdadagdag ako habang ina-update ang impormasyon.
UPD 1: Ang pagtanggal ng mga file (na may paunang chattr -i) /etc/cron.d/root, /etc/crontab, rm -Rf /var/spool/cron/root ay hindi nakatulong, ni huminto sa serbisyo - kailangan kong crontab sa ngayon ay tanggalin ito (palitan ang pangalan ng bin file).
UPD 2: Ang installer ng Trojan ay minsan din nakahiga sa iba pang mga lugar, nakatulong ang paghahanap ayon sa laki:
hanapin / -size 19825c
UPD 3/XNUMX/XNUMX: Warning! Bilang karagdagan sa hindi pagpapagana ng selinux, ang Trojan ay nagdaragdag din ng sarili nito SSH key sa ${sshdir}/authorized_keys! At i-activate ang mga sumusunod na field sa /etc/ssh/sshd_config, kung hindi pa sila naitakda sa YES:
PermitRootLogin oo
RSAAuthentication oo
PubkeyAuthentication oo
echo UsePAM oo
PasswordAuthentication oo
UPD 4: Upang buod sa ngayon: huwag paganahin ang Exim, cron (na may mga ugat), agarang alisin ang Trojan key mula sa ssh at i-edit ang sshd config, i-restart ang sshd! At hindi pa malinaw na makakatulong ito, ngunit kung wala ito ay may problema.
Inilipat ko ang mahalagang impormasyon mula sa mga komento tungkol sa mga patch/update sa simula ng tala, upang magsimula dito ang mga mambabasa.
UPD 5/XNUMX/XNUMX:
UPD 6/XNUMX/XNUMX:
Sinuman na gumagawa (o nakahanap) ng matatag na solusyon, mangyaring sumulat, marami kang matutulungan.
UPD 7/XNUMX/XNUMX:
Kung hindi mo pa nasasabi na ang virus ay muling nabuhay salamat sa isang hindi naipadalang sulat sa Exim, kapag sinubukan mong ipadala muli ang sulat, ito ay naibalik, tingnan sa /var/spool/exim4
Maaari mong i-clear ang buong queue ng Exim tulad nito:
exipick -i | xargs exim -Mrm
Sinusuri ang bilang ng mga entry sa queue:
exim -bpc
UPD 8: Muli
UPD 9: Parang pagawaan, salamat
Ang pangunahing bagay ay huwag kalimutan na ang server ay nakompromiso na at ang mga umaatake ay maaaring pinamamahalaang magtanim ng ilang higit pang mga hindi pangkaraniwang bagay (hindi nakalista sa dropper).
Samakatuwid, mas mahusay na lumipat sa isang ganap na naka-install na server (vds), o hindi bababa sa patuloy na subaybayan ang paksa - kung may bago, sumulat sa mga komento dito, dahil malinaw na hindi lahat ay lilipat sa isang bagong pag-install...
UPD 10: Salamat ulit
UPD 11: Mula sa
(pagkatapos gumamit ng isa o ibang paraan ng paglaban sa malware na ito)
Tiyak na kailangan mong i-reboot - ang malware ay nakaupo sa isang lugar sa mga bukas na proseso at, nang naaayon, sa memorya, at nagsusulat mismo ng bago upang i-cron bawat 30 segundo
UPD 12/XNUMX/XNUMX:
UPD 13/XNUMX/XNUMX:
UPD 14: tinitiyak ang ating sarili na ang matatalinong tao ay hindi tumatakbo mula sa ugat - isa pang bagay
Kahit na hindi ito gumana mula sa ugat, nangyayari ang pag-hack... Mayroon akong debian jessie UPD: mag-stretch sa aking OrangePi, tumatakbo ang Exim mula sa Debian-exim at nangyari pa rin ang pag-hack, nawala ang mga korona, atbp.
UPD 15: kapag lumipat sa isang malinis na server mula sa isang nakompromiso, huwag kalimutan ang tungkol sa kalinisan,
Kapag naglilipat ng data, bigyang pansin hindi lamang ang mga executable o configuration file, kundi pati na rin ang anumang bagay na maaaring naglalaman ng mga malisyosong command (halimbawa, sa MySQL ito ay maaaring CREATE TRIGGER o CREATE EVENT). Gayundin, huwag kalimutan ang tungkol sa .html, .js, .php, .py at iba pang mga pampublikong file (ang mga file na ito, tulad ng ibang data, ay dapat na maibalik mula sa lokal o iba pang pinagkakatiwalaang storage).
UPD 16/XNUMX/XNUMX:
Kaya lahat pagkatapos ng update dapat siguraduhin mo na ginagamit mo ang bagong bersyon!
exim --version
Inayos namin ang kanilang partikular na sitwasyon nang magkasama.
Ginamit ng server ang DirectAdmin at ang lumang da_exim package nito (lumang bersyon, nang walang kahinaan).
Kasabay nito, sa tulong ng custombuild package manager ng DirectAdmin, sa katunayan, isang mas bagong bersyon ng Exim ang na-install noon, na mahina na.
Sa partikular na sitwasyong ito, nakatulong din ang pag-update sa pamamagitan ng custombuild.
Huwag kalimutang gumawa ng mga backup bago ang mga naturang eksperimento, at siguraduhin din na bago/pagkatapos ng pag-update ang lahat ng mga proseso ng Exim ay nasa lumang bersyon
Pinagmulan: www.habr.com