Μια ομάδα hacking APT γνωστή ως “Dragon Breath”, “Golden Eye Dog” ή “APT-Q-27” επιδεικνύει μια νέα τάση που χρησιμοποιεί διάφορες πολύπλοκες παραλλαγές της κλασικής τεχνικής DLL sideloading για να αποφύγει την ανίχνευσή της.
Αυτές οι παραλλαγές επίθεσης ξεκινούν με έναν αρχικό φορέα που αξιοποιεί μια καθαρή εφαρμογή, πιο συχνά το Telegram, η οποία μεταφέρει ένα payload δεύτερου, μερικές φορές καθαρό, το οποίο με τη σειρά του μεταφέρει ένα κακόβουλο λογισμικό DLL.
Το δέλεαρ για τα θύματα είναι οι εφαρμογές Trojanized Telegram, LetsVPN ή WhatsApp για Android, iOS ή Windows που έχουν υποτίθεται εντοπιστεί για άτομα στην Κίνα. Οι trojan εφαρμογές πιστεύεται ότι προωθούνται με τη χρήση BlackSEO ή malvertizing.
Σύμφωνα με τους αναλυτές της Sophos που παρακολουθούσαν τις πρόσφατες επιθέσεις, το πεδίο στόχευσης αυτής της εκστρατείας επικεντρώνεται σε χρήστες των Windows στην Κίνα, την Ιαπωνία, την Ταϊβάν, τη Σιγκαπούρη, το Χονγκ Κονγκ και τις Φιλιππίνες.
Double DLL sideloading
Το DLL sideloading είναι μια τεχνική που εκμεταλλεύονται οι επιτιθέμενοι από το 2010, εκμεταλλευόμενοι τον τρόπο με τον οποίο τα Windows φορτώνουν τα αρχεία DLL (Dynamic Link Library) που απαιτούνται από μια εφαρμογή.
Ο επιτιθέμενος τοποθετεί ένα κακόβουλο DLL με το ίδιο όνομα με το νόμιμο, απαιτούμενο DLL στον κατάλογο μιας εφαρμογής. Όταν ο χρήστης εκκινεί το εκτελέσιμο πρόγραμμα, τα Windows δίνουν προτεραιότητα στο τοπικό κακόβουλο DLL έναντι αυτού που βρίσκεται στους φακέλους του συστήματος.
Το DLL του επιτιθέμενου περιέχει κακόβουλο κώδικα που φορτώνεται σε αυτό το σημείο, δίνοντας στον επιτιθέμενο προνόμια ή εκτελώντας εντολές στον κεντρικό υπολογιστή, εκμεταλλευόμενος την αξιόπιστη, υπογεγραμμένη εφαρμογή που το φορτώνει.
Τα θύματα εκτελούν το πρόγραμμα εγκατάστασης των αναφερόμενων εφαρμογών, ο οποίος δημιουργεί μια συντόμευση στην επιφάνεια.
Εάν το θύμα επιχειρήσει να εκκινήσει τη συντόμευση που βρίσκετε στην επιφάνεια εργασίας, που είναι το αναμενόμενο πρώτο βήμα, αντί να εκκινήσει την εφαρμογή, εκτελείται στο σύστημα η ακόλουθη εντολή.
Η εντολή εκτελεί μια έκδοση του ‘regsvr32.exe’ (‘appR.exe’) για να εκτελέσει μια έκδοση του ‘scrobj.dll’ (‘appR.dll’) και παρέχει ένα αρχείο DAT (‘appR.dat’) ως είσοδο. Το DAT περιέχει κώδικα JavaScript για εκτέλεση από τη βιβλιοθήκη της μηχανής εκτέλεσης των scripts(‘appR.dll’).
Ο κώδικας της JavaScript εκκινεί τη διεπαφή του χρήστη της εφαρμογής Telegram στο προσκήνιο, ενώ εγκαθιστά διάφορα στοιχεία παράλληλης φόρτωσης στο παρασκήνιο.
Στη συνέχεια, φορτώνει μια εφαρμογή χρησιμοποιώντας μια καθαρή εξάρτηση (‘libexpat.dll’) για να φορτώσει μια δεύτερη καθαρή εφαρμογή ως ενδιάμεσο στάδιο επίθεσης.
Σε μια παραλλαγή της επίθεσης, η καθαρή εφαρμογή “XLGame.exe” μετονομάζεται σε “Application.exe” και ο φορτωτής είναι επίσης ένα καθαρό εκτελέσιμο αρχείο, υπογεγραμμένο από την Beijing Baidu Netcom Science and Technology Co., Ltd.
Σε μια άλλη παραλλαγή, ο καθαρός φορτωτής είναι το “KingdomTwoCrowns.exe”, το οποίο δεν είναι ψηφιακά υπογεγραμμένο και η Sophos δεν μπόρεσε να προσδιορίσει ποιο πλεονέκτημα προσφέρει εκτός από τη συσκότιση της αλυσίδας εκτέλεσης.
Σε μια τρίτη παραλλαγή της επίθεσης, ο φορτωτής είναι το καθαρό εκτελέσιμο “d3dim9.exe”, ψηφιακά υπογεγραμμένο από την HP Inc.
Το τελικό payload
Σε όλες τις παραλλαγές επίθεσης που παρατηρήθηκαν, το τελικό DLL payload αποκρυπτογραφείται από ένα αρχείο txt (“templateX.txt”) και εκτελείται στο σύστημα.
Αυτό το payload είναι μια κερκόπορτα που υποστηρίζει διάφορες εντολές, όπως επανεκκίνηση συστήματος, τροποποίηση κλειδιών μητρώου, ανάκτηση αρχείων, κλοπή περιεχομένου, εκτέλεση εντολών σε ένα κρυφό παράθυρο CMD και άλλα.
Το backdoor στοχεύει επίσης στην επέκταση MetaMask του Chrome για το πορτοφόλι κρυπτονομισμάτων MetaMask, με στόχο την κλοπή ψηφιακών περιουσιακών στοιχείων από τα θύματα.
Συνοψίζοντας, το DLL sideloading παραμένει μια αποτελεσματική μέθοδος επίθεσης για τους χάκερς και μια μέθοδος που η Microsoft και οι προγραμματιστές απέτυχαν να αντιμετωπίσουν για πάνω από μια δεκαετία.
Στην τελευταία επίθεση APT-Q-27, οι αναλυτές παρατήρησαν παραλλαγές DLL sideloading που είναι δύσκολο να εντοπιστούν.