Rünnak Alpine Linuxi projekti GitLab-serverile

Alpine Linux'i jaotuse arendajad avalikustasid teavet katsetest häkkida koostööpõhise arenduse platvormi gitlab.alpinelinux.org, kus töötati pakihalduri APK, ehitusriistade, infrastruktuuri komponentide ja pakettide kogumise skriptide (aports) kallal. Rünnak toimus GitLabi platvormi haavatavuse ärakasutamise kaudu, mis oli põhjustatud tervete arvude ülevoolust Ruby regulaaravaldiste mootoris. Tõendeid ja jälgi edukast häkkimisest ei leitud, kuid kuna täielikult ei ole võimalik välistada haavatavuse edukat ärakasutamist, loeti GitLabi konteiner potentsiaalselt kompromiteerituks ning selle sisu ehitati täielikult nullist ümber, samal ajal kui kasutajatele algatati paroolide vahetamise protseduur.

Alpine Linux'i infrastruktuuri administreerijad ei tuvastanud kolmandate osapoolte faile, kahtlaseid käivitatud protsesse, ebatavalisi API kutsungiteid, seadete ja süsteemifailide muutusi ega ka koormuse tõusu, mis on iseloomulik suurandmete väljavõttele. Aports'i hoidla, pakettide ja väljalaskefailide terviklikkuse analüüsi käigus ning nende võrdlemisel väliste ehitusserverite ja arendajasüsteemidega ei leitud varjatud muudatusi.

Edukalt rünnaku toimumist ei luba täielikult välistada teave väljuvate võrguühenduste puudumise, mõnede logide eemaldamise korral rotatsiooni käigus (näiteks cron logi) ja web-serveri logide ebapiisava detailituse tõttu (edukalt rakendatud eksploite, mis ei põhjusta hädaseisundi lõpetamist, ei kajastu logis).
Edukalt rünnaku korral oleks kurjategijatel võinud olla ligipääs GitLabi andmebaasile, mis sisaldas kõigi kasutajate andmeid (paroolide räsi, e-posti, IP-aadressid jne), keskkonnamuutujatele ja pideva integratsiooni süsteemide tokenitele, kahefaktorilise autentimise koode, isiklike ligipääsutokenite räsi, privaatsete hoidlate sisu ning konfidentsiaalseid arutelusid probleemide üle. Rünnaku all olnud võtmed digitaalsete allkirjade loomiseks väljalaskudele ja pakettidele serveris ei hoitud.

Esimesed katsed haavatavuse ära kasutamiseks registreeriti 20. ja 21. oktoobril. Ründaja registreeris konto GitLabis ja üritas saata muudetud pideva integratsiooni seadistusi. Logides registreeriti 8 GitLabi tööprotsesside ebaõnnestumist, millest 4 oli seotud eksploitide kasutamisega. On märgitud, et eksploidimise esimene etapp oli edukas, kuid teine etapp lõpetati ebaõnnestumisega.

Rünnaku ajal kasutati konteineris haavatavat versiooni GitLab 19.3.4, mis 22. oktoobril uuendati versioonile GitLab 19.3.6. Kuid Alpine'i administraatorid ei arvestanud, et parandused tehti ainult ametlikes GitLab 19.3.6 installipakettides, mitte GitLab koodis, kuna haavatavus esines Ruby tööriistades. Konteineris jätkati vana Ruby tööriistade kasutamist ja haavatavus jäi parandamata.

See, et süsteem jääb haavatavaks, tuvastati alles 26. oktoobril. Logide analüüs näitas, et 25. ja 26. oktoobril jätkasid ründajad rünnaku katseid. 27. oktoobril piirati kolmandate osapoolte juurdepääs GitLabile. 28. oktoobril sisaldus sisu uuesti, kõik paroolid lähtestati (kasutajad peavad uue parooli seadistama unustatud parooli taastamise protseduuri kaudu) ja juurdepääsuvõtmed vahetati. 29. oktoobril uuendatud server sisse viidi tööle. Docker-konteineri projekt alpinelinux/gitlab jäi haavatavaks kuni 27. oktoobrini.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster