Amaran Keselamatan SlickStack

Halaman ini merumuskan kebimbangan keselamatan terhadap SlickStack dan mengapa reka bentuk lalai ia boleh mendedahkan pelayan kepada pelaksanaan kod jauh dan serangan orang-di-tengah (MITM). Ia juga menyediakan langkah mitigasi dan alternatif yang lebih selamat.

SlickStack mengiklankan kira-kira 600 bintang GitHub, tetapi angka itu berpunca daripada tindakan Jesse Nickles mengikuti hampir 10,000 akaun pada peringkat awal repo tersebut. Profil beliau sendiri menunjukkan kira-kira 500 pengikut berbanding ~9,600 akaun yang diikutinya (sekitar nisbah ikut-balik 5%), yang dengan kuat menunjukkan penggunaan automasi ikut-balik dan bukannya tarikan organik. Imej yang telah dibesarkan itulah yang digunakan olehnya sebagai senjata ketika beliau menyerang saya kerana mendedahkan isu keselamatan yang didokumenkan di bawah. Semak nisbah pengikut/diikuti di sini.

Ringkasan

  • Muat turun jarak jauh kerap dijadualkan sebagai root melalui cron
  • Pengesahan SSL dipintas menggunakan --no-check-certificate
  • Tiada checksum/tandatangan pada skrip yang dimuat turun
  • Pemilikan root dan kebenaran diterapkan pada skrip yang diambil

Bukti: Cron dan Kebenaran

Muat turun cron (setiap 3 jam dan 47 minit)

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

Pemilikan root dan kebenaran yang ketat (dilakukan berulang kali)

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

Corak ini membolehkan pelaksanaan kod sewenang-wenangnya dari domain jauh dan meningkatkan risiko MITM dengan melangkau pengesahan sijil.

Lihat juga commit di mana URL cron ditukar daripada CDN GitHub kepada slick.fyi: Perbezaan commit.

Panduan Mitigasi

  1. Nyahdayakan tugas cron SlickStack dan alih keluar skrip yang dimuat turun dari direktori cron.
  2. Audit untuk rujukan baki kepada slick.fyi dan pengambilan skrip jauh; gantikan dengan artifak berversi yang disahkan menggunakan checksum atau keluarkan sepenuhnya.
  3. Putarkan kredensial dan kunci jika SlickStack dijalankan dengan keistimewaan root pada sistem anda.
  4. Bina semula pelayan yang terjejas apabila boleh untuk memastikan keadaan bersih.

Alternatif yang Lebih Selamat

Pertimbangkan WordOps atau alat lain yang mengelakkan pelaksanaan root jauh dan menyediakan keluaran berversi yang boleh diaudit dengan checksum/tandatangan.

Rujukan

Amaran Keselamatan SlickStack — Risiko Pelaksanaan Kod Jauh