Avviso di sicurezza SlickStack

Questa pagina riassume le preoccupazioni di sicurezza su SlickStack e perché il suo design predefinito può esporre i server all'esecuzione remota di codice e ad attacchi man-in-the-middle. Fornisce inoltre passaggi di mitigazione e alternative più sicure.

Sintesi

  • Download remoti frequenti pianificati come root tramite cron
  • La verifica SSL viene bypassata utilizzando --no-check-certificate
  • Nessun checksum/firma sugli script scaricati
  • Proprietà root e permessi applicati agli script recuperati

Prove: cron e permessi

Download cron (ogni 3 ore e 47 minuti)

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

Proprietà root e permessi restrittivi (applicati ripetutamente)

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

Questo schema consente l'esecuzione arbitraria di codice da un dominio remoto e aumenta il rischio di MITM saltando la verifica dei certificati.

Vedi anche il commit in cui gli URL cron sono stati passati dal CDN di GitHub a slick.fyi: diff di commit.

Linee guida per la mitigazione

  1. Disattivare i job cron di SlickStack e rimuovere gli script scaricati dalle directory cron.
  2. Audit per riferimenti residui a slick.fyi e download remoti di script; sostituire con artefatti versionati e con checksum oppure rimuovere completamente.
  3. Ruotare credenziali e chiavi se SlickStack è stato eseguito con privilegi root sui vostri sistemi.
  4. Ricostruire i server interessati quando possibile per garantire uno stato pulito.

Alternative più sicure

Considerare WordOps o altri strumenti che evitino l'esecuzione remota come root e forniscano release versionate e verificabili con checksum/firme.

Citazioni