Seorang pelaku ancaman sedang membahayakan server NGINX dalam sebuah kampanye yang membajak lalu lintas pengguna dan mengalihkannya melalui infrastruktur backend penyerang.
NGINX adalah software open-source untuk manajemen lalu lintas web. Software ini menjadi perantara koneksi antara pengguna dan server dan digunakan untuk penyajian web, penyeimbangan loading, caching, dan reverse proxy.
Kampanye jahat tersebut, yang ditemukan oleh para peneliti di DataDog Security Labs, menargetkan instalasi NGINX dan panel manajemen hosting Baota yang digunakan oleh situs-situs dengan domain tingkat atas Asia (.in, .id, .pe, .bd, dan .th) serta situs pemerintah dan pendidikan (.edu dan .gov).
Penyerang memodifikasi file konfigurasi NGINX yang ada dengan memasukkan blok 'lokasi' berbahaya yang menangkap permintaan masuk pada jalur URL yang dipilih penyerang.
Mereka kemudian menulis ulang URL tersebut untuk menyertakan URL asli lengkap, dan meneruskan lalu lintas melalui arahan 'proxy_pass' ke domain yang dikendalikan penyerang.
Direktif yang disalahgunakan biasanya digunakan untuk penyeimbangan loading, memungkinkan NGINX untuk mengarahkan ulang permintaan melalui grup server backend alternatif untuk meningkatkan kinerja atau keandalan; oleh karena itu, penyalahgunaannya tidak memicu peringatan keamanan apapun.
Request header seperti Host, X-Real-IP, User-Agent, dan Referer dipertahankan untuk membuat lalu lintas tampak sah.
Serangan tersebut menggunakan toolkit skrip multi-tahap untuk melakukan injeksi konfigurasi NGINX. Toolkit ini beroperasi dalam lima tahap:
- Tahap 1 – zx.sh: Bertindak sebagai skrip pengontrol awal, bertanggung jawab untuk mengunduh dan menjalankan tahapan selanjutnya. Ini mencakup mekanisme fallback yang mengirimkan permintaan HTTP mentah melalui TCP jika curl atau wget tidak tersedia.
- Tahap 2 – bt.sh: Menargetkan file konfigurasi NGINX yang dikelola oleh panel Baota. Ini secara dinamis memilih templat injeksi berdasarkan nilai server_name, menimpa konfigurasi dengan aman, dan memuat ulang NGINX untuk menghindari downtime layanan.
- Tahap 3 – 4zdh.sh: Mencantumkan lokasi konfigurasi NGINX umum seperti sites-enabled, conf.d, dan sites-available. Skrip ini menggunakan tool parsing seperti csplit dan awk untuk mencegah kerusakan konfigurasi, mendeteksi injeksi sebelumnya melalui hashing dan file pemetaan global, dan memvalidasi perubahan menggunakan nginx -t sebelum memuat ulang.
- Tahap 4 – zdh.sh: Menggunakan pendekatan penargetan yang lebih sempit yang berfokus terutama pada /etc/nginx/sites-enabled, dengan penekanan pada domain .in dan .id. Ini mengikuti proses pengujian dan memuat ulang konfigurasi yang sama, dengan restart paksa (pkill) digunakan sebagai cadangan.
- Tahap 5 – ok.sh: Memindai konfigurasi NGINX yang disusupi untuk membuat peta domain yang dibajak, templat injeksi, dan target proxy. Data yang dikumpulkan kemudian dieksfiltrasi ke server command-and-control (C2) di 158.94.210[.]227.
Serangan-serangan ini sulit dideteksi karena tidak mengeksploitasi kerentanan NGINX; sebaliknya, mereka menyembunyikan instruksi berbahaya dalam file konfigurasinya, yang jarang diperiksa secara teliti.
Selain itu, lalu lintas pengguna masih mencapai tujuan yang diinginkan, sering kali secara langsung, sehingga infrastruktur penyerang yang melewatinya kemungkinan besar tidak akan diketahui kecuali dilakukan pemantauan khusus.











