Penyerang memakai kredensial internal yang bocor untuk menyusup ke klaster bersama dan Dedicated Server GCP, lalu membaca variabel lingkungan yang disimpan di database platform Zeabur. Artikel ini menjelaskan kronologi kejadian, data yang terdampak, penanganan kami, dan apa yang perlu Anda lakukan.
Artikel ini juga tersedia dalam English, 繁體中文, 简体中文, 日本語, dan Español.
Semua waktu dalam artikel ini menggunakan Waktu Universal Terkoordinasi (UTC).
Pada 15 Oktober 2026 pukul 13:56, kami menerima laporan dari pengguna dan memulai investigasi. Setelah mencocokkan catatan, kami baru mengetahui bahwa penyerang sudah memakai kredensial internal Zeabur sejak 14 Oktober pukul 01:36, sekitar 36 jam sebelum kami menyadarinya. Selama itu penyerang memakai kredensial yang sah dan jalur akses resmi Zeabur, sehingga tidak ada satu pun peringatan yang terpicu.
Penyerang masuk lewat dua jalur yang bertemu di jaringan internal Zeabur pada 15 Oktober, lalu membaca database platform. Kredensial yang dipakai kali ini tidak tercakup dalam rotasi mana pun setelah insiden Agustus.
| Butir | Keterangan |
|---|---|
| Status | Final |
| Yang perlu Anda lakukan | Ganti semua kata sandi dan kunci yang disimpan di Zeabur, termasuk yang sudah diganti setelah insiden Agustus. Lihat Yang perlu Anda lakukan |
| Periode insiden | 14 Oktober pukul 01:36 hingga 15 Oktober pukul 21:05 (aktivitas terakhir penyerang dalam catatan) |
| Deteksi | Laporan pengguna diterima pada 15 Oktober pukul 13:56, sekitar 36 jam setelah penyerang pertama kali memakai kredensial. Lihat Deteksi |
| Penahanan | Pada 15 Oktober pukul 17:58 node jaringan internal milik penyerang dihapus, dan pukul 20:36 SSH publik ke Dedicated Server GCP diblokir. Semua pengguna sudah dikeluarkan dari sesi login |
| Dampak | Variabel lingkungan dan data akun di database platform, layanan dan database di klaster bersama, serta 101 Dedicated Server GCP. Variabel lingkungan yang setelah Agustus sudah dipindahkan ke server sendiri tidak ikut terbaca. Lihat Dampak |
| Penyebab paling mungkin | Repositori konfigurasi privat Zeabur bocor, dan jalur kebocorannya tidak dapat dikonfirmasi. Kredensial di repositori itu disimpan dalam teks biasa dan berlaku jangka panjang, sementara antarmuka admin klaster terbuka ke internet publik. Lihat Akar masalah |
| Istilah | Arti |
|---|---|
| Terkonfirmasi | Tercatat langsung di log |
| Dinilai | Waktu dan isinya cocok, tetapi tidak ada catatan langsung |
| Tidak dapat dikonfirmasi | Tidak ada catatan yang dapat diperiksa; kami selalu memperlakukannya sebagai sudah bocor |
| Hipotesis | Penjelasan yang mungkin dan hanya didukung bukti tidak langsung, dikumpulkan di Hipotesis yang belum terbukti |
Tangani sekarang juga, tanpa menunggu email pemberitahuan. Data yang sudah bocor masih dapat disalahgunakan, dan kredensial yang sudah Anda ganti setelah insiden Agustus juga perlu diganti sekali lagi.
Perlakukan server Anda sebagai sudah disusupi:
/root/.ssh/authorized_keys yang berkomentar @zeabur-pentest atau yang tidak Anda kenali.google-sudoers, akun sistem, crontab, layanan systemd, dan workload k3s.Di konsol, periksa apakah kata sandi root direset atau sistem diinstal ulang setelah 14 Oktober, lalu pastikan tidak ada metode login yang tidak dikenal dengan mengikuti daftar pemeriksaan GCP di atas.
| Sistem | Data yang terdampak | Cakupan | Tingkat kepastian |
|---|---|---|---|
| Database platform | Variabel lingkungan layanan yang disimpan di Zeabur (nama dan nilai) | 3.218.965 entri | Terkonfirmasi |
| Database platform | Akun (email, nama pengguna, nomor ponsel, dan lainnya), data proyek, lingkungan, dan layanan | 321.810 akun | Terkonfirmasi |
| Database platform | API key zSend (teks biasa) | 566 kunci, sudah dicabut | Terkonfirmasi |
| Database platform | Token akses platform | 11.536 token, hanya nilai hash yang tidak dapat dipulihkan; semuanya sudah dicabut | Terkonfirmasi |
| Klaster bersama | Variabel lingkungan dan rahasia semua layanan | 9 region | Sebagian terkonfirmasi, sisanya tidak dapat dikonfirmasi |
| Klaster bersama | Isi database | 865 layanan database | Dinilai (lihat penjelasan di bawah) |
| Dedicated Server GCP | Semua data di server | 101 server, 92 pengguna | Login terkonfirmasi |
| Dedicated Server Hetzner dan DigitalOcean | Hak akses admin server | 359 dan 48 server | Tidak dapat dikonfirmasi apakah dipakai |
| GitHub App | Akses ke repositori GitHub yang diotorisasi pengguna | 15/10 15:05 hingga 18:54 | Tidak dapat dikonfirmasi apakah dipakai |
| Cadangan database pengguna | Cadangan di region Taipei (tpe1) dan Hong Kong (hkg1) | Dua region | Tidak dapat dikonfirmasi apakah diunduh |
Rincian untuk setiap sistem ada di bawah.
Pada 15 Oktober pukul 16:10 hingga 16:47, penyerang membaca data yang tercantum di tabel di atas. Data akun mencakup informasi di halaman profil, seperti email, nama pengguna, dan nomor ponsel. Dari tabel autentikasi dua faktor dan passkey, yang dikueri hanya informasi statistiknya, dan tidak ada catatan pembacaan isinya. Token akses platform hanya disimpan sebagai nilai hash, tetapi tetap kami cabut semuanya.
Penyerang terutama mencari API key yang bisa langsung dipakai, khususnya kunci layanan AI. Penyerang mencari API key dan kunci privat di variabel lingkungan dan file konfigurasi, membaca kredensial di n8n dan new-api/one-api secara massal, dan mencoba memanggil Amazon Bedrock dengan kunci AWS milik Zeabur. Ini pengamatan kami berdasarkan isi perintah dan perilaku penyerang sesudahnya. Penyerang juga membaca data akun, dan semua data yang terbaca kami perlakukan sebagai sudah bocor.
Setelah insiden Agustus, Zeabur menyediakan panduan dan fitur migrasi sekali klik bagi pengguna Dedicated Server: merotasi kredensial, menghapus variabel lingkungan dan file konfigurasi yang disimpan di Zeabur, lalu menyimpannya di server sendiri. Untuk proyek yang sudah bermigrasi, data ini hanya ada di server pengguna dan tidak termasuk dalam data yang dibaca kali ini. Untuk proyek yang belum bermigrasi, variabel lingkungan masih tersimpan di Zeabur dan kali ini ikut terbaca. Kebocoran akibat penyusupan host tidak termasuk dalam pengecualian ini: Dedicated Server GCP yang disusupi tetap perlu ditangani sesuai Yang perlu Anda lakukan.
Pada 15 Oktober pukul 16:12 hingga 17:19, penyerang memanggil API Zeabur atas nama dua akun untuk membaca daftar akun dan proyek. Salah satunya adalah akun karyawan Zeabur. Permintaan ini tidak mengubah sumber daya apa pun.
Penyerang membaca kunci yang dipakai untuk menerbitkan kredensial login, dan kredensial login yang dipakai dinilai dipalsukan dengan kunci ini. Token akses platform hanya disimpan sebagai nilai hash, dan penyerang baru membacanya secara massal pukul 16:47, sehingga token itu tidak dapat menjelaskan penyamaran yang sudah dimulai pukul 16:12. Pukul 20:25, kami merotasi kunci penandatanganan, dan semua pengguna telah dikeluarkan dari sesi login.
Penyerang menjalankan perintah baca di dalam container 865 database. Catatan audit hanya mencatat perintah, bukan outputnya, dan sebagian perintah gagal karena error, sehingga berapa banyak data yang benar-benar terbaca dari setiap database tidak dapat dikonfirmasi. Tabel berikut adalah penilaian kami berdasarkan isi perintah:
| Target | Jumlah | Data yang dibaca |
|---|---|---|
| n8n yang memakai PostgreSQL | 736 | Kredensial pihak ketiga, pengguna, proyek, variabel, dan workflow |
| PostgreSQL (dibaca tabel demi tabel) | 211 | Hingga 50.000 baris per tabel; tidak ada di region Taipei (tpe1) |
| new-api/one-api | 10 | Kunci layanan AI, token akses, dan pengguna |
| Redis | 1 | Entri yang namanya mengandung kata seperti token dan secret |
| MongoDB, MariaDB | Masing-masing 1 | Taipei (tpe0) tidak memiliki isi perintah, diperlakukan sebagai bocor seluruhnya |
Kami memeriksa 607 n8n yang memakai PostgreSQL, dan 602 di antaranya menuliskan kunci enkripsinya di variabel lingkungan. Akibatnya, kredensial pihak ketiga di dalam n8n sama saja dengan bocor dalam teks biasa. Pembacaan ini terjadi di dalam container, jadi rotasi kata sandi database setelah insiden Agustus tidak melindungi dari pembacaan semacam ini.
Selain itu, di region Tokyo (hnd1) setidaknya 2 PostgreSQL telah disisipi program yang terhubung balik ke luar sejak 14 Oktober pukul 01:51, dan salah satunya masih terhubung balik pada 15 Oktober pukul 16:24. Apakah titik masuknya adalah kata sandi yang bocor pada Agustus tidak dapat dikonfirmasi. Begitu hal ini ditemukan, kami memberi tahu pengguna terdampak untuk mengganti kredensial.
Penyerang pernah login dengan hak akses root ke 101 server, terakhir kali pada 15 Oktober pukul 20:36. Di 50 server di antaranya, penyerang menambahkan kunci publik SSH yang dikendalikannya agar tetap bisa login di kemudian hari. Penyerang juga membuat 5 mesin virtual di proyek GCP Zeabur dan memasang 16 salinan disk server pelanggan ke mesin-mesin itu.
Ke-101 server ini kami perlakukan sebagai server yang datanya mungkin sudah bocor dan mungkin masih memiliki backdoor. Kami telah mengirim email kepada pengguna terdampak dan mereset kata sandi root server-server tersebut.
Token untuk mengelola server pelanggan di Hetzner dan DigitalOcean tertulis di kode internal dan variabel lingkungan, dan ikut bocor bersama database platform. Pemegang token dapat mereset kata sandi, menginstal ulang sistem, atau menyalin disk. Kami mencabut semua token itu pada 16 Oktober pukul 01:09. Kedua penyedia tidak menyediakan API audit operasi, sehingga apakah token dipakai tidak dapat dikonfirmasi. Kami hanya dapat mengesampingkan satu hal: reset kata sandi dan pembuatan image di Hetzner pada 15 Oktober dilakukan oleh pelanggan sendiri dan oleh jadwal sistem. Untuk DigitalOcean, tidak ada hasil pencocokan.
Dari 890 server Linode, 847 server yang memiliki catatan tidak menunjukkan login penyerang. Kredensial admin Tencent Cloud tidak memiliki catatan pemakaian.
Pada 15 Oktober pukul 15:05, penyerang membaca kunci privat GitHub App Zeabur. Pemegang kunci privat ini dapat mengakses repositori yang diizinkan pengguna untuk diakses Zeabur. Kami merotasi kunci privat itu pukul 18:54. Apakah kunci itu dipakai tidak dapat dikonfirmasi: kami tidak memperoleh catatan audit lengkap organisasi GitHub, dan permintaan catatan kami kepada GitHub Support tidak pernah dibalas.
Penyerang memakai beberapa kunci AWS milik Zeabur. Sebagian besar permintaan ditolak, tetapi penyerang berhasil mendaftar isi cadangan database pengguna di dua region dan isi unggahan kode sumber. Apakah isinya diunduh tidak dapat dikonfirmasi. Semua upaya penyerang memanggil Amazon Bedrock gagal dan tidak menimbulkan biaya.
| Fitur | Periode dampak (UTC) | Status saat ini |
|---|---|---|
| Login | Sejak 15/10 20:25 perlu login ulang | Normal |
| zSend dan email sistem (termasuk tautan login) | 15/10 20:00–22:02 | Sudah pulih; kunci zSend perlu dibuat ulang |
| Login dan deploy GitHub | 15/10 18:54–22:49 | Sudah pulih |
| Build | 15/10 20:05–22:56; region Tiongkok hingga 16/10 01:44 | Sudah pulih |
| Cadangan database | 15/10 20:33–22:13 | Sudah pulih |
| Pengelolaan Dedicated Server GCP | 15/10 17:31–20:35 | Sudah pulih; hanya dapat memakai SSH berbasis web |
| Perpanjangan otomatis Dedicated Server | Tencent Cloud 15/10 22:55–16/10 01:08, gagal 154 kali | Sudah pulih; tagihan dikembalikan sebagai saldo akun |
| Reset kata sandi dan catatan login SSH Tencent Cloud | Sejak 15/10 | Sudah pulih |
| Klaster Kubernetes khusus Linode | Sejak 15/10 | Sudah pulih |
Penyerang menempuh dua jalur. Jalur A bergerak dari klaster bersama ke AWS dan layanan pengelolaan rahasia Zeabur, sedangkan Jalur B memperoleh hak akses root ke Dedicated Server GCP. Pada 15 Oktober, kedua jalur bertemu di jaringan internal Zeabur. Teknik MITRE ATT&CK untuk setiap langkah tercantum di lampiran.
Login ini terjadi pada 14 Oktober, lebih dari sehari sebelum pembacaan rahasia produksi paling awal yang diketahui di Jalur A (15 Oktober pukul 14:52). Jadi, titik awal Jalur B tidak dapat dijelaskan dengan rahasia yang dibaca lewat Jalur A. Pada 1–5 September, sumber yang tidak diketahui juga pernah login dengan kata sandi root ke kelompok server yang sama, sekitar 98 server pada 5 September saja. Apakah ini penyerang yang sama tidak dapat dikonfirmasi.
Kesimpulan bahwa database platform dibaca berasal dari catatan koneksi di kedua sisi jaringan internal dan log database. Ke-29 koneksi database selama periode ini semuanya dapat dikaitkan dengan node tersebut, dan login serta kueri di dalamnya dapat ditelusuri satu per satu, dengan total 8.903 catatan operasi.
Kami baru memulai investigasi pada 15 Oktober pukul 13:56, setelah menerima laporan pengguna. Saat itu sudah sekitar 36 jam berlalu sejak penyerang pertama kali memakai kredensial (14 Oktober pukul 01:36), dan aktivitas serangan pada 14 Oktober saja berlangsung lebih dari 16 jam.
Selama periode itu tidak ada peringatan sama sekali:
Sekitar 4 jam setelah investigasi dimulai, kami menghapus node jaringan internal milik penyerang. Berikut penanganan pada 15–16 Oktober:
| Waktu (15 Oktober) | Penanganan |
|---|---|
| 14:43–15:56 | Antarmuka admin klaster bersama hanya mengizinkan koneksi dari sistem Zeabur |
| 15:32 | Mencabut token admin klaster yang dipakai penyerang; dirotasi sekali lagi pukul 21:47 |
| 17:17, 17:31 | Menonaktifkan dua kunci GCP yang dipakai penyerang |
| 17:58 | Menghapus node jaringan internal milik penyerang dan mencabut kredensial yang dipakai untuk membuatnya |
| 18:51 | Menghapus kunci akses cadangan klaster |
| 18:54 | Merotasi kunci privat GitHub App, kunci layanan pembayaran, dan secret GitHub OAuth |
| 18:55 | Menghapus kata sandi root dari konfigurasi inisialisasi server GCP |
| 20:05–21:22 | Menonaktifkan 24 kunci AWS yang bocor atau tidak dapat dipastikan tidak bocor, dan menggantinya dengan kunci baru berhak akses lebih kecil |
| 20:25 | Merotasi kunci penandatanganan login; semua pengguna dikeluarkan dari sesi login |
| 20:34–20:36 | Menghapus hak akses akun layanan default server GCP; memblokir SSH publik ke server GCP |
| 20:47 | Mencabut seluruh 566 API key zSend |
| 21:46 | Klaster khusus yang dikelola Zeabur hanya mengizinkan koneksi dari sistem Zeabur |
| 16/10 01:09 | Mencabut token Hetzner dan DigitalOcean yang bocor |
Sebagian kredensial yang kami pasang pada hari penanganan kemudian tetap dipakai penyerang. Masalahnya ada pada cadangan harian klaster. Cadangan ini mencakup semua sumber daya di klaster, termasuk rahasia, dan penyerang membaca kunci akses cadangan tersebut pada 15 Oktober pukul 15:04:
Bahwa kunci baru tersimpan di cadangan lalu dipakai kemudian, keduanya terkonfirmasi; bahwa penyerang mengunduh cadangan ini, statusnya dinilai. Kunci yang dipakai pukul 20:30 juga mungkin berasal dari cadangan yang sudah diperoleh penyerang sebelum pukul 18:51.
Sejak awal, penyerang sudah memegang token admin klaster Zeabur dan beberapa kunci cloud. Kredensial ini disimpan di repositori konfigurasi privat Zeabur dalam teks biasa, mengikuti kebiasaan lama. Kemungkinan terbesar, repositori konfigurasi ini bocor, tetapi jalur kebocorannya tidak dapat dikonfirmasi; dugaan kami ada di Hipotesis yang belum terbukti.
Ini adalah insiden keamanan kedua Zeabur dalam waktu kurang dari dua bulan. Banyak pengguna sudah melakukan penyesuaian sesuai panduan kami setelah Agustus, dan ingin tahu mengapa insiden ini tetap terjadi meski langkah-langkah itu sudah diambil, serta apakah kedua insiden saling berkaitan.
Apa yang dilakukan setelah Agustus. Kami merotasi kunci internal yang saat itu terkonfirmasi bocor, dan menonaktifkan Legacy API Key. Di sisi produk, proyek Dedicated Server dapat memindahkan variabel lingkungan dan file konfigurasi ke server sendiri, menghapus kredensial SSH yang disimpan Zeabur, dan melihat catatan login SSH. Dalam pemberitahuan dan pengumuman insiden Agustus, kami juga menyarankan pengguna merotasi kredensial, menghapus variabel lingkungan dan file konfigurasi yang disimpan di Zeabur, lalu bermigrasi ke server sendiri.
Mengapa tetap terjadi. Rotasi pada Agustus tidak mencakup token admin klaster dan kunci AWS yang disimpan dalam teks biasa di repositori konfigurasi, dan kata sandi root di konfigurasi inisialisasi server GCP juga belum diperbaiki. Kredensial inilah yang dipakai penyerang kali ini. Laporan insiden Agustus menyatakan "menonaktifkan atau merotasi seluruh kunci administratif internal"; pernyataan itu tidak lengkap, dan kami mengoreksinya di sini.
Zeabur akan berhenti beroperasi pada 31 Desember 2026, jadi di bawah ini hanya tercantum perbaikan yang sudah dijalankan.
| Perbaikan | Status |
|---|---|
| Mencabut token admin klaster yang dipakai penyerang; antarmuka admin hanya mengizinkan koneksi dari sistem Zeabur | Selesai |
| Menghapus kata sandi root dari konfigurasi inisialisasi server GCP dan memblokir SSH publik | Selesai |
| Mengganti kunci AWS dengan kunci baru berhak akses lebih kecil | Selesai |
| Hanya layanan tertentu yang boleh terhubung ke database platform | Selesai |
| Cadangan klaster tidak lagi menyimpan rahasia dalam teks biasa, dan kunci cadangan disimpan terpisah dari rahasia lainnya | Selesai |
| Peringatan baru: pemakaian hak akses admin yang tidak wajar, eksekusi perintah di dalam container, pembacaan rahasia atau database secara massal, node baru di jaringan internal, dan pemakaian kunci cloud dari sumber yang tidak dikenal | Tahap awal selesai |
Karena keterbatasan catatan yang ada, hal-hal berikut tetap tidak dapat dipastikan hingga laporan ini difinalkan. Data dan kredensial yang tidak dapat dipastikan bebas dari akses penyerang kami perlakukan sebagai sudah bocor.
31.57.201.201, yang login dengan kata sandi root ke Dedicated Server GCP pada awal September, adalah penyerang yang sama juga belum dapat disimpulkan.Berikut penjelasan yang menurut kami paling mungkin. Penjelasan ini didukung bukti tidak langsung, tetapi tidak memiliki catatan langsung, sehingga tidak dapat dikutip sebagai fakta. Hingga laporan ini difinalkan, tidak ada hipotesis yang terbukti maupun terbantahkan.
103.237.102.191: mengunjungi Zeabur tanpa login pada 10 Oktober pukul 18:27, dan mengakses klaster bersama dengan token admin pada 14 Oktober.23.106.46.239: sejak 12 Oktober pukul 12:52 melakukan banyak percobaan ke API Zeabur tanpa login, pada 13 Oktober mencoba login SSH ke Dedicated Server, dan pada 14 Oktober pukul 01:36 pertama kali memakai kunci AWS yang bocor.| Waktu (UTC) | Kejadian |
|---|---|
| 10 Januari 2024 | Token admin klaster bersama dibuat tanpa masa berlaku |
| 20 Januari 2026 | Token admin ditulis dalam teks biasa ke repositori konfigurasi |
| 27 Agustus | Dalam insiden Agustus, kunci privat GitHub App terbaca; kaitannya dengan insiden ini merupakan hipotesis |
| 30 Agustus, 2 September | Repositori konfigurasi diunduh sebagai arsip dengan otorisasi GitHub milik seorang karyawan; siapa pengunduhnya tidak dapat dikonfirmasi |
| 31 Agustus | Kunci privat GitHub App diganti; kredensial teks biasa di repositori konfigurasi tidak dirotasi |
| 1–5 September | Sumber yang tidak diketahui login dengan kata sandi root ke sekitar 98 Dedicated Server GCP |
| 3 September | Ditemukan bahwa konfigurasi inisialisasi server GCP menyimpan kata sandi root; tidak diperbaiki sebelum insiden terjadi |
| 10 Oktober 18:27 | IP yang kemudian dipakai untuk menyalahgunakan kredensial pertama kali muncul di catatan akses API Zeabur (tanpa login) |
| 13 Oktober 21:27 | IP penyerang mencoba login SSH ke 3 Dedicated Server hingga pukul 23:04, semuanya gagal |
| 14 Oktober 01:36 | Penyerang pertama kali memakai kunci AWS milik Zeabur |
| 14 Oktober 01:40 | Penyerang pertama kali mengakses klaster bersama dengan token admin |
| 14 Oktober 12:39 | Penyerang membaca pengaturan dan rahasia semua layanan di klaster bersama |
| 14 Oktober 13:40 | Penyerang mulai membaca data di dalam container database, dan pada saat yang sama mulai login ke Dedicated Server GCP |
| 14 Oktober 17:04 | Perintah terakhir di dalam container database |
| 15 Oktober 13:56 | Investigasi dimulai setelah menerima laporan pengguna |
| 15 Oktober 14:43 | Mulai membatasi sumber koneksi ke antarmuka admin klaster bersama |
| 15 Oktober 14:52 | Penyerang mulai membaca sekitar 53 rahasia produksi, hingga pukul 16:51 |
| 15 Oktober 15:02 | Deploy key milik layanan yang sudah dinonaktifkan membaca repositori konfigurasi (hipotesis: penyerang) |
| 15 Oktober 15:30 | Penyerang menggabungkan sebuah node ke jaringan internal Zeabur |
| 15 Oktober 15:42 | Penyerang mengunduh cadangan database pengguna dari penyimpanan Zeabur |
| 15 Oktober 16:06 | Penyerang mencari API key di data yang diperolehnya, hingga pukul 18:13 |
| 15 Oktober 16:10 | Penyerang mulai membaca database platform, hingga pukul 16:47 |
| 15 Oktober 16:12 | Penyerang mulai menyamar sebagai akun untuk memanggil API, hingga pukul 17:19 |
| 15 Oktober 17:58 | Node jaringan internal milik penyerang dihapus |
| 15 Oktober 19:50 | Gelombang kedua login penyerang ke Dedicated Server GCP, hingga pukul 20:36 |
| 15 Oktober 20:25 | Kunci penandatanganan login dirotasi; semua pengguna dikeluarkan dari sesi login |
| 15 Oktober 20:36 | SSH publik ke Dedicated Server GCP diblokir, dan login penyerang berhenti |
| 15 Oktober 20:48 | Halaman status diperbarui untuk menyebutkan bahwa database platform dan Dedicated Server juga terdampak |
| 15 Oktober 21:01 | Penyerang mencoba mengakses node klaster bersama, dan ditolak |
| 15 Oktober 21:05 | Aktivitas terakhir penyerang yang teramati (AWS) |
| 16 Oktober 01:09 | Token Hetzner dan DigitalOcean dicabut |
Jika Anda menemukan indikator berikut di sistem Anda atau di catatan penyedia layanan, perlakukan kredensial terkait sebagai sudah bocor dan hubungi kami. Penyerang banyak memakai server proxy yang berganti-ganti, sehingga tabel di bawah hanya mencantumkan alamat yang representatif. Tingkat kepercayaan memakai skala STIX 0 sampai 100: Terkonfirmasi 85, Dinilai 60, dan Tidak dapat dikonfirmasi 30. Versi yang dapat dibaca mesin tersedia di file STIX 2.1, dan indikator IP di dalamnya berlaku hingga 13 Januari 2027.
| Jenis | Indikator | Muncul di | Kepercayaan |
|---|---|---|---|
| IP | 23.106.46.239 | Akses klaster, API cloud, login SSH | 85 |
| IP | 102.244.78.57 | API cloud, perubahan konfigurasi GCP | 85 |
| IP | 103.237.102.191 | Akses klaster, API cloud | 85 |
| IP | 103.112.139.162 | Pemakaian pertama token admin klaster | 85 |
| IP | 45.146.232.28 | Verifikasi kunci AWS | 85 |
| IP | 216.98.11.198, 45.58.38.175 | Login SSH ke Dedicated Server | 85 |
| IP | 52.220.72.188 | Alamat tujuan koneksi balik dari PostgreSQL yang disisipi program | 85 |
| IP | 31.57.201.201 | Login dengan kata sandi root ke Dedicated Server GCP pada awal September; kaitannya dengan insiden ini tidak dapat dikonfirmasi | 30 |
| Kunci SSH | Komentar *@zeabur-pentest, fingerprint SHA256:EdBc0uephoOMemIRKK0SRV2TRR45n52tJm1yErVU1iM | Kunci yang ditambahkan penyerang ke Dedicated Server | 85 |
| User-Agent | Mengandung Boto3/1.43.111 sekaligus os/linux#6.12.86+deb13-amd64 | Klien yang dipakai penyerang dengan kunci AWS. Pencocokan dengan indikator ini saja mudah keliru, jadi gabungkan dengan IP sumber dan kuncinya | 60 |
Diurutkan berdasarkan taktik MITRE ATT&CK.
| Taktik | Teknik | Bagian dalam artikel |
|---|---|---|
| Akses awal | T1078.004 Akun valid: akun cloud | Jalur A, langkah 1 |
| Akses awal | T1133 Layanan remote eksternal | Kedua jalur bertemu, langkah 1 |
| Eksekusi | T1609 Perintah administrasi container | Jalur A, langkah 3 |
| Persistensi | T1098.004 Manipulasi akun: kunci SSH yang diotorisasi | Jalur B, langkah 2 dan 3 |
| Penghindaran pertahanan | T1578.002 Modifikasi infrastruktur komputasi cloud: membuat instance cloud | Dedicated Server GCP |
| Penghindaran pertahanan | T1578.001 Modifikasi infrastruktur komputasi cloud: membuat snapshot | Dedicated Server GCP |
| Akses kredensial | T1552.001 Kredensial tidak terlindungi: kredensial dalam file | Jalur A, langkah 1 |
| Akses kredensial | T1552.007 Kredensial tidak terlindungi: API container | Jalur A, langkah 2 |
| Akses kredensial | T1552 Kredensial tidak terlindungi | Jalur B, langkah 1 |
| Akses kredensial | T1555.006 Kredensial dari penyimpanan kata sandi: pengelola rahasia cloud | Jalur A, langkah 5 |
| Akses kredensial | T1606 Pemalsuan kredensial web | Penyamaran akun |
| Akses kredensial | T1110 Brute force (hipotesis) | Percobaan SSH sebelum 14 Oktober |
| Penemuan | T1580 Penemuan infrastruktur cloud | Sistem internal Zeabur |
| Pergerakan lateral | T1021.004 Layanan remote: SSH | Jalur B, langkah 1 |
| Pengumpulan | T1530 Data dari penyimpanan cloud | Jalur A, langkah 4 |
| Pengumpulan | T1213.006 Data dari repositori informasi: database | Kedua jalur bertemu, langkah 2 |
| Dampak | T1496.004 Pembajakan sumber daya: pembajakan layanan cloud (tidak berhasil) | Sistem internal Zeabur |
Jika Anda membutuhkan bantuan, atau menemukan akses tidak wajar maupun biaya yang tidak dikenal, hubungi kami melalui Zeabur Support. Sebelum menghubungi kami, cabut dulu kredensial terkait dan berikan hanya informasi yang sudah disamarkan. Jangan menempelkan kunci atau kata sandi yang masih berlaku di tiket maupun kanal publik.
Jika kredensial yang bocor disalahgunakan, Anda mungkin harus menanggung biaya tambahan, dan kami sungguh menyesal atas hal itu. Dengan kondisi keuangan saat ini, Zeabur tidak dapat menanggung biaya layanan pihak ketiga yang timbul akibat insiden ini. Sebagian besar penyedia cloud dan API memiliki jalur pengajuan keberatan atau keringanan biaya, dan Anda dapat melampirkan laporan ini sebagai penjelasan kepada penyedia. Jika penyedia meminta bukti lain, beri tahu kami melalui tiket, dan kami akan berusaha menyediakannya. Pengembalian saldo akun tidak terpengaruh oleh insiden ini. Rinciannya ada di Tindak lanjut Zeabur atas insiden keamanan Oktober 2026.
Zeabur telah mengumumkan akan berhenti beroperasi pada 31 Desember 2026; ini adalah keputusan operasional. Sampai saat itu, kami akan terus menangani permintaan dukungan terkait insiden ini.
Kami baru mengetahui insiden ini dari laporan pengguna, sekitar 36 jam setelah penyerang mulai memakai kredensial. Melindungi kredensial yang Anda simpan di Zeabur adalah tanggung jawab kami, dan kami gagal melakukannya. Kami meminta maaf kepada semua pengguna yang terdampak.
Tim Zeabur