Πώς να σαρώσετε για Rootkits, backdoors και Exploits χρησιμοποιώντας το Rootkit Hunter στο Linux


Παιδιά, αν είστε τακτικός αναγνώστης του linux-console.net θα παρατηρήσετε ότι αυτό είναι το τρίτο μας άρθρο για τα εργαλεία ασφαλείας. Στα δύο προηγούμενα άρθρα μας, σας δώσαμε όλες τις οδηγίες σχετικά με τον τρόπο προστασίας των Apache και Linux Systems από Κακόβουλο λογισμικό, DOS, και DDOS επιθέσεις με χρήση LMD (Linux Malware Detect).

Και πάλι είμαστε εδώ για να παρουσιάσουμε ένα νέο εργαλείο ασφαλείας που ονομάζεται Rkhunter (Rootkit Hunter). Αυτό το άρθρο θα σας καθοδηγήσει σε έναν τρόπο εγκατάστασης και διαμόρφωσης του RKH (RootKit Hunter) σε συστήματα Linux χρησιμοποιώντας πηγαίο κώδικα.

Τι είναι το Rkhunter;

Το Rkhunter (Rootkit Hunter) είναι ένα εργαλείο σαρωτών ανοιχτού κώδικα που βασίζεται σε Unix/Linux για συστήματα Linux που κυκλοφορεί υπό την GPL και σαρώνει κερκόπορτες, rootkits και τοπικά exploit στα συστήματά σας.

Σαρώνει κρυφά αρχεία, λανθασμένα δικαιώματα που έχουν οριστεί σε δυαδικά αρχεία, ύποπτες συμβολοσειρές στον πυρήνα κ.λπ. Για να μάθετε περισσότερα σχετικά με το Rkhunter και τις δυνατότητές του επισκεφθείτε τη διεύθυνση http://rkhunter.sourceforge.net/.

Εγκαταστήστε το Rootkit Hunter Scanner σε συστήματα Linux

Βήμα 1: Λήψη του Rkhunter

Αρχικά, πραγματοποιήστε λήψη της πιο πρόσφατης σταθερής έκδοσης του εργαλείου Rkhunter μεταβαίνοντας στη διεύθυνση http://rkhunter.sourceforge.net/ ή χρησιμοποιήστε την παρακάτω εντολή Wget για να το κατεβάσετε στα συστήματά σας .

# cd /tmp
# wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz

Βήμα 2: Εγκατάσταση του Rkhunter

Αφού κατεβάσετε την πιο πρόσφατη έκδοση, εκτελέστε τις ακόλουθες εντολές ως χρήστης root για να την εγκαταστήσετε.

# tar -xvf rkhunter-1.4.6.tar.gz 
# cd rkhunter-1.4.6
# ./installer.sh --layout default --install
Δείγμα εξόδου
Checking system for:
 Rootkit Hunter installer files: found
 A web file download command: wget found
Starting installation:
 Checking installation directory "/usr/local": it exists and is writable.
 Checking installation directories:
  Directory /usr/local/share/doc/rkhunter-1.4.2: creating: OK
  Directory /usr/local/share/man/man8: exists and is writable.
  Directory /etc: exists and is writable.
  Directory /usr/local/bin: exists and is writable.
  Directory /usr/local/lib64: exists and is writable.
  Directory /var/lib: exists and is writable.
  Directory /usr/local/lib64/rkhunter/scripts: creating: OK
  Directory /var/lib/rkhunter/db: creating: OK
  Directory /var/lib/rkhunter/tmp: creating: OK
  Directory /var/lib/rkhunter/db/i18n: creating: OK
  Directory /var/lib/rkhunter/db/signatures: creating: OK
 Installing check_modules.pl: OK
 Installing filehashsha.pl: OK
 Installing stat.pl: OK
 Installing readlink.sh: OK
 Installing backdoorports.dat: OK
 Installing mirrors.dat: OK
 Installing programs_bad.dat: OK
 Installing suspscan.dat: OK
 Installing rkhunter.8: OK
 Installing ACKNOWLEDGMENTS: OK
 Installing CHANGELOG: OK
 Installing FAQ: OK
 Installing LICENSE: OK
 Installing README: OK
 Installing language support files: OK
 Installing ClamAV signatures: OK
 Installing rkhunter: OK
 Installing rkhunter.conf: OK
Installation complete

Βήμα 3: Ενημέρωση του Rkhunter

