Ειδικοί στην κυβερνοασφάλεια εντόπισαν ένα επιβλαβές πακέτο στο Python Package Index (PyPI) repository, το οποίο παρουσιάζεται παραπλανητικά ως ένα απλό εργαλείο που σχετίζεται με το Discord, αλλά στην πραγματικότητα κρύβει ένα remote access trojan (malware για απομακρυσμένη πρόσβαση).

Το ύποπτο πακέτο φέρει την ονομασία discordpydebug και ανέβηκε στο PyPI στις 21 Μαρτίου 2022. Παρότι δεν έχει δεχτεί καμία αναβάθμιση από τότε, έχει ήδη ληφθεί περισσότερες από 11.500 φορές και παραμένει διαθέσιμο.
Σύμφωνα με το Socket Research Team, το πακέτο φαίνεται με την πρώτη ματιά να είναι ένα αβλαβές εργαλείο για προγραμματιστές που αναπτύσσουν Discord bots με την βιβλιοθήκη Discord.py. Ωστόσο, κάτω από αυτή την κάλυψη κρύβεται ένα πλήρως λειτουργικό Trojan απομακρυσμένου ελέγχου (RAT).
Δείτε επίσης: Τα κακόβουλα πακέτα PyPI κάνουν κατάχρηση του Gmail
Μόλις εγκατασταθεί, το πακέτο συνδέεται με έναν απομακρυσμένο server (backstabprotection.jamesx123.repl[.]co) και μπορεί να εκτελεί εντολές που του επιτρέπουν να διαβάζει ή να τροποποιεί αρχεία στον υπολογιστή του χρήστη. Υποστηρίζει επίσης την εκτέλεση shell commands.
Αυτό σημαίνει ότι ο κακόβουλος κώδικας μπορεί να υποκλέψει ευαίσθητες πληροφορίες (όπως tokens, credentials ή αρχεία ρυθμίσεων), να τροποποιήσει ή να διαγράψει δεδομένα, να κατεβάσει επιπλέον κακόβουλο υλικό ή να εκτελέσει εντολές για τη συλλογή πληροφοριών από το σύστημα.
Παρότι το malware δεν περιλαμβάνει σύνθετες λειτουργίες όπως persistence ή privilege escalation, η απλότητά του το καθιστά εξαιρετικά επικίνδυνο. Η χρήση εξερχόμενων HTTP αιτημάτων —αντί για εισερχόμενες συνδέσεις— του επιτρέπει να διαφεύγει της προσοχής των firewalls και των εργαλείων ασφαλείας, ειδικά σε περιβάλλοντα ανάπτυξης με χαμηλότερα επίπεδα προστασίας.
Αξίζει να σημειωθεί ότι πρόσφατα είχαν εντοπιστεί και πάνω από 45 npm packages, τα οποία εμφανίζονταν σαν αυθεντικές βιβλιοθήκες, διαθέσιμες σε άλλα γνωστά οικοσυστήματα προγραμματισμού. Ο στόχος είναι να ξεγελάσουν ανυποψίαστους developers ώστε να τα εγκαταστήσουν, νομίζοντας ότι πρόκειται για νόμιμα εργαλεία.
Δείτε επίσης: Κακόβουλο πακέτο PyPI επιτίθεται σε sites ηλεκτρονικού εμπορίου
Ορισμένα χαρακτηριστικά παραδείγματα είναι:
- beautifulsoup4 (typosquat του BeautifulSoup4 Python library)
- apache-httpclient (typosquat του Apache HttpClient Java library)
- opentk (typosquat του OpenTK .NET library)
- seaborn (typosquat του Seaborn Python library)
Αν και τα πακέτα αυτά παρουσιάζονται με διαφορετικά ονόματα και διαφορετικούς υπεύθυνους συντήρησης, έχουν κοινή υποδομή, χρησιμοποιούν όμοια payloads και τελικά επικοινωνούν με την ίδια IP διεύθυνση. Αυτό υποδηλώνει ότι πιθανόν αποτελούν μέρος συντονισμένης επίθεσης από έναν και μόνο φορέα απειλής.
Σύμφωνα με την ομάδα ασφάλειας Socket, όλα αυτά τα πακέτα περιέχουν σκόπιμα obfuscated κώδικα που έχει σχεδιαστεί για να παρακάμπτει μηχανισμούς ασφαλείας, να εκτελεί κακόβουλες εντολές, να συλλέγει ευαίσθητες πληροφορίες από τα συστήματα.

