Elusive Malware Adventures Part II: Hidden VBA Scripts

Elusive Malware Adventures Part II: Hidden VBA Scripts

Αυτό το άρθρο είναι μέρος της σειράς Fileless Malware. Όλα τα άλλα μέρη της σειράς:

Είμαι θαυμαστής του site υβριδική ανάλυση (υβριδική ανάλυση, εφεξής ΗΑ). Αυτό είναι ένα είδος ζωολογικού κήπου κακόβουλου λογισμικού όπου μπορείτε να παρατηρήσετε με ασφάλεια άγρια ​​"αρπακτικά" από ασφαλή απόσταση χωρίς να σας επιτεθούν. Το HA εκτελεί κακόβουλο λογισμικό σε ασφαλή περιβάλλοντα, καταγράφει κλήσεις συστήματος, αρχεία που δημιουργούνται και κίνηση στο Διαδίκτυο και σας φέρνει όλα αυτά τα αποτελέσματα για κάθε δείγμα που αναλύει. Έτσι, δεν μπορείτε να σπαταλήσετε τον χρόνο και την προσπάθειά σας για να λύσετε μόνοι σας τον συγκεχυμένο κώδικα, αλλά να κατανοήσετε αμέσως όλες τις προθέσεις των χάκερ.

Τα παραδείγματα HA που τράβηξαν την προσοχή μου χρησιμοποιούν κωδικοποιημένα σενάρια JavaScript ή Visual Basic for Applications (VBA) που είναι ενσωματωμένα ως μακροεντολές σε έγγραφα του Word ή του Excel και επισυνάπτονται σε μηνύματα ηλεκτρονικού ψαρέματος (phishing). Όταν ανοίγουν, αυτές οι μακροεντολές ξεκινούν μια περίοδο λειτουργίας PowerShell στον υπολογιστή του θύματος. Οι χάκερ συνήθως στέλνουν μια ροή εντολών με κωδικοποίηση Base64 στο PowerShell. Όλα αυτά γίνονται για να είναι δύσκολο να εντοπιστεί η επίθεση από φίλτρα ιστού και λογισμικό προστασίας από ιούς που ανταποκρίνονται σε ορισμένες λέξεις-κλειδιά.
Ευτυχώς, το HA αποκωδικοποιεί αυτόματα το Base64 και εμφανίζει αμέσως τα πάντα σε αναγνώσιμη μορφή. Ουσιαστικά, δεν χρειάζεται να εστιάσετε στο πώς λειτουργούν αυτά τα σενάρια, γιατί θα μπορείτε να δείτε την πλήρη έξοδο των εντολών για την εκτέλεση διεργασιών στην αντίστοιχη ενότητα HA. Δείτε παράδειγμα παρακάτω:

Elusive Malware Adventures Part II: Hidden VBA Scripts

Η υβριδική ανάλυση παρεμποδίζει τις κωδικοποιημένες εντολές Base64 που αποστέλλονται στο PowerShell:

Elusive Malware Adventures Part II: Hidden VBA Scripts

... και μετά σας τα αποκωδικοποιεί. #μαγικά

В προηγούμενη ανάρτηση Δημιούργησα το δικό μου ελαφρώς μπερδεμένο κοντέινερ JavaScript για να εκτελέσω μια περίοδο λειτουργίας PowerShell. Στη συνέχεια, το script μου, όπως πολλά κακόβουλα προγράμματα που βασίζονται στο PowerShell, κατεβάζει το ακόλουθο σενάριο PowerShell από έναν απομακρυσμένο ιστότοπο. Στη συνέχεια, για παράδειγμα, κατέβασα ένα αβλαβές PS που τύπωσε ένα μήνυμα στην οθόνη. Αλλά οι καιροί αλλάζουν και τώρα προτείνω να περιπλέκουμε το σενάριο.

PowerShell Empire και Reverse Shell

Ένας από τους σκοπούς αυτής της άσκησης είναι να δείξει πόσο (σχετικά) εύκολο είναι για έναν χάκερ να παρακάμψει τις κλασικές περιμετρικές άμυνες και τα antivirus. Αν ένας blogger πληροφορικής χωρίς δεξιότητες προγραμματισμού, όπως εγώ, μπορεί σε μερικά βράδια δημιουργία μη ανιχνεύσιμου κακόβουλου λογισμικού (εντελώς μη ανιχνεύσιμος, FUD), φανταστείτε τις δυνατότητες ενός ενδιαφερόμενου νεαρού χάκερ!

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

Οι χάκερ ονειρεύονται να αποκτήσουν άμεση πρόσβαση στον φορητό υπολογιστή ή τον διακομιστή του θύματος. Αυτό είναι πολύ εύκολο να γίνει: το μόνο που χρειάζεται ένας χάκερ είναι να αποκτήσει μερικά εμπιστευτικά αρχεία στον φορητό υπολογιστή του CEO.

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

Είναι ουσιαστικά ένα εργαλείο δοκιμής διείσδυσης που βασίζεται στο PowerShell, το οποίο, μεταξύ πολλών άλλων χαρακτηριστικών, διευκολύνει την εκτέλεση ενός αντίστροφου κελύφους. Μπορείτε να το εξερευνήσετε με περισσότερες λεπτομέρειες στο PSE home site.

Ας κάνουμε ένα μικρό πείραμα. Δημιούργησα ένα ασφαλές περιβάλλον για δοκιμές κακόβουλου λογισμικού στο cloud του Amazon Web Services. Μπορείτε να ακολουθήσετε το παράδειγμά μου για να δείξετε γρήγορα και με ασφάλεια ένα λειτουργικό παράδειγμα αυτής της ευπάθειας (και να μην απολυθείτε επειδή εκτελείτε ιούς εντός της περιμέτρου της επιχείρησης).