Εκτελέστε το πρόγραμμα ενημέρωσης RKH για να γεμίσετε τις ιδιότητες της βάσης δεδομένων εκτελώντας την ακόλουθη εντολή.

# /usr/local/bin/rkhunter --update
# /usr/local/bin/rkhunter --propupd
Δείγμα εξόδου
[ Rootkit Hunter version 1.4.6 ]

Checking rkhunter data files...
  Checking file mirrors.dat                                  [ Updated ]
  Checking file programs_bad.dat                             [ No update ]
  Checking file backdoorports.dat                            [ No update ]
  Checking file suspscan.dat                                 [ No update ]
  Checking file i18n/cn                                      [ No update ]
  Checking file i18n/de                                      [ No update ]
  Checking file i18n/en                                      [ No update ]
  Checking file i18n/tr                                      [ No update ]
  Checking file i18n/tr.utf8                                 [ No update ]
  Checking file i18n/zh                                      [ No update ]
  Checking file i18n/zh.utf8                                 [ No update ]
  Checking file i18n/ja                                      [ No update ]
File created: searched for 177 files, found 131, missing hashes 1

Βήμα 4: Ρύθμιση ειδοποιήσεων Cronjob και email

Δημιουργήστε ένα αρχείο που ονομάζεται rkhunter.sh στο /etc/cron.daily/, το οποίο στη συνέχεια σαρώνει το σύστημα αρχείων σας κάθε μέρα και στέλνει ειδοποιήσεις μέσω email στο αναγνωριστικό email σας. Δημιουργήστε το παρακάτω αρχείο με τη βοήθεια του αγαπημένου σας επεξεργαστή.

# vi /etc/cron.daily/rkhunter.sh

