malware

Ο Ανδρέας Βενιέρης αναλύει κατασκοπευτικό malware

Σας παρουσιάζουμε μια πολύ ενδιαφέρουσα ανάλυση malware από τον Ανδρέα Βενιέρη που δημοσίευσε κατά αποκλειστικότητα το φιλικό SecNews.gr.
12121-min

Ο διακεκριμένος ερευνητής ασφάλειας IT Director / CIO Ανδρέας Βενιέρης εντόπισε ένα εξαιρετικά “επίμονο” κατασκοπευτικό malware που υποκλέπτει προσωπικές πληροφορίες και εγκαθίσταται στο τερματικό υπολογιστή ανυποψίαστων χρηστών.

¨Όπως είχαμε προαναγγείλει, το SecNews σε ΑΠΟΚΛΕΙΣΤΙΚΟΤΗΤΑ παρουσιάζει την εκτενή ανάλυση κακόβουλου λογισμικού, που πραγματοποίησε ένας απο τους πλέον έμπειρους και διακεκριμένους Έλληνες ερευνητές ασφάλειας, ο κ. Ανδρέας Βενιέρης. Ο κ. Βενιέρης, από τους πλέον σημαντικούς συνεργάτες του SecNews, κατόρθωσε να αναλύσει σε σημαντικότατο βαθμό το εν λόγω λογισμικό που παρουσιάζει εξειδικευμένη λειτουργικότητα απόκρυψης, που αντίστοιχη δεν έχει παρατηρηθεί, τουλάχιστον στην Ελλάδα!

espionage

Το άρθρο είναι ΤΕΧΝΙΚΟ, αλλά δοθέν με τον χαρακτηριστικό & ιδιαίτερο τρόπο αρθρογραφίας του κ. Βενιέρη, υπεραναλυτικό και με βήματα (step-by-step) ώστε να μπορεί να γίνει κατανοητό σχεδόν από τον οποιονδήποτε με μέση γνώση δικτύων και προγραμματισμού. Τα αρχεία που μελέτησε ο ερευνητής, μπορείτε να βρείτε συνολικά στο τέλος του άρθρου.

Δεν είναι υπερβολή αν τολμούσαμε να πούμε ότι παρόν άρθρο του κ. Βενιέρη αποτελει εξαιρετικό εγχειριδίο (διδακτορικού επιπέδου) που άνετα θα μπορούσε να χρησιμοποιηθεί σε πανεπιστημιακά ιδρύματα ώς δείγμα εξαίρετης γραφής και μελέτης κακόβουλων λογισμικών! Εύγε!

Διαβάστε παρακάτω, χωρίς περικοπές, την μελέτη:

Ενεργό Malware– Ανάλυση