Εάν εκτελείτε την κονσόλα PowerShell Empire, θα δείτε κάτι σαν αυτό:

Elusive Malware Adventures Part II: Hidden VBA Scripts

Αρχικά, ξεκινάτε τη διαδικασία ακρόασης στη μηχανή χάκερ σας. Εισαγάγετε την εντολή "ακροατής" και καθορίστε τη διεύθυνση IP του συστήματός σας χρησιμοποιώντας το "set Host". Στη συνέχεια, ξεκινήστε τη διαδικασία ακροατή με την εντολή "execute" (παρακάτω). Έτσι, από την πλευρά σας, θα αρχίσετε να περιμένετε για σύνδεση δικτύου από ένα απομακρυσμένο κέλυφος:

Elusive Malware Adventures Part II: Hidden VBA Scripts

Για την άλλη πλευρά, θα χρειαστεί να δημιουργήσετε έναν κωδικό πράκτορα εισάγοντας την εντολή "launcher" (δείτε παρακάτω). Αυτό θα δημιουργήσει τον κώδικα PowerShell για τον απομακρυσμένο παράγοντα. Σημειώστε ότι έχει κωδικοποίηση Base64 και αντιπροσωπεύει τη δεύτερη φάση του ωφέλιμου φορτίου. Με άλλα λόγια, ο κώδικας JavaScript μου θα τραβήξει τώρα αυτόν τον παράγοντα για να εκτελέσει το PowerShell αντί να εμφανίζει ακίνδυνα κείμενο στην οθόνη και να συνδεθεί στον απομακρυσμένο διακομιστή μας PSE για να εκτελέσει το αντίστροφο κέλυφος.

Elusive Malware Adventures Part II: Hidden VBA Scripts
Αντίστροφη μαγεία κοχυλιών. Αυτή η κωδικοποιημένη εντολή PowerShell θα συνδεθεί με τον ακροατή μου και θα ξεκινήσει ένα απομακρυσμένο κέλυφος.

Για να σας δείξω αυτό το πείραμα, ανέλαβα τον ρόλο ενός αθώου θύματος και άνοιξα το Evil.doc, εκτελώντας έτσι το JavaScript μας. Θυμάστε το πρώτο μέρος; Το PowerShell έχει ρυθμιστεί έτσι ώστε να μην εμφανίζεται, έτσι το θύμα δεν θα παρατηρήσει τίποτα ασυνήθιστο. Ωστόσο, εάν ανοίξετε τη Διαχείριση εργασιών των Windows, θα δείτε μια διαδικασία PowerShell στο παρασκήνιο, η οποία εξακολουθεί να μην προκαλεί συναγερμό για τους περισσότερους. Επειδή είναι κανονικό PowerShell, έτσι δεν είναι;

Elusive Malware Adventures Part II: Hidden VBA Scripts

Τώρα, όταν εκτελείτε το Evil.doc, μια κρυφή διαδικασία παρασκηνίου θα συνδεθεί στον διακομιστή που εκτελεί το PowerShell Empire. Φορώντας το λευκό καπέλο ενός χάκερ-pentester, επέστρεψα στην κονσόλα PowerShell Empire και τώρα βλέπω ένα μήνυμα ότι ο απομακρυσμένος πράκτορας μου είναι ενεργός.

Elusive Malware Adventures Part II: Hidden VBA Scripts

Στη συνέχεια, πληκτρολόγησα την εντολή "interact" για να ανοίξω ένα κέλυφος στο PSE - και εδώ είμαι! Εν ολίγοις, χάκαρα τον διακομιστή Taco που έστησα ο ίδιος πριν από λίγο καιρό.

Elusive Malware Adventures Part II: Hidden VBA Scripts

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

Οι διευθυντές πληροφορικής που πιστεύουν ότι έχουν δημιουργήσει μια αδιαπέραστη άμυνα ενάντια σε κάθε είδους εισβολή πιθανότατα θα το βρουν και εκπαιδευτικό - αν μπορείτε φυσικά να τους πείσετε να κάτσουν δίπλα σας αρκετά.

Πίσω στην πραγματικότητα

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

Το κακόβουλο λογισμικό που κατέληξα στο HA είναι ένα σενάριο VBA που ήταν ενσωματωμένο σε ένα έγγραφο του Word. Δηλαδή, δεν χρειάζεται καν να παραποιήσω την επέκταση εγγράφου, αυτό το κακόβουλο λογισμικό είναι πραγματικά το πιο συνηθισμένο έγγραφο του Microsoft Word. Σε περίπτωση που αναρωτιέστε, επέλεξα αυτό το μοτίβο που ονομάζεται rfq.doc.

Γρήγορα έμαθα ότι συχνά δεν μπορείτε να τραβήξετε κακόβουλα σενάρια VBA απευθείας από ένα έγγραφο. Οι χάκερ τα συμπιέζουν και τα αποκρύπτουν και δεν είναι ορατά στα ενσωματωμένα εργαλεία μακροεντολών του Word. Θα χρειαστείτε ένα ειδικό εργαλείο για να το εξαγάγετε. Ευτυχώς βρήκα έναν σαρωτή Office MalScanner Φρανκ Μπάλντουιν. Ευχαριστώ Frank.

Χρησιμοποιώντας αυτό το εργαλείο, μπόρεσα να βγάλω έναν πολύ ασαφή κώδικα VBA. Έμοιαζε κάπως έτσι:

Elusive Malware Adventures Part II: Hidden VBA Scripts
Η συσκότιση έγινε από επαγγελματίες του κλάδου τους. Ήμουν εντυπωσιασμένος!

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

Πηγή: www.habr.com

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