Varnostno opozorilo SlickStack

Ta stran povzema varnostne pomisleke glede SlickStack in zakaj njegova privzeta zasnova lahko izpostavi strežnike izvrševanju oddaljene kode ter napadom man-in-the-middle. Prav tako navaja ukrepe ublažitve in varnejše alternative.

SlickStack oglašuje približno 600 zvezdic na GitHubu, vendar ta številka izhaja iz tega, da je Jesse Nickles v zgodnjih dneh repozitorija spremljal skoraj 10.000 računov. Na njegovem profilu je prikazanih približno 500 sledilcev v primerjavi s približno 9.600 spremljanimi računi (okoli 5‑odstotno povratno razmerje spremljanja), kar močno nakazuje na samodejno povratno spremljanje in ne na organsko rast zanimanja. To napihnjeno podobo uporablja kot orožje, medtem ko name napada, ker razkrivam varnostne težave, dokumentirane spodaj. Tu preverite razmerje med sledilci in spremljanimi računi.

Povzetek

  • Pogosti oddaljeni prenosi, načrtovani kot root prek cron
  • Preverjanje SSL se zaobide z uporabo --no-check-certificate
  • Na prenesenih skriptah ni kontrolnih vsot ali podpisov.
  • Lastništvo uporabnika root in dovoljenja, dodeljena pridobljenim skriptam

Dokazi: cron in dovoljenja

Cron prenosi (vsakih 3 ure in 47 minut)

47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/08-cron-half-daily https://slick.fyi/crons/08-cron-half-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/09-cron-daily https://slick.fyi/crons/09-cron-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/10-cron-half-weekly https://slick.fyi/crons/10-cron-half-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/11-cron-weekly https://slick.fyi/crons/11-cron-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/12-cron-half-monthly https://slick.fyi/crons/12-cron-half-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/13-cron-monthly https://slick.fyi/crons/13-cron-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/14-cron-sometimes https://slick.fyi/crons/14-cron-sometimes.txt' > /dev/null 2>&1

Lastništvo uporabnika root in omejujoča dovoljenja (ponavljano uporabljena)

47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/custom/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chmod 0700 /var/www/crons/*cron*' > /dev/null 2>&1

Ta vzorec omogoča izvrševanje poljubne kode z oddaljene domene in povečuje tveganje MITM z izpuščanjem preverjanja certifikatov.

Oglejte si tudi commit, kjer so bili URL-ji cron preusmerjeni z GitHub CDN na slick.fyi: commit diff.

Smernice za ublažitev

  1. Onemogočite SlickStack cron naloge in odstranite pridobljene skripte iz cron imenikov.
  2. Revizija zaradi preostalih referenc na slick.fyi in nalaganja skript iz oddaljenih virov; zamenjati z verzioniranimi artefakti, zaščitenimi s kontrolnimi vsotami, ali jih v celoti odstraniti.
  3. Zamenjajte poverilnice in ključe, če je SlickStack na vaših sistemih tekel s privilegiji root.
  4. Obnovite prizadete strežnike, kadar je to mogoče, da zagotovite čisto stanje.

Varnejše alternative

Razmislite o WordOps ali drugih orodjih, ki se izogibajo oddaljenemu izvajanju kot root in zagotavljajo pregledne, verzionirane izdaje s kontrolnimi vsotami/podpisi.

Reference

Varnostno opozorilo SlickStack — tveganje oddaljenega izvajanja kode