Προστασία
Για προστασία από την παραπάνω απειλή, είναι απαραίτητη η λήψη κάποιων μέτρων:
1. Χρήση ψηφιακών υπογραφών και ελέγχου ακεραιότητας:
- Επιλέξτε μόνο βιβλιοθήκες που έχουν υπογραφεί ψηφιακά και επιβεβαιώστε την ακεραιότητα τους μέσω των εργαλείων που παρέχουν οι πλατφόρμες όπως το npm ή το PyPI. Αυτό εξασφαλίζει ότι το πακέτο δεν έχει τροποποιηθεί.
- Βεβαιωθείτε ότι το πακέτο προέρχεται από αξιόπιστους προγραμματιστές και ότι είναι ενημερωμένο.
2. Έλεγχος του κώδικα πριν την εγκατάσταση:
- Εξετάστε τον κώδικα του πακέτου που σκοπεύετε να εγκαταστήσετε, ιδιαίτερα αν είναι νέος ή αν προέρχεται από άγνωστο προγραμματιστή. Το GitHub ή το GitLab μπορεί να είναι χρήσιμα για να ελέγξετε το ιστορικό του project και τις τροποποιήσεις.
- Για πακέτα που χρησιμοποιούν «obfuscation», η ανάλυση του κώδικα μπορεί να αποκαλύψει κακόβουλες ενέργειες, όπως επικοινωνία με εξωτερικούς διακομιστές.
3. Αξιολόγηση και έλεγχος του ιστορικού του πακέτου:
- Πριν την εγκατάσταση ενός πακέτου, ελέγξτε το ιστορικό των συντηρητών του, τις προηγούμενες εκδόσεις και τα σχόλια της κοινότητας. Πακέτα που δεν έχουν ενημερωθεί για μεγάλο χρονικό διάστημα ή δεν έχουν καμία ενεργή υποστήριξη μπορεί να είναι πιο επικίνδυνα.
4. Χρήση εργαλείων παρακολούθησης και ανίχνευσης κακόβουλου λογισμικού:
- Χρησιμοποιήστε εργαλεία ανίχνευσης κακόβουλου λογισμικού και παρακολούθησης του δικτύου για να εντοπίσετε αν το πακέτο επικοινωνεί με ύποπτες εξωτερικές IP διευθύνσεις ή εκτελεί μη εξουσιοδοτημένες ενέργειες.
- Εφαρμόστε εργαλεία που ενσωματώνουν αναλύσεις για την αναγνώριση κακόβουλων προτύπων (π.χ. Sonatype Nexus, Snyk, Dependabot).
Δείτε επίσης: Πρόγραμμα κλοπής ιδιωτικών κλειδιών Ethereum στο PyPI έχει ληφθεί πάνω από 1.000 φορές
5. Αναβάθμιση και παρακολούθηση functions:
- Χρησιμοποιείτε εργαλεία διαχείρισης εξαρτήσεων για να παρακολουθείτε γνωστές ευπάθειες σε βιβλιοθήκες.
- Ενημερώνετε τακτικά τις εξαρτήσεις σας για να έχετε τις τελευταίες διορθώσεις ασφαλείας και αποφεύγετε να χρησιμοποιείτε πακέτα που δεν έχουν αναβαθμίσεις για μεγάλο χρονικό διάστημα.
6. Εφαρμογή περιορισμών πρόσβασης:
- Μην εκχωρείτε υπερβολικά δικαιώματα στα έργα ή τα περιβάλλοντα ανάπτυξης. Περιορίστε την πρόσβαση σε ευαίσθητα δεδομένα και αρχεία και εφαρμόστε την αρχή του «ελάχιστου δικαιώματος».
- Η χρήση απομονωμένων περιβαλλόντων (π.χ. Docker ή virtual environments) για την ανάπτυξη μπορεί να μειώσει την επίδραση οποιασδήποτε κακόβουλης δραστηριότητας.
7. Εκπαίδευση των προγραμματιστών:
- Εκπαιδεύστε την ομάδα σας στην αναγνώριση πιθανών κινδύνων από typosquats και άλλες τεχνικές κοινωνικής μηχανικής.
- Ενημερώστε τους προγραμματιστές για τη σημασία της επιλογής αξιόπιστων βιβλιοθηκών.
Πηγή: thehackernews.com