Pada artikel ini kita akan belajar menginstal dan menemukan rootkit dengan Rootkit Hunter, di antara ancaman lainnya, Anda akan dapat menggunakannya untuk menemukan tanda-tanda beberapa varian malware XOR.DDoS, yang saat ini digunakan untuk membuat botnet dengan Sistem Linux untuk serangan penolakan layanan terdistribusi besar-besaran.
Daftar Isi
- Instal
- Unduh
- Tambalan - (opsional )
- Instal
- Konfigurasikan
- tes
- log
- daftar sementara
- lainnya
- Lari
- bendera
- penjadwalan cron
Instal RKHunter
Unduh Rkhunter, coba cURL untuk melakukan ini.
curl http://nbtelecom.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz -o rkhunter-1.4.2.tar.gz
Kemudian ekstrak isi paket.
tar zxvf rkhunter-1.4.2.tar.gz
Masuk ke direktori tarball.
cd rkhunter-1.4.2
Tambalan (Opsional)
Langkah ini akan melawan akan menambal skrip rkhunter dan databasenya untuk mencari malware XOR DDoS Linux. Patch ini didasarkan pada port dan file yang ditemukan pada laporan yang dibuat oleh Akamai, Avast, dan Malware Must Die.
Masuk ke direktori file di bawah direktori rkthunter.
cd files
Pasang tambalan utilitas dengan yum.
yum install patch
Sekarang unduh patchnya.
curl http://sourceforge.net/p/rkhunter/patches/44/attachment/rkhunter.patch -o rkhunter.patch
Atau, Anda dapat menyalin dan melewati konten file rkhunter.patch dari sini.
--- rkhunter 2014-03-12 17:54:55.000000000 -0300
+++ rkhunter.new 2015-10-02 17:01:25.040000000 -0300
@@ -7797,6 +7797,19 @@
#
+ # XOR.DDoS
+ XORDDOS_FILES="/lib/udev/udev
+ /lib/udev/debug
+ /etc/cron.hourly/cron.sh
+ /etc/cron.hourly/udev.sh
+ /lib/libgcc4.so
+ /var/run/udev.pid
+ /var/run/sftp.pid"
+ XORDDOS_DIRS=
+ XORDDOS_KSYMS=
+
+
+
# 55808 Variant A
W55808A_FILES="/tmp/.../r
/tmp/.../a"
@@ -11907,6 +11920,13 @@
return
fi
+ # XOR.DDoS Rootkit
+ SCAN_ROOTKIT="XOR.DDoS - Rootkit"
+ SCAN_FILES=${XORDDOS_FILES}
+ SCAN_DIRS=${XORDDOS_DIRS}
+ SCAN_KSYMS=${XORDDOS_KSYMS}
+ scanrootkit
+
# 55808 Trojan - Variant A
--- backdoorports.dat 2010-11-13 20:41:19.000000000 -0300
+++ backdoorports.dat.new 2015-10-02 17:10:24.086000000 -0300
@@ -12,6 +12,7 @@
2001:Scalper:UDP:
2006:CB Rootkit or w00tkit Rootkit SSH server:TCP:
2128:MRK:TCP:
+3502:Possible XOR.DDoS Botnet Malware:TCP:
6666:Possible rogue IRC bot:TCP:
6667:Possible rogue IRC bot:TCP:
6668:Possible rogue IRC bot:TCP:
Terapkan patch pada rkhunter skrip dan backdoors.dat file dengan perintah berikut.
patch < rkhunter.patch
Patch selesai, sekarang kembali ke direktori root tarball untuk melanjutkan instalasi.
cd ..
Instal file
Jalankan skrip penginstal dengan parameter berikut untuk menginstalnya di bawah /usr/local.
./installer.sh --install --layout /usr/local
Anda juga dapat menggunakan --contoh tandai untuk menampilkan lebih banyak informasi dan contoh tata letak atau dan --tampilkan opsi alih-alih --instal untuk menunjukkan apa yang akan diinstal pada tata letak Anda.
Instal Unhide (disarankan)
memperlihatkan dan tampilkan-tcp utilitas akan mencari proses dan port tersembunyi, meskipun tidak wajib, sangat disarankan karena kebanyakan rootkit canggih akan menyembunyikan keberadaannya.
Pertama, kita perlu menginstal GNU Compiler Collection.
yum install gcc
Instal glibc-static, yang diperlukan untuk membuat binari bergaris.
yum install glibc-static
Kompilasi unhide-linux.
gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux
Kompilasi unhide-tcp.
gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c -o unhide-tcp
Instal file di bawah /usr/local/bin dan buat tautan simbolis untuk ditampilkan.
cp unhide-linux unhide-tcp /usr/local/bin && cd /usr/local/bin/ && ln -s unhide-linux unhide && cd -
Konfigurasikan
Pada bagian ini saya akan menunjukkan beberapa pilihan yang terdapat pada rkhunter.conf file, opsi dipisahkan dalam grup dan deskripsinya disederhanakan, baca deskripsi sebenarnya pada file dan jika Anda tidak yakin, abaikan saja karena opsi default sudah cukup, sebagian besar dikomentari.
Anda dianjurkan untuk menjalankan terlebih dahulu sebelum melakukan perubahan aktual pada file konfigurasi, ini akan memberi Anda pemahaman yang lebih baik tentang cara kerja rkhunter dan kemungkinan untuk mengidentifikasi beberapa kesalahan positif untuk dimasukkan ke daftar putih pada file konfigurasi.
Panggil saja rkhunter dengan -c atau --centang parameter.
rkhunter -c
Seperti yang Anda lihat pada gambar di atas, akan ada beberapa peringatan tentang file seperti egrep atau ifup menjadi skrip alih-alih binari ELF, namun mereka adalah file sistem yang sah dan sebagian besar opsi pada file konfigurasi adalah tentang bagaimana membuat rkhunter mengabaikannya. kejadian.
Tes
Opsi berikut ENABLE_TETS dan DISABLE_TETS menetapkan jenis testis apa yang akan dibuat, aktifkan semua, lalu nonaktifkan yang tidak diinginkan. Sebaiknya suspscan dinonaktifkan secara default karena rentan terhadap kesalahan positif.
ENABLE_TESTS=ALL
DISABLE_TESTS=suspscan
Cangkang Aman
Mengaktifkan login root pada koneksi SSH bukanlah ide yang baik, gunakan su/sudo sebagai gantinya, jika tidak, setel ini ke ya.
ALLOW_SSH_ROOT_USER=no
Versi 1 dari protokol SSH diketahui tidak aman, setel ini ke 1 perlu mengabaikan pemeriksaan protokol ini
ALLOW_SSH_PROT_V1=0
Port jaringan
Port jaringan yang diizinkan dengan protokol format:port
PORT_WHITELIST
Setel daftar putih untuk beberapa program dengan sintaks path_to_binary:protocol:port_number
PORT_PATH_WHITELIST=/usr/sbin/squid:TCP:3801
Versi Aplikasi
Opsi ini memungkinkan Anda menjalankan beberapa aplikasi usang, ini umumnya tidak disarankan dan Anda harus yakin bahwa aplikasi tersebut aman sebelum Anda memasukkannya ke dalam daftar ini.
APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29
Sniffer
Izinkan penggunaan sniffer, perangkat lunak yang menangkap paket jaringan.
Izinkan proses berikut untuk mendengarkan jaringan, seperti baris berikut.
ALLOWPROCLISTEN=/usr/sbin/snort-plain
Ini akan memungkinkan antarmuka jaringan yang terdaftar untuk mendengarkan jaringan dalam mode promiscuous.
ALLOWPROMISCIF=eth0
File
Anda perlu membuat beberapa pengecualian untuk pengujian yang dilakukan oleh rkhunter, opsi berikut memungkinkan Anda untuk melewati pengujian ke objek tertentu, seperti file, direktori.
Izinkan beberapa direktori tersembunyi.
ALLOWHIDDENDIR=/etc/.java
Izinkan beberapa file tersembunyi.
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz
Daftar putih ini akan memungkinkan beberapa file menjadi skrip, bukan biner ELF.
SCRIPTWHITELIST=/usr/sbin/ifdown
SCRIPTWHITELIST=/usr/sbin/ifup
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd
Izinkan file agar dapat ditulis oleh dunia.
WRITEWHITELIST=/usr/bin/date
Izinkan file memiliki perubahan atribut.
ATTRWHITELIST=/usr/bin/date
Izinkan proses untuk menanyakan file yang dihapus.
ALLOWPROCDELFILE=/sbin/cardmgr
Opsi Log
Ini akan menentukan file mana yang akan digunakan untuk login.
LOGFILE=/var/log/rkhunter.log
Setel yang ini ke 1 jika Anda ingin terus masuk ke file yang sama setiap kali rkhunter berjalan, defaultnya adalah 0, yang akan menambahkan '.old' ke file log dan membuat yang baru.
APPEND_LOG=0
Jika Anda ingin menyimpan file log saat terjadi kesalahan, setel opsi berikut ke 1.
COPY_LOG_ON_ERROR=0
Batalkan komentar dan setel fasilitas log jika Anda ingin menggunakan syslog.
USE_SYSLOG=authpriv.warning
Secara default, item yang masuk daftar putih akan melaporkan ok pada pengujian, jika Anda ingin menyorot item yang masuk daftar putih, Anda harus menyetel opsi ini ke 1.
WHITELISTED_IS_WHITE=0
Opsi Sistem Operasi
Setel opsi pengelola paket ke RPM pada sistem seperti Red Hat, yang menyertakan CentOS.
PKGMGR=RPM
Aktifkan ini untuk melaporkan peringatan saat sistem operasi mengubah versi/rilis.
WARN_ON_OS_CHANGE
Haruskah kita memperbarui database kita ketika sistem operasi berubah?
UPDT_ON_OS_CHANGE
Di mana menemukan file rilis sistem operasi, setel ke /etc/redhat-release di CentOS.
OS_VERSION_FILE=/etc/redhat-release
Mengunci
Jika Anda mungkin menjalankan lebih dari satu rkhunter secara bersamaan, Anda harus mengaktifkan opsi ini untuk mengaktifkan penggunaan file kunci dan menghindari kerusakan basis data.
USE_LOCKING=0
Jika Anda mengaktifkan penggunaan kunci, Anda harus menyetel batas waktu untuk menghindari kebuntuan.
LOCK_TIMEOUT
Haruskah kita memperingatkan tentang sesi terkunci?
SHOW_LOCK_MSGS
Startup dan Superdeamon
Di mana file konfigurasi inetd.
INETD_CONF_PATH=/etc/inetd.conf
Layanan mana yang diizinkan untuk dijalankan melalui inetd.
INETD_ALLOWED_SVC=/usr/sbin/rpc.metad /usr/sbin/rpc.metamhd
File konfigurasi Xinetd.
XINETD_CONF_PATH=/etc/xinetd.conf
Jalur file startup RC.
STARTUP_PATHS=/etc/rc.d /etc/rc.local
Akun
File yang berisi sandi yang dibayangi.
PASSWORD_FILE=/etc/shadow
Izinkan akun pengguna selain root untuk memiliki UID 0.
UID0_ACCOUNTS=toor rooty
Izinkan akun tanpa sandi.
PWDLESS_ACCOUNTS=abc
Syslog
File konfigurasi Syslog.
SYSLOG_CONFIG_FILE=/etc/syslog.conf
Izinkan syslog untuk login dari jarak jauh.
ALLOW_SYSLOG_REMOTE_LOGGING=0
Laporan
Laporkan jumlah peringatan?
SHOW_SUMMARY_WARNINGS_NUMBER
Tunjukkan total waktu yang dibutuhkan untuk menjalankan tes?
SHOW_SUMMARY_TIME
Untuk menerima laporan email saat rkhunter menemukan sesuatu, Anda harus mengatur opsi berikut serta memiliki aplikasi email.
Siapa yang akan menerima email.
[email protected]
Perintah mana yang digunakan untuk mengirim email.
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
Menjalankan rkhunter
Oke, pada titik ini Anda seharusnya sudah menjalankan rkhunter setidaknya sekali, sekarang lihat beberapa flag lain yang dapat digunakan dengan rkhunter.
Periksa Perubahan Anda
Setelah Anda selesai dengan konfigurasi, jalankan rkhunter dengan -C atau --check-config tandai untuk memeriksa kesalahan dalam file.
rkhunter -C
Pembaruan Properti
Sekarang, dan setiap kali Anda mengubah file konfigurasi, pastikan untuk memperbarui database properti file.
rkhunter --propupd
Laporkan Peringatan Saja.
rkhunter --rwo
Terkadang Anda hanya ingin menjalankan pengujian tertentu, untuk ini coba --daftar pengujian untuk mendapatkan nama tes yang tersedia lalu gunakan --enable bendera diikuti dengan nama tes.
rkhunter --list tests
Opsi berikut akan menonaktifkan prompt tekan tombol.
rkhunter --sk
Untuk menjalankan rkhunter pada cronjob gunakan --cronjob tandai, buat file yang dapat dieksekusi /etc/cron.daily/rkhunter.sh dengan konten berikut untuk melakukan pemeriksaan harian
#!/bin/sh
( /usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob -c ) >> /dev/null 2>&1
Kesimpulan
Ini akan membantu Anda memulai rkhunter, memberi Anda satu lapisan keamanan lagi, namun ini tidak akan cukup jika Anda mengabaikan prinsip-prinsip keamanan dasar serta jika Anda menempatkan setiap peringatan yang Anda temui di daftar putih alih-alih mengurangi masalah. Juga perlu diingat bahwa rkhunter akan membantu Anda untuk mencegah mesin Anda menjadi anggota botnet Linux tetapi tidak akan melindungi situs Anda dari target kampanye DDoS. Terima kasih telah membaca!