Το τρέχον Malware φαίνεται ότι αποτελεί μια παρ του Poweliks ή Gootkit Trojan (http://support.eset.com/kb3587/) . Είναι ένα malware το οποίο φαίνεται ότι καταγράφει τον εαυτό του στο registry και από εκεί εκτελείτε.

Πριν ξεκινήσουμε θα ήθελα να σας ξεκαθαρίσω πρώτα τα εξής:
• Το άρθρο δεν κάνει μία 100% ανάλυση (με όλους τους πιθανούς συνδυασμούς) διότι απλά δεν θα έφταναν ούτε 100 σελίδες. Κατά συνέπεια, το άρθρο σε πολλά σημεία δίνει τροφή για πρόσθετη έρευνα.
Ας τα πάρουμε όμως τα πράγματα από την αρχή: Πριν λίγο καιρό κάποιοι χρήστες μας έλαβαν ένα παράξενο και μας ρώτησαν αν θα πρέπει να το ανοίξουν.

AA

Το email περιείχε ένα επισυναπτόμενο με τίτλο: Notice_to_Appear_00000443430.zip (σας το επισυνάπτω και ως ξεχωριστό αρχείο). To Zip περιείχε ένα αρχείο με προέκταση .js (jacascript). Κάνοντας extract και ανοίγοντας το αρχείο φαίνεται να υπάρχει obfuscated κώδικας:

Φαίνεται ο κώδικας σε συνεπτυγμένη μορφή (για λόγους οικονομίας χώρου):

ab

Μετά από μια γρήγορη μελέτη του φαίνεται ότι ο κώδικας δημιουργείται δυναμικά κατά την εκτέλεσης του προγράμματος και στο τέλος καταχωρείται σε μια τελική μεταβλητή και μετά εκτελείτε. Έτσι, αποφασίζω να κάνω το 1ο γνωστό (και πιο απλό) κόλπο «αποκρυπτογράφησης» του κώδικα, το οποίο υποθέτει ότι η τελευταία function που εκτελείτε είναι αυτή περιέχει τον τελικό κώδικα, δηλαδή η glnu().

Πάω λοιπόν στον κύριο σώμα της glnu() και το κάνω:

ac

Αμέσως μετά βάζω τον παραπάνω κώδικα μέσα σε ένα HTML αρχείο και το εκτελώ τοπικά. Παίρνω το παρακάτω:

ad

 

Αν κοιτάξουμε καλά, ο κώδικας που πάει να εκτελεστεί είναι ο εξής:

11

Πρόκειται για κώδικα ο οποίος πάλι δεν φαίνεται και πολύ καλά, οπότε αφού τον έβαλα σε ένα καλό JavaScript Formater, πήρα το παρακάτω:

ae

 

 

Σε γενικές γραμμές, αυτό που κάνει ο παραπάνω κώδικας είναι να προσπαθήσει να κατεβάσει κάποια αρχεία από τα εξής domains:

  • lincolnracing.com
  • groupformingservices.com
  • ncdivers.com

Στην ουσία θα εκτελεστούν τα εξής request:

http://www.lincolnracing.com/counter/?id=&rnd=9749811
http://www.groupformingservices.com/counter/?id=&rnd=9749811
http://ncdivers.com/counter/?id=&rnd=9749811
http://www.lincolnracing.com/counter/?id=&rnd=9749812
http://www.groupformingservices.com/counter/?id=&rnd=9749812
http://ncdivers.com/counter/?id=&rnd=9749812
http://www.lincolnracing.com/counter/?id=&rnd=9749813
http://www.groupformingservices.com/counter/?id=&rnd=9749813
http://ncdivers.com/counter/?id=&rnd=9749813

Τα παραπάνω requests μέσω του javascript θα κατεβάσουν κάποιο αρχείο και θα το γράψουν στον δίσκο (στον κατάλογο %temp%\669736, δηλαδή στην περίπτωση μου στον C:\Users\venieris.a\AppData\Local\Temp\669736 σαν εκτελέσιμα αρχεία (με επέκταση EXE). Αμέσως μετά, θα εκτελεστεί. Με λίγα λόγια πρόκειται για τον προπομπό του Trojan, δηλαδή τον «κράχτη» του (αυτόν που θα τον… φωνάξει από εκεί που κρύβεται!).

Δοκίμασα να κατεβάσω αρχεία από τα παραπάνω links και την στιγμή αυτή «παίζουν» μόνο όσα είναι από τα ncdivers.com και στο www.groupformingservices.com. Κατέβασαν τα εξής τρία αρχεία:
28bf195b.gif
b.gif
b421486cdb15d58a.gif

Όπως φαντάζεστε (μην σας ξεγελά η επέκταση GIF) πρόκειται για PE executables, όπως δείχνει και το κλασικό Header που φαίνεται σε ένα hex editor:

af

Μετονομάζοντας το σε EXE (ότι κάνει και ο javascript κώδικας δηλαδή) έχουμε ένα έτοιμο εκτελέσιμο:

ag

Διαπίστωσα επίσης ότι όλα τα παραπάνω αρχεία που κατέβηκαν ήταν ακριβώς τα ίδια:

77

(σας τα επισυνάπτω μέσα στον κατάλογο Bad.EXEs)

Άρα το javascript πρόγραμμα προ-πομπός κατεβάζει μάλλον το βασικό trojan και μάλιστα όπου το πετύχει στους παραπάνω servers…

Αυτό που τώρα μένει να κάνουμε είναι να δούμε τι ακριβώς κάνει αυτό το εκτελέσιμο όταν εκτελεστεί. Η πρώτη μου επιλογή είναι το VirusTotal:

ah

Χμ, δεν είναι και τόσο ενθαρρυντικά τα αποτελέσματα. Μόνο 4 από τις 55 μηχανές υποπτευτήκαν ότι κάτι πονηρό «τρέχει» εδώ… Οπότε είναι πιθανόν να είμαστε κοντά σε κάποιο σχετικά άγνωστο (ή καλά κρυπτογραφημένο) κώδικα εκτέλεσης. Μια καλή ευκαιρία να το αναλύσω μόνος μου.

Πρώτα απ’ όλα του ρίχνω μια ματιά με έναν hexeditor. Ενδιαφέρουσες απόψεις των προγραμματιστών του Trojan έλαβαν χώρα κατά την ανάγνωση:

ai

Ενδιαφέρον επίσης παρουσιάζουν και κάποια file infos μέσα στο executable, όπως:

88

 

Αν και δεν θα μπω σε με λεπτομερή offline ανάλυση του εκτελέσιμου, αξίζει να σημειώσω την χρήση «αρκετής» SQL μέσα στο πρόγραμμα (ανάλυση με IDA Pro):

SQL.IDA.Capture

 

Ένας πολύ αποδοτικός τρόπος να ελέγξεις γρήγορα την συμπεριφορά ενός malware είναι να το τρέξεις σε ένα Virtual Machine, αφού πρώτα πάρεις ένα Image Backup για να το επαναφέρεις όταν θέλεις να επανέλθεις ανα πάσα στιγμή σε ένα καθαρό σύστημα, κοκ.

Πρέπει να πω ότι τόσο το αρχικό javascript όσο και το executable “αγχώνουν” ιδιαίτερα το antivirus (τόσο το Nod όσο και το Windows Antivirus) και αν θέλετε να κάνετε σωστό έλεγχο πρέπει να το απενεργοποιήσετε.

malware-analysis-thumb-large malware malware malware malware malware malware malware

Βάζω λοιπόν μπροστά ένα Windows 7 VM και τρέχω το κακό b.exe. Ακολουθεί ανάλυση:

Λίγο Windows Processes και λίγο Registry
Μόλις το πρόγραμμα αρχίζει να τρέχει συμβαίνουν τα εξής «ωραία» στα processes σε συνδυασμό με τα TCP Live Connections:

Στην αρχή φαίνεται να τρέχει για κάποια δευτερόλεπτα το εκτελέσιμο B.exe, μετά από λίγο κλείνει και σηκώνεται ένα άλλο process (γνωστό και μη εξαιρετέο) με το όνομα Powershell.exe (call me Command Executor!), το οποίο τρέχει και αυτό για μερικά δευτερόλεπτα και αμέσως μετά κλείνει και σηκώνεται το regsvr32.exe το οποίο και μένει ενεργό.

  H Apple σκοπεύει να αυξήσει τις πωλήσεις των iPhone με ένα trade-in πρόγραμμα [Φήμη]

 

aj

Επίσης, λίγο πριν ξεκινήσει το Powershell σηκώνεται ακόμα ένα process, το mshta.exe. Αυτό το process ανήκει στα Microsoft Windows Application Process και ανήκει στην οικογένεια των βοηθητικών προγραμμάτων του Internet Explorer. Το συγκεκριμένο Process τρέχει με τις εξής παραμέτρους:

ak

Πιο αναλυτικά, τρέχει το παρακάτω:

1010

Ο παραπάνω κώδικας σηκώνει command line shell και τρέχει σε javascript (με την βοήθεια του mshta.exe) αυτό που βρίσκεται μέσα στο Registry Key: HKCU\\software\\eebx7Aeby\\6tCMbfD3a (όπου HKCU = HKEY_CURRENT_USER)

Όπως όμως φαντάστηκα, όταν πήγα στο Registry να ελέγξω την τιμή του συγκεκριμένου key, αυτό δεν υπήρχε… Συμπέρασμα, γυρνάμε το VM σε καθαρή κατάσταση, ξανατρέχουμε το b.exe έχοντας αυτή την φορά ανοιχτό τον Registry Editor στο συγκεκριμένο node, κάνοντας συνεχώς Refresh (f5) ελπίζοντας ότι κάποια στιγμή θα δούμε να φτιάχνεται το παραπάνω key. Πράγματι τσιμπάμε το key το οποίο είναι λίγο… encrypted:

al

Δεν μπορούμε άμεσα να πάρουμε τις παραπάνω τιμές διότι μόλις εμφανιστούν, αμέσως μετά διαγράφονται. Φυσικά υπάρχουν τρόποι, αλλά ας συνεχίσουμε παρακάτω μήπως βρούμε κι άλλα ενδιαφέρονται πράγματα.

Πράγματι, με το επόμενο refresh βλέπουμε να έχει δημιουργηθεί στο registry αυτό μια άλλη τιμή, αυτή την φορά σταθερή:

am

Δείτε το καλύτερα:

an

Κατ’ αρχάς πρέπει να πούμε ότι όλες οι μεταβλητές (Name) που χρησιμοποιούνται είναι τυχαίες, δηλαδή κάθε φορά που τρέχει το malware έχουν άλλο όνομα. Επίσης πρέπει να πούμε ότι το παραπάνω μάλλον κάνει access σε κάποιο server και αυτό διότι η μεταβλητή 456a6457 περιέχει μια τιμή που δείχνει να ανήκει σε κάποιον User Agent. Φαντάζομαι ότι οι υπόλοιπες encrypted τιμές θα είναι ίσως το URL καθώς και κάποιες τιμές των HTTP Headers για να γίνει το access. Π.χ. το 864 ίσως να είναι το remote port.

TCP Connection
Την ώρα που συμβαίνουν τα παραπάνω, μια εξίσου σημαντική ενέργεια επιτελείται στην επικοινωνία του υπολογιστή μας με τον «έξω» κόσμο. Αυτό το βλέπουμε με το TCP Viewer της SysInternal. Μόλις τρέχει το RegSvr32 συμβαίνουν τα εξής:

 

1717

Δώστε βάση στο πρώτο process το οποίο φαίνεται να είναι το πραγματικό Trojan Μέσω του οποίου ανοίγουν τα άλλα. Χτυπάει την διεύθυνση http://kysungobu.fvds.ru/

Αυτή την στιγμή η παραπάνω διεύθυνση αναφέρει σφάλμα σύνδεσης με την βάση δεδομένων, όταν όμως έκανα τα tests, έβγαζε το εξής περίεργο…:

1111

Ίσως κάτι θέλει να μας πει ο φίλος μας… δεν συμφωνείτε? ;)

Άπειρο χρόνο αν έχει κάποιος μπορεί να ξοδέψει ψάχνοντας μια-μια τις παραπάνω διευθύνεις που φαίνονται να λειτουργούν ως Zombie.

Λίγο πιο πολύ Window Process
Ας επιστρέψω λίγο στα processes και με την χρήση του Process Explorer της SysInternals θα γίνω λίγο πιο αυστηρώς με μια από αυτές. Θα προσπαθήσω να «παγώσω» την διαδικασία του powershell.exe όταν καλείται από το Trojan ώστε να την εξετάσω με την ησυχία μου. Αυτό θα συμβεί αν πατήσω το Suspend μόλις της δω να ξεκινά:

 

ProcExp.01.Suspend

Αμέσως μετά πάμε στα properties:

ao

Δώστε βάση στο parent process. Είναι το mshta.exe που είδαμε παραπάνω! Αυτό λοιπόν το process καλεί το powershell περνώντας σαν παράμετρο (συγκεκριμένα σαν environment variable) την μεταβλητή rppd. Κάτι μου λέει ότι μέσα σε αυτή την μεταβλητή κρύβεται η κρυπτογραφημένη τιμή που ξεκίνησε την «ζωή» της από την προσωρινή Registry Value και που το trojan πασχίζει να διαφυλάξει με κάθε τρόπο!

Πηγαίνοντας στο TAB Environment, τα πράγματα αρχίζουν να ξεκαθαρίζουν:

ap

Έχουμε την τιμή της μεταβλητής περιβάλλοντος rppd όπως ακριβώς έρχεται από το Trojan. Πρέπει οπωσδήποτε να τσιμπήσω αυτή την τιμή διότι κάτι μου λέει πως έχει… «ψωμί»! Δοκιμάζω λοιπόν ένα full dump την μνήμη για να δω αν κρύβεται κάπου εκεί μέσα:

aq

Τα αποτελέσματα μετά από λίγο ψάξιμο είναι ενθαρρυντικά:

ProcExp.05.DumpAnalysis

Έχω καταφέρει επιτέλους να τσιμπήσω την τιμή της μεταβλητής σε κρυπτογραφημένη μ­­ορφή όμως. Βέβαια απ’ ότι βλέπετε η κρυπτογράφηση είναι Base64, δηλαδή απλά Piece of Cake για να σπάσει με έναν απλό Base64 decoder και να μας δώσει το ποθητό αποτέλεσμα:

aras

Για λόγους χώρου έχει συντμηθεί το κομμάτι του binary-code που περιέχει το παραπάνω (ολόκληρο είναι μέσα στο αρχείο TheBadPowershell_formated.ps1).

Δεν θα προχωρήσω σε ανάλυση γραμμή-γραμμή του παραπάνω κώδικα. Λίγα μόνο θα πω: Πρόκειται για ένα powershell script το οποίο χρησιμοποιεί ένα έτοιμο process σε binary μορφή (που καταχωρείται στην μεταβλητή $sc32 το οποίο φαίνεται ότι γίνεται inject κατά την έναρξη της Kernel32.DLL.

To ερώτημα τώρα είναι τι κάνει ακριβώς αυτό το binary-code της μεταβλητής $sc32?

Από μόνο του πάντως δεν στέκει σαν αυτόνομο εκτελέσιμο. Αυτό το δοκίμασα ως εξής. Με το παρακάτω C++ πρόγραμμα έβαλα το binary-code σε ένα executable:

1515

(το εκτελέσιμο που εξάγεται από το παραπάνω σας το έχω στο αρχείο theEXE.exe)

Το κάνω compile και run:

createTheExe

 

Και δοκιμάζω να τρέξω το τελικό εκτελέσιμο που παράγεται :
Running

 

Ok.. ίσως κάτι δεν πήγε καλά… Αλλά δώστε βάση στο: «16bit MS-DOS Subsystem», wtf!!

Ας το ανεβάσω και στο Virus total:

VirusTotal

0/55? Αθώο ?? Δεν νομίζω!!

Ας πάμε με τον ευθύ τρόπο, να το τρέξουμε κατευθείαν από το Power Shell IDE:

Debugging malware malware malware malware malware malware malware

Χμ,…. Τρώμε πόρτα! Έχουμε απενεργοποιημένη την εκτέλεση των scripts…? Κακό αυτό! Εγώ δεν μπορώ να το εκτελέσω ενώ το Trojan το ίδιο μπορεί! Ενδιαφέρον ε;! Μην πείτε όχι!

Για να μπορέσω να τρέξω Powerscript Commands πρέπει να τις ενεργοποιήσω με την εξής εντολή: Set-ExecutionPolicy RemoteSigned

Ας το κάνω λοιπόν για να δω αν εκτελείτε αυτό το script και τι κάνει… με μερικές απόπειρες να το τρέξω το πρόγραμμα «έσκαγε» είτε χωρίς μήνυμα είτε με το γνωστό ….powershell has stop working.

Εκ του αποτελέσματος πάντως φαίνεται ότι είναι αυτό το process που μετά το injection δοκιμάζει να κάνει την επικοινωνία με τα διάφορα zombies… ;)

Έλεγχος αν επηρεάζει Αρχεία
Αυτός ο έλεγχος είναι απλός και γίνεται ως εξής:
Βήμα 1: Ξεκινάμε τα Windows σε καθαρό περιβάλλον και γράφουμε σε ένα text file όλα τα ονόματα των αρχείων (κρυφών και μη, σε όλους τους καταλόγους και υποκαταλόγους) που υπάρχουν στον δίσκο μας. Αυτό θα γίνει με την εξής απλή εντολή (από Command Line φυσικά!) :

1616

Ένα αρχείο που έχει αλλάξει και που τράβηξε την προσοχή είναι το PowerShell.evtx που βρίσκεται μέσα στο Directory of C:\Windows\System32\winevt\Logs

Πρόκειται για αρχείο που το λειτουργικό σύστημα καταγράφει ιστορικά στοιχεία (Logs) από τις κινήσεις προγραμμάτων και διεργασιών:

  H WWF μαγειρεύει το μενού της υπερθέρμανσης του πλανήτη - βίντεο

at

Προχωρώντας παρακάτω βρίσκω κάτι εξ’ ίσου ενδιαφέρον:

au

 

To NTUSER.DAT βρίσκεται στον κατάλογο C:\Users\thiseas. Είναι κρυφό αρχείο και περιέχει τα entries στο Registry που βρίσκονται κάτω από HKEY_CURRENT_USER. Μετά την επίθεση, αυξήθηκε κατά 2Mb… Ενδιαφέρον!

Αν θέλουμε να συγκρίνουμε (file compare by content) το αρχείο ntuser.dll πριν και μετά την επίθεση θα πρέπει να κάνουμε mount τον δίσκο με τα Windows με κάποιο άλλο λειτουργικό (π.χ. με κάποιo linux live CD distro) και να μπούμε στον δίσκο να τσιμπήσουμε το αρχείο. Αν το κάναμε αυτό θα βλέπαμε τις εξής ενδιαφέρουσες διαφορές:

ntuser

Για όσους δεν μπορούν να διακρίνουν καλά τον javascript κώδικα που κρύβεται εδώ ας μην απογοητευτούν, θα έχουμε την ευκαιρία να τον δούμε καλύτερα, παρακάτω ;)

