Kompromitovan cPGuard kanal ažuriranja ugrozio Linux servere

Zlonamerna nadogradnja kroz bezbednosni alat
Napadač je 2. novembra, u 02:06 UTC, kompromitovao sistem za ažuriranje alata cPGuard kompanije OPSSHIELD i isporučio zlonamernu skriptu Linux serverima. Pogođene su verzije od 5.88.12 do 5.88.19, dok verzija 5.88.25 i novije uklanjaju bekdor i fajlove koje je skripta ostavila.
OPSSHIELD navodi da je incident otkriven u roku od 12 sati od objavljivanja spornih verzija. Napadač je pristup sistemu za ažuriranje dobio korišćenjem kompromitovanih akreditiva; kompanija je poništila akreditive infrastrukture i zaustavila dalju isporuku skripte, ali još istražuje način na koji su akreditivi dospeli u tuđe ruke.
Koji su podaci mogli biti izloženi
Skripta je prikupljala fajlove /etc/shadow i /etc/passwd, konfiguraciju root naloga za MariaDB ili MySQL, istoriju root komandne linije, kao i root SSH fajlove za autorizaciju i poznate hostove. Prikupljeni sadržaj slat je na licencni server kojim upravlja OPSSHIELD, preko kompromitovanog naloga sa kog je napadač kasnije mogao da ga preuzme.
Kompanija je krajem 2. novembra UTC procenila da je napadač preuzeo 32 fajla, pri čemu je svaki bio vezan za jedan korisnički server. To nije broj svih potencijalno pogođenih sistema niti konačan obim krađe. OPSSHIELD navodi da zasad nije pronašao drugu zlonamernu aktivnost osim prikupljanja podataka i bekdora, uz napomenu da istraga nije završena.
Fajl /etc/shadow sadrži jednosmerne heševe lozinki. Slabe, česte ili ranije procurele lozinke mogu se proveravati van mreže pogađanjem, a resetovanje je potrebno i za jake lozinke. Tajne iz konfiguracionih fajlova baze, istorije komandi ili SSH privatnih ključeva nemaju tu zaštitu i zahtevaju neposrednu rotaciju.
Provera servera i mere oporavka
Administratori mogu proveriti da li je instalirano sporno ažuriranje komandom grep 'Successfully updated' /opt/cpguard/logs/install_log. Zapis o verziji između 5.88.12 i 5.88.19 potvrđuje instalaciju ažuriranja, ali ne dokazuje da je skripta izvršena ili da su podaci napustili server. Ni odsustvo zapisa, nepotpun dnevnik ili već instalirana verzija 5.88.25 ne isključuju mogućnost kompromitacije.
OPSSHIELD preporučuje pokretanje komande cpgcli update --start, a zatim proveru komandom cpgcli --version da li server koristi najmanje verziju 5.88.25. Za svaki sistem na kome je skripta možda radila, potrebno je iz pouzdanog okruženja promeniti lozinke za root i lokalne Linux naloge, rotirati kredencijale baze, S3 ključeve, DigitalOcean tokene i druge tajne iz root istorije.
Neophodna je i zamena SSH privatnih ključeva iz direktorijuma /root/.ssh, uz uklanjanje odgovarajućih starih javnih ključeva sa svih sistema koji im veruju. OPSSHIELD zasad ne preporučuje rutinsku reinstalaciju operativnog sistema, ali slučajevi sa dodatnim indikatorima kompromitacije ili neizvesnim stanjem zahtevaju pojedinačnu procenu.
Ovaj slučaj potvrđuje da, u kontinuitetu sa Linux-rutkiti i napadi na infrastrukturu, napad na Linux infrastrukturu može početi kroz komponentu kojoj administratori opravdano veruju. Za poslovanje je zato presudno da uz hitno ažuriranje postoje evidencija promena, postupak rotacije tajni i plan oporavka koji ne pretpostavlja da uklanjanje bekdora automatski uklanja posledice incidenta.

