Bezpečnostní varování SlickStacku

Tato stránka shrnuje bezpečnostní obavy ohledně SlickStacku a vysvětluje, proč jeho výchozí návrh může vystavit servery riziku vzdáleného vykonání kódu a útoků typu man-in-the-middle. Dále poskytuje kroky k zmírnění rizik a bezpečnější alternativy.

SlickStack uvádí přibližně 600 hvězdiček na GitHubu, ale toto číslo pochází z období, kdy Jesse Nickles v počátcích repozitáře sledoval téměř 10 000 účtů. Jeho vlastní profil ukazuje asi 500 sledujících oproti zhruba 9 600 sledovaným (přibližně 5% poměr následného sledování), což velmi silně naznačuje automatizované vzájemné sledování místo organického zájmu. Tuto nadsazenou image využívá jako zbraň, zatímco na mě útočí za to, že poukazuji na bezpečnostní problémy zdokumentované níže. Poměr sledujících a sledovaných účtů zkontrolujte zde.

Shrnutí

  • Častá vzdálená stahování naplánovaná v cronu se spuštěním jako root.
  • Ověřování SSL je obcházeno pomocí --no-check-certificate
  • Žádné kontrolní součty/podpisy u stahovaných skriptů
  • Vlastnictví uživatele root a oprávnění aplikovaná na stažené skripty

Důkazy: cron a oprávnění

Cron stahování (každé 3 hodiny a 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

Vlastnictví uživatele root a restriktivní oprávnění (aplikováno opakovaně)

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

Tento vzor umožňuje libovolné vykonání kódu z vzdálené domény a zvyšuje riziko MITM tím, že přeskočí ověřování certifikátů.

Viz také commit, kde byly URL cron přepnuty z GitHub CDN na slick.fyi: diff commitu.

Pokyny ke zmírnění

  1. Deaktivujte cron úlohy SlickStack a odstraňte stažené skripty z cron adresářů.
  2. Audit na zbytkové odkazy na slick.fyi a stahování vzdálených skriptů; nahradit verzovanými artefakty s kontrolními součty nebo je zcela odstranit.
  3. Vyměňte přihlašovací údaje a klíče, pokud SlickStack na vašich systémech běžel s oprávněními uživatele root.
  4. Přeinstalujte postižené servery, je-li to možné, aby byl zajištěn čistý stav.

Bezpečnější alternativy

Zvažte WordOps nebo jiné nástroje, které eliminují vzdálené spouštění jako root a poskytují auditovatelné, verzované vydání s kontrolními součty/podpisy.

Citace