Σημαντική Σημείωση: Δεν παρατήρησα κάποια άλλη σημαντική αλλαγή στα αρχεία. Κατά συνέπεια το malware επηρέασε μόνο το Registry!

Έλεγχος αν επηρεάζει Registry
Κατ’ αναλογία με αυτό που κάναμε στην προηγούμενη παράγραφο για τα όλα τα αρχεία του δίσκου, θα το κάνουμε για το Registry κάνοντας το export (πριν και μετά). Έτσι θα δούμε τι αλλαγές επέφερε στο Registry το malware. Μια ενδιαφέρουσα εισαγωγή που βρήκα είναι η παρακάτω:

av

 

Το registry μας λέει εδώ ότι το malware έχει φυλάξει τον εαυτό του εδώ κρυπτογραφημένο.

Αν κάνετε την παραπάνω ανάλυση να προσέξετε μην μπερδέψετε τις κινήσεις του malware με κάποιες legitimate κινήσεις που και αυτές καταγράφονται, όπως ας πούμε αυτή που κάναμε για το export του registry σε ένα αρχείο:

aw

Συμπεριφορά κατά την εκκίνηση
Όλα καλά μέχρι εδώ. Έχουμε δει ακριβώς που μπαίνει το malware και πως κρύβεται στο σύστημα μας. Για να κάνω όμως κι ένα restart για να δω αν υπάρχει ακόμα. Πράγματι, μετά το start φαίνεται ότι το πρόβλημα στο box μας δεν έχει διορθωθεί μιας και τρέχουν ακόμα οι περίεργες συνδέσεις μέσω TCP/IP:

ax

Ok, πριν το αναλύσω λίγο ας δω την συμπεριφορά του Malware σε «απρόβλεπτες» καταστάσεις. Διαγράφω το regsvr32.exe και κάνω πάλι restart για να δω τι θα γίνει. Θα ξυπνήσει ο… κακός λύκος;

ay

Πράγματι ο κακός λύκος ξύπνησε και κόλλησε τώρα στο rundll32.exe. Οκ, διαγράφω και το run32.exe και restart,… Για να δούμε:

az

Αυτή τη φορά το Malware κολλάει στο process explorer.exe! Το βασικό μας περιβάλλον. Εντυπωσιακό!

Πως διάβολο ξεκινά όμως το ρημάδι το Malware??? Οι συγκρίσεις αρχείων δεν μου έδειξαν αλλαγές ούτε στο Run του Registry ούτε ακόμα και σ’ αυτό το αρχαίο αρχείο autoexec.bat ούτε στο Start του χρήστη. Εργαλεία όπως το Autoruns της SysInternals δεν μου δείχνει κάτι ιδιαίτερο:

ba

Ας ξεκινήσω λοιπόν το ψάξιμο Manually. Κάπου μέσα στα παραπάνω entries πρέπει να κρύβεται. Δεν γίνεται αλλιώς. Ανοίγω λοιπόν το regedit και πάω να ανοίξω κατευθείαν το πρώτο entry που είναι το αγαπημένο των απανταχού malware:

bb

Παρακαλώ; Τι γίνεται εδώ; Μου χάλασε το registry; Μου έρχεται στο μυαλό η αναφορά της στο πραγματικά υπέροχο “ The evolution of the fileless click-fraud malware Poweliks ” (http://goo.gl/TfcHm3) :

The protection mechanism used here prevents the subkey from being opened. This in turn prevents the subkey from being deleted. This is achieved when Poweliks creates a registry subkey in Unicode with an ObjectName of 0608 that prevents users, even those with administrator privileges, from reading or deleting it. With tricks like these, it is obvious that the creators of Poweliks have an intimate knowledge of the Windows registry

 

Πράγματι, προσπάθειες να αλλάξω ή να διαγράψω το Run key ενώ δείχνουν ότι πετυχαίνουν, στο refresh όλα εμφανίζονται όπως πριν. Εδώ φαίνεται ότι οι προγραμματιστές στην Microsoft στο except του try κατά το deletion, αποφάσισαν ότι δεν πρέπει να ενημερώνουν τον χρήστη…

Εδώ λοιπόν κρύβεται ο φίλος μας και τρέχει κάθε φορά που ο συγκεκριμένος χρήστης ξεκινά. Και φαίνεται ότι δεν μπορώ να το σβήσω! Μην απογοητεύεστε όμως, υπάρχει τρόπος… Reading ;)

Συμπεριφορά με δικαιώματα χρήστη ή/και admin
Διαπίστωσα επίσης ότι είτε ο χρήστης έχει δικαιώματα Administrator είτε απλού users, το αποτέλεσμα είναι το ίδιο. Επίσης εντυπωσιακό!

Συμπεριφορά Windows Antivirus: Ναι μεν αλλά…
Το Windows Antivirus πρέπει να πω ότι αγχώνεται αρκετά βλέποντας να συμβαίνουν όλα αυτά τα «χαρωπά» και αναλαμβάνει δράση:

 

malware malware malware malware malware malware malware malware malware malware

 

Μάλιστα μας ενημερώνει ότι η δράση αυτή στέφεται με επιτυχία. Του κάκου όμως… J

Το malware ζει ακόμα στο Run του Registry μας!

Μπορώ να απαλλαγώ;
Αν και η καλύτερη θεραπεία είναι η πρόληψη, το ερώτημα που τίθεται εδώ είναι, τι θα γίνει αν το κολλήσω; Μπορώ να κάνω κάτι εκτός από Restore[*]?

*: Λέω Restore θεωρώντας δεδομένο ότι κρατάτε backups! Δεν νοώ να μην κρατάτε…!

Εγώ κατάφερα να το «σκοτώσω» ως εξής:

Πάτησα διαγραφή του Run key του συγκεκριμένου Registry location (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run) αλλά από κατάσταση Safe Mode και το κλειδί διαγράφηκε. Με ένα refresh είδα ότι ξαναφτιάχτηκε αυτόματα το key αυτό, από το λειτουργικό, αλλά αυτή την φορά χωρίς την κακιά εγγραφή μέσα του. Ήταν απολύτως καθαρό!

Ξεκινώντας μετά το σύστημα όλα έδειχναν ήρεμα… Ήταν όμως; (till next attack!!)

Happing Reversing!

Andreas Venieris

virtualization-security

Θα θέλαμε να συγχαρούμε ως συντακτική ομάδα του SecNews, τον κ.Βενιέρη για την ενδελεχή ανάλυση. Σπάνια (οφείλουμε να ομολογήσουμε) συναντάμε αντίστοιχη αρθρογραφία υψηλότατου επιπέδου, παρα μόνο σε αντίστοιχες ιστοσελίδες του εξωτερικού!

Αποτελεί θαυμαστό παράδειγμα προς μίμηση και ελπίζουμε ότι η ιδιωτική πρωτοβουλία του κ. Βενιέρη θα βρεί και άλλους υποστηρικτές. Αποδεικνύει με την ανάλυση του αυτή, ότι ουσιαστικά υπάρχουν εξαίρετοι γνώστες στην Ελλάδα που δραστηριοποιούνται στο παρασκήνιο,προσφέροντας αφειδώς γνώση, προωθώντας τον κλάδο της ασφάλειας πληροφοριών αρκετά βήματα πιο πέρα. Και φυσικά χωρίς να διαφημίζονται μέσα από τα (κουραστικά κατά γενική ομολογία πλέον) συνέδρια marketing, “ειδικών ασφάλειας” που έχουν μοναδικό στόχο την πώληση (αμφιβόλου;) αποτελεσματικότητας προιόντων.

Μπορείτε να βρείτε τα πλήρη αρχεία της ανάλυσης όπως μας τα απέστειλε ο κ. Βενιέρης στον σύνδεσμο [εδώ]. Ως κωδικό αποκρυπτογράφησης του αρχείου είναι η λέξη: “venieris_iguru” (χωρίς τα εισαγωγικά)

Πρέπει κάποια στιγμή να δούμε και άλλους ενεργούς Έλληνες ερευνητές είτε απο πανεπιστημιακά ιδρύματα (που διαπιστώνουμε ότι ελάχιστα ή πολλές φορές αδιάφορα ζητήματα δημοσιοποιούν) είτε ιδιώτες να προβαίνουν σε αντίστοιχες δημοσιεύσεις υψίστου επιπέδου με αυτές του κ. Βενιέρη.

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news

Written by giorgos

Ο Γιώργος ακόμα αναρωτιέται τι κάνει εδώ....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).


73  +    =  83