Προσθέστε τις ακόλουθες γραμμές κώδικα σε αυτό και αντικαταστήστε το YourServerNameHere με το Όνομα διακομιστή και το [email  με το Αναγνωριστικό email.

#!/bin/sh
(
/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s 'rkhunter Daily Run (PutYourServerNameHere)' 

Ορίστε δικαιώματα εκτέλεσης στο αρχείο.

# chmod 755 /etc/cron.daily/rkhunter.sh

Βήμα 5: Μη αυτόματη σάρωση και χρήση

Για να σαρώσετε ολόκληρο το σύστημα αρχείων, εκτελέστε το Rkhunter ως χρήστης root.

# rkhunter --check
Δείγμα εξόδου
[ Rootkit Hunter version 1.4.6 ]

Checking system commands...

  Performing 'strings' command checks
    Checking 'strings' command                               [ OK ]

  Performing 'shared libraries' checks
    Checking for preloading variables                        [ None found ]
    Checking for preloaded libraries                         [ None found ]
    Checking LD_LIBRARY_PATH variable                        [ Not found ]

  Performing file properties checks
    Checking for prerequisites                               [ OK ]
    /usr/local/bin/rkhunter                                  [ OK ]
    /usr/sbin/adduser                                        [ OK ]
    /usr/sbin/chkconfig                                      [ OK ]
    /usr/sbin/chroot                                         [ OK ]
    /usr/sbin/depmod                                         [ OK ]
    /usr/sbin/fsck                                           [ OK ]
    /usr/sbin/fuser                                          [ OK ]
    /usr/sbin/groupadd                                       [ OK ]
    /usr/sbin/groupdel                                       [ OK ]
    /usr/sbin/groupmod                                       [ OK ]
    /usr/sbin/grpck                                          [ OK ]
    /usr/sbin/ifconfig                                       [ OK ]
    /usr/sbin/ifdown                                         [ Warning ]
    /usr/sbin/ifup                                           [ Warning ]
    /usr/sbin/init                                           [ OK ]
    /usr/sbin/insmod                                         [ OK ]
    /usr/sbin/ip                                             [ OK ]
    /usr/sbin/lsmod                                          [ OK ]
    /usr/sbin/lsof                                           [ OK ]
    /usr/sbin/modinfo                                        [ OK ]
    /usr/sbin/modprobe                                       [ OK ]
    /usr/sbin/nologin                                        [ OK ]
    /usr/sbin/pwck                                           [ OK ]
    /usr/sbin/rmmod                                          [ OK ]
    /usr/sbin/route                                          [ OK ]
    /usr/sbin/rsyslogd                                       [ OK ]
    /usr/sbin/runlevel                                       [ OK ]
    /usr/sbin/sestatus                                       [ OK ]
    /usr/sbin/sshd                                           [ OK ]
    /usr/sbin/sulogin                                        [ OK ]
    /usr/sbin/sysctl                                         [ OK ]
    /usr/sbin/tcpd                                           [ OK ]
    /usr/sbin/useradd                                        [ OK ]
    /usr/sbin/userdel                                        [ OK ]
    /usr/sbin/usermod                                        [ OK ]
....
[Press  to continue]


Checking for rootkits...

  Performing check of known rootkit files and directories
    55808 Trojan - Variant A                                 [ Not found ]
    ADM Worm                                                 [ Not found ]
    AjaKit Rootkit                                           [ Not found ]
    Adore Rootkit                                            [ Not found ]
    aPa Kit                                                  [ Not found ]
.....

[Press  to continue]


  Performing additional rootkit checks
    Suckit Rookit additional checks                          [ OK ]
    Checking for possible rootkit files and directories      [ None found ]
    Checking for possible rootkit strings                    [ None found ]

....
[Press  to continue]


Checking the network...

  Performing checks on the network ports
    Checking for backdoor ports                              [ None found ]
....
  Performing system configuration file checks
    Checking for an SSH configuration file                   [ Found ]
    Checking if SSH root access is allowed                   [ Warning ]
    Checking if SSH protocol v1 is allowed                   [ Warning ]
    Checking for a running system logging daemon             [ Found ]
    Checking for a system logging configuration file         [ Found ]
    Checking if syslog remote logging is allowed             [ Not allowed ]
...
System checks summary
=====================

File properties checks...
    Files checked: 137
    Suspect files: 6

Rootkit checks...
    Rootkits checked : 383
    Possible rootkits: 0

Applications checks...
    Applications checked: 5
    Suspect applications: 2

The system checks took: 5 minutes and 38 seconds

All results have been written to the log file: /var/log/rkhunter.log

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Η παραπάνω εντολή δημιουργεί ένα αρχείο καταγραφής στο /var/log/rkhunter.log με τα αποτελέσματα ελέγχου που γίνονται από τον Rkhunter.

# cat /var/log/rkhunter.log
Δείγμα εξόδου
[11:21:04] Running Rootkit Hunter version 1.4.6 on tecmint
[11:21:04]
[11:21:04] Info: Start date is Mon Dec 21 11:21:04 AM IST 2020
[11:21:04]
[11:21:04] Checking configuration file and command-line options...
[11:21:04] Info: Detected operating system is 'Linux'
[11:21:04] Info: Found O/S name: Fedora release 33 (Thirty Three)
[11:21:04] Info: Command line is /usr/local/bin/rkhunter --check
[11:21:04] Info: Environment shell is /bin/bash; rkhunter is using bash
[11:21:04] Info: Using configuration file '/etc/rkhunter.conf'
[11:21:04] Info: Installation directory is '/usr/local'
[11:21:04] Info: Using language 'en'
[11:21:04] Info: Using '/var/lib/rkhunter/db' as the database directory
[11:21:04] Info: Using '/usr/local/lib64/rkhunter/scripts' as the support script directory
[11:21:04] Info: Using '/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /bin /sbin /usr/libexec /usr/local/libexec' as the command directories
[11:21:04] Info: Using '/var/lib/rkhunter/tmp' as the temporary directory
[11:21:04] Info: No mail-on-warning address configured
[11:21:04] Info: X will be automatically detected
[11:21:04] Info: Found the 'basename' command: /usr/bin/basename
[11:21:04] Info: Found the 'diff' command: /usr/bin/diff
[11:21:04] Info: Found the 'dirname' command: /usr/bin/dirname
[11:21:04] Info: Found the 'file' command: /usr/bin/file
[11:21:04] Info: Found the 'find' command: /usr/bin/find
[11:21:04] Info: Found the 'ifconfig' command: /usr/sbin/ifconfig
[11:21:04] Info: Found the 'ip' command: /usr/sbin/ip
[11:21:04] Info: Found the 'ipcs' command: /usr/bin/ipcs
[11:21:04] Info: Found the 'ldd' command: /usr/bin/ldd
[11:21:04] Info: Found the 'lsattr' command: /usr/bin/lsattr
...

Για περισσότερες πληροφορίες και επιλογές, εκτελέστε την παρακάτω εντολή.

# rkhunter --help

Αν σας άρεσε αυτό το άρθρο, τότε η κοινή χρήση είναι ο σωστός τρόπος για να πείτε ευχαριστώ.