Linux Forensics
Χρησιμοποιήστε Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας. Αποκτήστε πρόσβαση σήμερα:
Αρχική Συλλογή Πληροφοριών
Βασικές Πληροφορίες
Καταρχάς, συνιστάται να έχετε ένα USB με καλά γνωστά δυαδικά και βιβλιοθήκες (μπορείτε απλά να πάρετε το ubuntu και να αντιγράψετε τους φακέλους /bin, /sbin, /lib, και /lib64), στη συνέχεια να τοποθετήσετε το USB και να τροποποιήσετε τις μεταβλητές περιβάλλοντος για να χρησιμοποιήσετε αυτά τα δυαδικά:
Μόλις έχετε ρυθμίσει το σύστημα για χρήση καλών και γνωστών δυαδικών αρχείων, μπορείτε να ξεκινήσετε την εξαγωγή κάποιων βασικών πληροφοριών:
Υπούλες πληροφορίες
Κατά την απόκτηση των βασικών πληροφοριών, πρέπει να ελέγξετε για περίεργα πράγματα όπως:
Διεργασίες ρίζας συνήθως τρέχουν με χαμηλά PIDS, οπότε αν βρείτε μια διεργασία ρίζας με ένα μεγάλο PID μπορείτε να υποψιαστείτε
Ελέγξτε τις εγγεγραμμένες συνδέσεις χρηστών χωρίς κέλυφος μέσα στο
/etc/passwd
Ελέγξτε τις κατακερματισμένες κωδικοποιήσεις μέσα στο
/etc/shadow
για χρήστες χωρίς κέλυφος
Ανάκτηση Αναμνηστικού
Για να αποκτήσετε τη μνήμη του λειτουργικού συστήματος που τρέχει, συνιστάται να χρησιμοποιήσετε το LiME. Για να το μεταγλωτίσετε, πρέπει να χρησιμοποιήσετε το ίδιο πυρήνα που χρησιμοποιεί η μηχανή θύματος.
Να θυμάστε ότι δεν μπορείτε να εγκαταστήσετε το LiME ή οτιδήποτε άλλο στη μηχανή θύματος καθώς θα προκαλέσει πολλές αλλαγές σε αυτήν
Έτσι, αν έχετε μια ταυτόσημη έκδοση του Ubuntu μπορείτε να χρησιμοποιήσετε apt-get install lime-forensics-dkms
Σε άλλες περιπτώσεις, πρέπει να κατεβάσετε το LiME από το github και να το μεταγλωτίσετε με τις σωστές κεφαλίδες πυρήνα. Για να ανακτήσετε τις ακριβείς κεφαλίδες πυρήνα της μηχανής θύματος, μπορείτε απλά να αντιγράψετε τον κατάλογο /lib/modules/<έκδοση πυρήνα>
στη μηχανή σας, και στη συνέχεια να μεταγλωτίσετε το LiME χρησιμοποιώντας αυτές:
LiME υποστηρίζει 3 μορφές:
Raw (κάθε τμήμα συνενωμένο μαζί)
Padded (ίδιο με το raw, αλλά με μηδενικά στα δεξιά bits)
Lime (συνιστώμενη μορφή με μεταδεδομένα)
Το LiME μπορεί επίσης να χρησιμοποιηθεί για να στείλει την αντιγραφή μέσω δικτύου αντί να την αποθηκεύσει στο σύστημα χρησιμοποιώντας κάτι σαν: path=tcp:4444
Δημιουργία εικόνας δίσκου
Απενεργοποίηση
Καταρχάς, θα πρέπει να απενεργοποιήσετε το σύστημα. Αυτό δεν είναι πάντα μια επιλογή καθώς μερικές φορές το σύστημα θα είναι ένας διακομιστής παραγωγής που η εταιρεία δεν μπορεί να επιτρέψει να τεθεί εκτός λειτουργίας.
Υπάρχουν 2 τρόποι απενεργοποίησης του συστήματος, μια κανονική απενεργοποίηση και μια απενεργοποίηση με "αποσύνδεση του φις". Ο πρώτος θα επιτρέψει στις διεργασίες να τερματιστούν όπως συνήθως και το σύστημα αρχείων να συγχρονιστεί, αλλά θα επιτρέψει επίσης στο πιθανό κακόβουλο λογισμικό να καταστρέψει αποδεικτικά στοιχεία. Η προσέγγιση "αποσύνδεση του φις" μπορεί να συνεπάγεται κάποια απώλεια πληροφοριών (δεν θα χαθεί πολύ από τις πληροφορίες καθώς έχουμε ήδη λάβει μια εικόνα της μνήμης) και το κακόβουλο λογισμικό δεν θα έχει καμία ευκαιρία να κάνει κάτι γι' αυτό. Επομένως, αν υποψιάζεστε ότι μπορεί να υπάρχει κακόβουλο λογισμικό, απλά εκτελέστε την εντολή sync
στο σύστημα και αποσυνδέστε το φις.
Λήψη εικόνας του δίσκου
Είναι σημαντικό να σημειώσετε ότι πριν συνδέσετε τον υπολογιστή σας σε οτιδήποτε σχετίζεται με την υπόθεση, πρέπει να είστε σίγουροι ότι θα τοποθετηθεί ως μόνο για ανάγνωση για να αποφύγετε την τροποποίηση οποιασδήποτε πληροφορίας.
Προανάλυση εικόνας δίσκου
Εικονική αντιγραφή ενός δίσκου με καμία επιπλέον δεδομένα.
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της παγκόσμιας κοινότητας. Αποκτήστε πρόσβαση σήμερα:
Αναζήτηση γνωστού Malware
Τροποποιημένα Αρχεία Συστήματος
Το Linux προσφέρει εργαλεία για τη διασφάλιση της ακεραιότητας των συστατικών του συστήματος, το οποίο είναι κρίσιμο για τον εντοπισμό ενδεχόμενα προβληματικών αρχείων.
Συστήματα βασισμένα σε RedHat: Χρησιμοποιήστε την εντολή
rpm -Va
για μια συνολική έλεγχο.Συστήματα βασισμένα σε Debian:
dpkg --verify
για αρχικό έλεγχο, ακολουθούμενο απόdebsums | grep -v "OK$"
(μετά την εγκατάσταση τουdebsums
μεapt-get install debsums
) για τον εντοπισμό οποιωνδήποτε προβλημάτων.
Εργαλεία Εντοπισμού Malware/Rootkit
Διαβάστε την παρακάτω σελίδα για να μάθετε για εργαλεία που μπορεί να είναι χρήσιμα για τον εντοπισμό malware:
pageMalware AnalysisΑναζήτηση εγκατεστημένων προγραμμάτων
Για να αναζητήσετε αποτελεσματικά εγκατεστημένα προγράμματα τόσο σε συστήματα Debian όσο και RedHat, σκεφτείτε να εκμεταλλευτείτε τα αρχεία καταγραφής συστήματος και τις βάσεις δεδομένων σε συνδυασμό με χειροκίνητους ελέγχους σε κοινούς καταλόγους.
Για το Debian, ελέγξτε τα
/var/lib/dpkg/status
και/var/log/dpkg.log
για λεπτομέρειες σχετικά με τις εγκαταστάσεις πακέτων, χρησιμοποιώντας τοgrep
για να φιλτράρετε συγκεκριμένες πληροφορίες.Οι χρήστες RedHat μπορούν να ερευνήσουν τη βάση δεδομένων RPM με την εντολή
rpm -qa --root=/mntpath/var/lib/rpm
για να καταχωρήσουν τα εγκατεστημένα πακέτα.
Για να ανακαλύψετε λογισμικό που έχει εγκατασταθεί χειροκίνητα ή εκτός αυτών των διαχειριστών πακέτων, εξετάστε καταλόγους όπως /usr/local
, /opt
, /usr/sbin
, /usr/bin
, /bin
και /sbin
. Συνδυάστε τις λίστες καταλόγων με εντολές ειδικές για το σύστημα για να εντοπίσετε εκτελέσιμα που δεν σχετίζονται με γνωστά πακέτα, ενισχύοντας έτσι την αναζήτησή σας για όλα τα εγκατεστημένα προγράμματα.
Χρησιμοποιήστε Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με την υποστήριξη των πιο προηγμένων εργαλείων της κοινότητας. Αποκτήστε πρόσβαση σήμερα:
Ανάκτηση Διαγραμμένων Εκτελέσιμων Αρχείων
Φανταστείτε ένα διεργασία που εκτελέστηκε από το /tmp/exec και στη συνέχεια διαγράφηκε. Είναι δυνατόν να το εξάγετε
Επιθεώρηση τοποθεσιών εκκίνησης αυτόματης εκκίνησης
Προγραμματισμένες εργασίες
Υπηρεσίες
Διαδρομές όπου μια κακόβουλη εφαρμογή θα μπορούσε να εγκατασταθεί ως υπηρεσία:
/etc/inittab: Καλεί σενάρια εκκίνησης όπως το rc.sysinit, καθοδηγώντας προς περαιτέρω σενάρια εκκίνησης.
/etc/rc.d/ και /etc/rc.boot/: Περιέχουν σενάρια για την εκκίνηση υπηρεσιών, με το δεύτερο να βρίσκεται σε παλαιότερες εκδόσεις Linux.
/etc/init.d/: Χρησιμοποιείται σε συγκεκριμένες εκδόσεις Linux όπως το Debian για την αποθήκευση σεναρίων εκκίνησης.
Οι υπηρεσίες μπορεί επίσης να ενεργοποιηθούν μέσω /etc/inetd.conf ή /etc/xinetd/, ανάλογα με την εκδοχή του Linux.
/etc/systemd/system: Ένας κατάλογος για σενάρια συστήματος και διαχείρισης υπηρεσιών.
/etc/systemd/system/multi-user.target.wants/: Περιέχει συνδέσμους προς υπηρεσίες που πρέπει να ξεκινήσουν σε ένα επίπεδο εκτέλεσης πολλών χρηστών.
/usr/local/etc/rc.d/: Για προσαρμοσμένες ή υπηρεσίες τρίτων.
~/.config/autostart/: Για εφαρμογές εκκίνησης που είναι συγκεκριμένες στον χρήστη, οι οποίες μπορεί να αποτελούν κρυψώνα για κακόβουλο λογισμικό που στοχεύει τον χρήστη.
/lib/systemd/system/: Αρχεία μονάδας προεπιλογής για ολόκληρο το σύστημα που παρέχονται από εγκατεστημένα πακέτα.
Πυρήνας Προγραμμάτων
Οι πυρήνες Linux, που συχνά χρησιμοποιούνται από κακόβουλο λογισμικό ως στοιχεία rootkit, φορτώνονται κατά την εκκίνηση του συστήματος. Οι κατάλογοι και τα αρχεία που είναι κρίσιμα για αυτούς τους πυρήνες περιλαμβάνουν:
/lib/modules/$(uname -r): Κρατά πυρήνες για την τρέχουσα έκδοση του πυρήνα.
/etc/modprobe.d: Περιέχει αρχεία ρύθμισης για τον έλεγχο της φόρτωσης του πυρήνα.
/etc/modprobe και /etc/modprobe.conf: Αρχεία για γενικές ρυθμίσεις πυρήνα.
Άλλες Τοποθεσίες Αυτόματης Εκκίνησης
Το Linux χρησιμοποιεί διάφορα αρχεία για την αυτόματη εκτέλεση προγραμμάτων κατά την σύνδεση του χρήστη, πιθανώς κρύβοντας κακόβουλο λογισμικό:
/etc/profile.d/*, /etc/profile, και /etc/bash.bashrc: Εκτελούνται για κάθε σύνδεση χρήστη.
~/.bashrc, ~/.bash_profile, ~/.profile, και ~/.config/autostart: Αρχεία που αφορούν συγκεκριμένους χρήστες και εκτελούνται κατά τη σύνδεσή τους.
/etc/rc.local: Εκτελείται μετά την εκκίνηση όλων των υπηρεσιών συστήματος, σηματοδοτώντας το τέλος της μετάβασης σε ένα πολλαπλών χρηστών περιβάλλον.
Εξέταση Αρχείων Καταγραφής
Τα συστήματα Linux καταγράφουν τις δραστηριότητες των χρηστών και τα συμβάντα του συστήματος μέσω διαφόρων αρχείων καταγραφής. Αυτά τα αρχεία καταγραφής είναι κρίσιμα για την αναγνώριση μη εξουσιοδοτημένης πρόσβασης, μολύνσεις από κακόβουλο λογισμικό και άλλα περιστατικά ασφάλειας. Κύρια αρχεία καταγραφής περιλαμβάνουν:
/var/log/syslog (Debian) ή /var/log/messages (RedHat): Καταγράφουν μηνύματα και δραστηριότητες σε επίπεδο συστήματος.
/var/log/auth.log (Debian) ή /var/log/secure (RedHat): Καταγράφουν προσπάθειες πιστοποίησης, επιτυχείς και αποτυχημένες συνδέσεις.
Χρησιμοποιήστε την εντολή
grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log
για να φιλτράρετε σχετικά γεγονότα πιστοποίησης./var/log/boot.log: Περιέχει μηνύματα εκκίνησης συστήματος.
/var/log/maillog ή /var/log/mail.log: Καταγράφουν δραστηριότητες διακομιστή email, χρήσιμα για την παρακολούθηση υπηρεσιών σχετικών με email.
/var/log/kern.log: Αποθηκεύει μηνύματα πυρήνα, συμπεριλαμβανομένων σφαλμάτων και προειδοποιήσεων.
/var/log/dmesg: Κρατά μηνύματα οδηγού συσκευής.
/var/log/faillog: Καταγράφει αποτυχημένες προσπάθειες σύνδεσης, βοηθώντας στην έρευνα παραβίασης ασφάλειας.
/var/log/cron: Καταγράφει τις εκτελέσεις των εργασιών cron.
/var/log/daemon.log: Καταγράφει τις δραστηριότητες υπηρεσιών φόντου.
/var/log/btmp: Τεκμηριώνει αποτυχημένες προσπάθειες σύνδεσης.
/var/log/httpd/: Περιέχει αρχεία καταγραφής σφαλμάτων και πρόσβασης του Apache HTTPD.
/var/log/mysqld.log ή /var/log/mysql.log: Καταγράφουν δραστηριότητες βάσης δεδομένων MySQL.
/var/log/xferlog: Καταγράφει μεταφορές αρχείων FTP.
/var/log/: Πάντα ελέγξτε για απροσδόκητα αρχεία καταγραφής εδώ.
Τα αρχεία καταγραφής συστήματος και τα υποσυστήματα ελέγχου ενδέχεται να είναι απενεργοποιημένα ή διαγραμμένα σε περίπτωση διείσδυσης ή περιστατικού κακόβουλου λογισμικού. Διότι τα αρχεία καταγραφής σε συστήματα Linux συνήθως περιέχουν μερικές από τις πιο χρήσιμες πληροφορίες σχετικά με κακόβουλες δραστηριότητες, οι εισβολείς τα διαγράφουν συστηματικά. Επομένως, κατά την εξέταση των διαθέσιμων αρχείων καταγραφής, είναι σημαντικό να εξετάζετε για κενά ή μη συνεκτικές καταχωρήσεις που μπορεί να είναι ένδειξη διαγραφής ή παρεμβολής.
Το Linux διατηρεί μια ιστορία εντολών για κάθε χρήστη, αποθηκευμένη σε:
~/.bash_history
~/.zsh_history
~/.zsh_sessions/*
~/.python_history
~/.*_history
Επιπλέον, η εντολή last -Faiwx
παρέχει μια λίστα με τις συνδέσεις χρηστών. Ελέγξτε τη για άγνωστες ή απροσδόκητες συνδέσεις.
Ελέγξτε αρχεία που μπορούν να παραχωρήσουν επιπλέον δικαιώματα:
Εξετάστε το
/etc/sudoers
για απροσδόκητα δικαιώματα χρήστη που ενδεχομένως έχουν χορηγηθεί.Εξετάστε το
/etc/sudoers.d/
για απροσδόκητα δικαιώματα χρήστη που ενδεχομένως έχουν χορηγηθεί.Εξετάστε το
/etc/groups
για την αναγνώριση οποιωνδήποτε ασυνήθιστων μελών ομάδας ή δικαιωμάτων.Εξετάστε το
/etc/passwd
για την αναγνώριση οποιωνδήποτε ασυνήθιστων μελ
Παραδείγματα
Περισσότερα παραδείγματα και πληροφορίες μέσα στο github: https://github.com/snovvcrash/usbrip
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τη χρήση των πιο προηγμένων εργαλείων της κοινότητας. Αποκτήστε πρόσβαση σήμερα:
Αναθεώρηση Λογαριασμών Χρηστών και Δραστηριοτήτων Σύνδεσης
Εξετάστε τα /etc/passwd, /etc/shadow και αρχεία καταγραφής ασφάλειας για ασυνήθιστα ονόματα ή λογαριασμούς που δημιουργήθηκαν ή χρησιμοποιήθηκαν κοντά σε γνωστά μη εξουσιοδοτημένα γεγονότα. Επίσης, ελέγξτε πιθανές επιθέσεις sudo brute-force. Επιπλέον, ελέγξτε αρχεία όπως τα /etc/sudoers και /etc/groups για απροσδόκητα προνόμια που δίνονται σε χρήστες. Τέλος, αναζητήστε λογαριασμούς με καμία κωδικό ή εύκολα μαντεψιά κωδικού.
Εξέταση του Συστήματος Αρχείων
Ανάλυση Δομών του Συστήματος Αρχείων στην Έρευνα Κακόβουλου Λογισμικού
Κατά τη διερεύνηση περιστατικών κακόβουλου λογισμικού, η δομή του συστήματος αρχείων αποτελεί μια κρίσιμη πηγή πληροφοριών, αποκαλύπτοντας τόσο τη σειρά των γεγονότων όσο και το περιεχόμενο του κακόβουλου λογισμικού. Ωστόσο, οι συγγραφείς κακόβουλου λογισμικού αναπτύσσουν τεχνικές για να δυσκολέψουν αυτήν την ανάλυση, όπως η τροποποίηση των χρονοσημάτων των αρχείων ή η αποφυγή του συστήματος αρχείων για την αποθήκευση δεδομένων.
Για να αντιμετωπιστούν αυτές οι αντι-δαντικές μεθόδοι, είναι απαραίτητο να:
Πραγματοποιήσετε μια λεπτομερή ανάλυση χρονολογίου χρησιμοποιώντας εργαλεία όπως το Autopsy για την οπτικοποίηση των χρονολογιών γεγονότων ή το
mactime
του Sleuth Kit για λεπτομερείς δεδομένα χρονολογίου.Εξετάσετε απροσδόκητα scripts στο $PATH του συστήματος, τα οποία ενδέχεται να περιλαμβάνουν scripts κελύφους ή PHP που χρησιμοποιούν οι επιτιθέμενοι.
Εξετάσετε τον κατάλογο
/dev
για ατυπικά αρχεία, καθώς παραδοσιακά περιέχει ειδικά αρχεία, αλλά ενδέχεται να περιέχει αρχεία που σχετίζονται με κακόβουλο λογισμικό.Αναζητήστε κρυφά αρχεία ή καταλόγους με ονόματα όπως ".. " (τελεία τελεία κενό) ή "..^G" (τελεία τελεία control-G), τα οποία θα μπορούσαν να κρύψουν κακόβουλο περιεχόμενο.
Αναγνωρίστε αρχεία setuid root χρησιμοποιώντας την εντολή:
find / -user root -perm -04000 -print
Αυτό εντοπίζει αρχεία με επιβεβαιωμένες άδειες, τα οποία θα μπορούσαν να καταχραστούνται από επιτιθέμενους.Ελέγξτε τα χρονοσήματα διαγραφής στους πίνακες inode για να εντοπίσετε μαζικές διαγραφές αρχείων, που ενδεχομένως υποδηλώνουν την παρουσία ρουτκιτς ή τροίαν.
Επιθεωρήστε συνεχόμενα inodes για κοντινά κακόβουλα αρχεία μετά την εντοπισμό ενός, καθώς ενδέχεται να έχουν τοποθετηθεί μαζί.
Ελέγξτε τους κοινούς καταλόγους δυαδικών αρχείων (/bin, /sbin) για πρόσφατα τροποποιημένα αρχεία, καθώς αυτά θα μπορούσαν να έχουν τροποποιηθεί από κακόβουλο λογισμικό.
Σημειώστε ότι ένας εισβολέας μπορεί να τροποποιήσει το χρόνο για να κάνει τα αρχεία να φαίνονται νόμιμα, αλλά δεν μπορεί να τροποποιήσει το inode. Εάν ανακαλύψετε ότι ένα αρχείο υποδηλώνει ότι δημιουργήθηκε και τροποποιήθηκε την ίδια ώρα με τα υπόλοιπα αρχεία στον ίδιο φάκελο, αλλά το inode είναι απροσδόκητα μεγαλύτερο, τότε οι χρονοσφραγίδες του αρχείου αυτού τροποποιήθηκαν.
Σύγκριση αρχείων διαφορετικών εκδόσεων συστήματος αρχείων
Περίληψη Σύγκρισης Εκδόσεων Συστήματος Αρχείων
Για να συγκρίνουμε εκδόσεις συστημάτων αρχείων και να εντοπίσουμε τις αλλαγές, χρησιμοποιούμε απλοποιημένες εντολές git diff
:
Για να βρείτε νέα αρχεία, συγκρίνετε δύο καταλόγους:
Για τροποποιημένο περιεχόμενο, καταγράψτε τις αλλαγές αγνοώντας συγκεκριμένες γραμμές:
Ανίχνευση διαγραμμένων αρχείων:
Επιλογές φίλτρου (
--diff-filter
) βοηθούν στον περιορισμό σε συγκεκριμένες αλλαγές όπως προστιθέμενα (A
), διαγραμμένα (D
), ή τροποποιημένα (M
) αρχεία.A
: Προστιθέμενα αρχείαC
: Αντιγραμμένα αρχείαD
: Διαγραμμένα αρχείαM
: Τροποποιημένα αρχείαR
: Μετονομασμένα αρχείαT
: Αλλαγές τύπου (π.χ., αρχείο σε σύμβολο σύνδεσης)U
: Μη συγχωνευμένα αρχείαX
: Άγνωστα αρχείαB
: Κατεστραμμένα αρχεία
Αναφορές
Βιβλίο: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides
Χρησιμοποιήστε το Trickest για να δημιουργήσετε και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας. Αποκτήστε πρόσβαση σήμερα:
Last updated