Uzbrukums GitLab serverim Alpine Linux projektā

Alpine Linux izstrādātāji atklājuši informāciju par mēģinājumiem uzlauzt kopīga izstrādāšanas platformu gitlab.alpinelinux.org, kur tika strādāts pie pakotņu pārvaldnieka APK, kompilācijas rīkiem, infrastruktūras komponentiem un pakotņu kompilācijas skriptiem (aports). Uzbrukums tika veikts, izmantojot ievainojamību GitLab platformā, ko izraisīja veselo skaitļu pārapsaiste Ruby regulāro izteiksmju dzinējā. Pierādījumi un sekas veiksmīgai uzlaušanai netika atrastas, taču, tā kā pilnībā izslēgt veiksmīgu ievainojamības izmantošanu nav iespējams, GitLab konteiners tika atzīts par potenciāli apdraudētu, un tā saturs tika pilnībā pārveidots no nulles, kā arī lietotājiem tika uzsākta paroles maiņas procedūra.

Alpine Linux infrastruktūras administratori nav konstatējuši svešu failu parādīšanos, aizdomīgu procesu palaišanu, neparastus API pieprasījumus, iestatījumu un sistēmas failu izmaiņas, kā arī slodzes svārstības, kas raksturīgas masveida datu ieguvei. Pārbaudot aports krātuves, pakotņu un versiju failu integritāti, kā arī salīdzinot tos ar kopijām no ārējiem kompilācijas serveriem un izstrādātāju sistēmām, slēptas izmaiņas netika atklātas.

Pilnībā izslēgt veiksmīga uzbrukuma izdarīšanu neļauj informācijas trūkums par izejošajiem tīkla savienojumiem, dažādu žurnālu dzēšana pie rotācijas (piemēram, cron žurnāla) un nepietiekama detalizācija tīmekļa servera žurnālos (veiksmīga eksploitācija, kas noved pie neatikšanos, netiek iekļauta žurnālā).
Veiksmīgas uzbrukuma gadījumā uzbrucēji varēja iegūt piekļuvi datu bāzei ar informāciju par visiem GitLab lietotājiem (parolešu hashi, e-pasti, IP adreses utt.), vides mainīgajiem un tokeniem no nepārtrauktas integrācijas sistēmām, divu faktoru autentifikācijas kodiem, personīgo piekļuves tokenu hashiem, privāto repozitoriju saturam un konfidenciālu problēmu apspriežu. Atklātie digitālo parakstu veidošanai nepieciešamie atslēgas uzbrukuma serveri netika glabāti.

Pirmie mēģinājumi izmantot neaizsargātību tika fiksēti 20. un 21. oktobrī. Uzbrucējs reģistrēja kontu GitLab un mēģināja nosūtīt modificētus nepārtrauktās integrācijas sistēmas iestatījumus. Žurnālos tika fiksēti 8 avārijas gadījumi GitLab darba procesos, no kuriem 4 bija saistīti ar eksploitācijas lietošanu. Atzīmēts, ka pirmā eksploitācijas fāze bija veiksmīga, bet otrā fāze beidzās ar kļūdu.

Uzbrukuma brīdī konteinerī tika izmantota neaizsargāta GitLab versija 19.3.4, kas 22. oktobrī tika atjaunināta uz GitLab 19.3.6. Tomēr Alpine administrators ņēma vērā to, ka labojums tika veikts tikai oficiālajos GitLab 19.3.6 instalācijas pakotnēs, nevis pašā GitLab kodā, jo neaizsargātība bija Ruby rīku komplektā. Konteinera lietošanā palika vecais Ruby rīku komplekts, un neaizsargātība palika neatrisināta.

Tas, ka sistēma paliek neaizsargāta, tika konstatēts tikai 26. oktobrī. Žurnālu analīze parādīja, ka 25. un 26. oktobrī uzbrucēji atsāka mēģinājumus veikt uzbrukumu. 27. oktobrī tika ierobežota trešo personu piekļuve GitLab. 28. oktobrī saturs tika pārveidots, visi paroli tika atiestatītas (lietotājiem jāiestata jauna parole, izmantojot aizmirstās paroles atjaunošanas procedūru), un piekļuves atslēgas tika nomainītas. 29. oktobrī atjauninātais servera tika ieviests darbībā. Docker konteineris alpinelinux/gitlab palika neaizsargāts līdz 27. oktobrim.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster