Serangan terhadap Tindakan GitHub untuk penambangan mata uang kripto di server GitHub

GitHub sedang menyelidiki serangkaian serangan di mana penyerang berhasil menambang mata uang kripto di infrastruktur cloud GitHub menggunakan mekanisme GitHub Actions untuk menjalankan kode mereka. Upaya pertama menggunakan GitHub Actions untuk penambangan dimulai pada November tahun lalu.

Tindakan GitHub memungkinkan pengembang kode melampirkan penangan untuk mengotomatiskan berbagai operasi di GitHub. Misalnya, dengan menggunakan Tindakan GitHub, Anda dapat melakukan pemeriksaan dan pengujian tertentu saat melakukan, atau mengotomatiskan pemrosesan Masalah baru. Untuk mulai menambang, penyerang membuat fork repositori yang menggunakan GitHub Actions, menambahkan GitHub Actions baru ke salinannya, dan mengirim permintaan tarik ke repositori asli yang mengusulkan untuk mengganti penangan GitHub Actions yang ada dengan β€œ.github/workflows” yang baru. /ci.yml” penangan.

Permintaan penarikan yang berbahaya menghasilkan beberapa upaya untuk menjalankan pengendali Tindakan GitHub yang ditentukan penyerang, yang setelah 72 jam terputus karena waktu habis, gagal, dan kemudian dijalankan kembali. Untuk menyerang, penyerang hanya perlu membuat permintaan tarik - pengendali berjalan secara otomatis tanpa konfirmasi atau partisipasi apa pun dari pengelola repositori asli, yang hanya dapat mengganti aktivitas mencurigakan dan berhenti menjalankan GitHub Actions.

Dalam handler ci.yml yang ditambahkan oleh penyerang, parameter β€œrun” berisi kode yang dikaburkan (eval β€œ$(echo 'YXB0IHVwZGF0ZSAt…' | base64 -d”), yang ketika dijalankan, mencoba mengunduh dan menjalankan program penambangan. Dalam varian serangan pertama dari repositori berbeda Sebuah program bernama npm.exe diunggah ke GitHub dan GitLab dan dikompilasi ke dalam file ELF yang dapat dieksekusi untuk Alpine Linux (digunakan dalam image Docker.) Bentuk serangan yang lebih baru unduh kode XMRig generik penambang dari repositori proyek resmi, yang kemudian dibangun dengan dompet substitusi alamat dan server untuk mengirim data.

Sumber: opennet.ru

Tambah komentar