ΠΡΟΣΟΧΗ

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

Σάββατο, 28 Μαρτίου 2015

Πως κανουμε ερευνα ηλεκτρονικης εγκληματολογιας στην μνημη RAM


Τι θα χρειαστειτε;

1.Kali Linux
2.DumpIt
3.Windows

Η μνημη τυχαιας προσπελασης(Random Access Memory) ειναι με λιγα λογια η προσωρινη μνημη που χρησιμοποιει ο υπολογιστης για να αποθηκευσει προσωρινα δεδομενα

Εμεις σε αυτον τον οδηγο θα μαθουμε πως κανουμε dump την RAM και πως κοιταμε για ιους με το volatility

Στα windows

Για να αποθηκευσετε(dump) την RAM κατεβαζετε το DumpIt απο εδω

οταν το κατεβασετε το αποσυμπιεζετε και θα δειτε το εκτελεσιμο αρχειο

το εκτελειτε

μας ανοιγει το τερματικο και επιλεγουμε y


οταν μας γραψει success το κλεινουμε και θα δουμε στην επιφανεια εργασιας η στην διαδρομη που το εκτελεσαμε το αρχειο.raw

πχ

το βαζουμε σε ενα usb stick και το μεταφερουμε στα kali
(αν θελετε υπαρχει εκδοση του volatility για windows πατηστε εδω)

οταν εχουμε μεταφερει το αρχειο.raw στα kali πριν ξεκινησουμε το volatility

γραφουμε apt-get install volatility

και μας κανει εγκατασταση την εκδοση 2.4 η οποια μπορει να διαβασει την RAM και στα windows 8.1

τωρα οταν τελειωσει η εγκατασταση γραφουμε


volatility -f /root/Desktop/arxeio.raw imageinfo

οπου
imageinfo μας αναγνωριζει απο τι λειτουργικο εχει γινει το dump της RAM
-f η διαδρομη του αρχειου.raw


*θα κανει αρκετη ωρα  αν ξερετε τι λειτουργικο ειναι απλα βαζετε το προφιλ


θα χρησιμοποιησουμε σαν προφιλ Win8SP1x64
για να μην γραφετε συνεχεια το προφιλ και την τοποθεσια μπορειτε να γραψετε τις εντολες
export VOLATILITY_PROFILE=Win8SP1x6
export VOLATILITY_LOCATION=file:///root/Desktop/arxeio.raw
*Αν ανοιξετε αλλο τερματικο τοτε πρεπει να τις ξαναγραψετε
*για να δειτε ολες τις εντολες που υποστηριζει το volatility για το συγκεκριμενο προφιλ θα γραψετε την εντολη
volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw -h

οποτε τωρα το πρωτο πραγμα που θα κανουμε  ειναι να δουμε, τι διεργασιες ετρεχε το λειτουργικο συστημα οταν εγινε το dump


volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw pslist


γενικα ενα προγραμμα οταν εκτελειτε γινετε διεργασια
απο τον πινακα τα βασικα που πρεπει να γνωριζετε ειναι
Offset (v) ειναι ο εικονικος χωρος θεσεως της διεργασιας
PID (Process Identity) ο αριθμος ταυτοτητα της διεργασιας
PPID (Parent Process Identity) ο αριθμος ταυτοτητας γoνικης διεργασιας
Thds (Threads) νηματα σε μια διεργασια (μικρη ακολουθια εντολων σε μια διεργασια)
Start ωρα εκιννηση της διεργασιας
Exit ωρα τερματισμος της διεργασιας

πχ
την διεργασια system με pid 4 και ppid 0 προφανως δεν θα εχει γονεα αυτη η διεργασια γιατι ειναι η αρχικη του συστηματος
αλλα βλεπετε οτι η διεργασια smss.exe εχει γονεα το system


τωρα εφοσον εχουμε καταλαβει τι ειναι pid και ppid κοιταμε για περιεργα ονοματα στις διεργασιες

εδω βλεπουμε οτι υπαρχει μια διεργασια rubyw.exe η οποια εχει τερματιστει


βλεπουμε οτι εχει αρ.ταυτοτητας (PID) 5280 και οτι ο γονεας της ειναι (PPID) 3868
οποτε προσπαθουμε να βρουμε τον γονεα της δλδ την διεργασια με PID 3868
 η εντολη pstree θα μας βοηθησει ποιο ευκολα να την βρουμε

 volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw pstree

 και


επισης μπορειτε να το δειτε σε γραφικη μορφη

volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw psscan --output=dot --output-file=diergasies.dot

και για να δειτε το γραφημα
γραφουμε display diergasies.dot

και κοιταμε για την διεργασια rubyw.exe

oπως βλεπετε δεν μπορουμε να δουμε ποια διεργασια ειναι ο γονεας

δοκιμαζουμε την εντολη psxview για να δουμε αν υπαρχει καποια κρυφη διεργασια

volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw psxview

(* στην στηλη pslist αν υπαρχει false τοτε μια διεργασια ειναι κρυφη)

και δεν βλεπουμε τιποτα

κοιταμε για ενεργες συνδεσεις με την εντολη netscan


και βλεπουμε την διεργασια rubyw.exe ,παρολο που στις διεργασιες ελεγε οτι εχει τερματιστει υπαρχει ενεργη συνδεση με την ip 192.168.1.20 στην θυρα 8888


καταλαβαινουμε οτι  σε καποια αλλη διεργασια εχει γινει inject ,
για να το βρουμε αυτο θα τρεξουμε την εντολη malfind και θα αποθηκευσουμε το dump σε ενα φακελο

volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw malfind -D /root/Desktop/malfind/


ψαχνουμε να βρουμε στο hexidecimal (4D 5A) και MZ header το οποιο δηλωνει οτι ειναι εκτελεσιμο αρχειο MS-DOS (πηρε το ονομα απο Mark Zbikowski, ενας απο τους ιδρυτες του MS-DOS)
(Το malfind μπορει να σας βγαλει και λανθασμενα αποτελεσματα γιατι μερικες διεργαισες περιεχουν PAGE_EXECUTE_READWRITE αυτο σημενει οτι μεσα στην διεργασια μπορει να γραφτει κωδικας και να εκτελεστει)


 και βλεπουμε οτι στην διεργασια explorer εχει γινει inject

πηγαινουμε στην διαδρομη
γραφετε ls -lS


βλεπουμε ποσα bytes εχουν γινει inject και την εικονικη θεση χωρου της διεργασιας explorer.exe

μπορουμε να εξαγουμε την διεργασια και να εφαρμοσουμε αντιστροφη μηχανικη

για να κερδισουμε χρονο ομως
το ανεβαζουμε στο virus total
βλεπουμε οτι το εχoυν εντοπισει 5 απο τα 57 antivirus



εδω βλεπουμε ποια antivirus το εχουνε εντοπισει


γενικα να γνωριζετε οτι καθε ιος ειναι διαφορετικος
αλλα ολοι εχουνε  2 κοινα χαρακτηριστικα
να μενουν κρυμενοι και να τρεχουν μονιμα στο συστημα

εμεις ειδαμε τον ιο να ειναι κρυμενος στην διεργασια explorer.exe
τωρα μας μενει να βρουμε τον τροπο που μενει μονιμα στο συστημα(persistance)
οταν λεμε ενας ιος μενει μονιμα στο συστημα εννοουμε τον τροπο που ο ιος τρεχει καθε φορα που ξεκιναμε τον υπολογιστη μας
ολοι σχεδον οι ιοι η θα βρισκονται στη διαδρομη startup η θα εχουνε αλλη διαδρομη και θα ειναι γραμμενοι στην registry πχ
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
μπορει να ξεκινανε και σαν υπηρεσια κτλ

αρχικα θα κοιταξουμε με την εντολη filescan
γενικα αυτη η εντολη σας λεει τι αρχεια εχουν χρησιμοποιηθει οταν εγινε το dump της μνημης RAM
εμεις θα δουμε τι υπαρχει στην διαδρομη startup

volatility --profile=Win8SP1x64 -f /root/Desktop/arxeio.raw filescan -V | grep "Startup"


και βλεπουμε οτι υπαρχει το εκτελεσιμο αρχειο win32.exe στην διαδρομη του Startup
*οτι εκτελεσιμο αρχειο υπαρχει σε αυτη την διαδρομη με το που ξεκινησει το συστημα σας τοτε εκτελειτε αυτοματα
 
Αυτος ο οδηγος ειναι βασικος ωστε να δειτε πως μπορειτε να βρειτε στην ουσια μια μολυσμενη διεργασια .ο ιος εγινε inject στην διεργασια explorer.exe και μετα το αρχικο αρχειο του ιου τερματιστηκε αλλα παρεμεινε στον υπολογιστη για να ξανατρεξει

Υπο κανονικες συνθηκες ενας χρηστης με απλες γνωσεις θα μπορουσε να δει μια υποπτη διεργασια αλλα με αυτο τον τροπο μολυνσεις δεν θα μπορουσε ποτε να δει την διεργασια (rubyw.exe) καθως δεν θα εμφανιζετε στην διαχειριση εργασιων (Task Manager)

Για παραδειγμα θα αναλυσουμε τον ιο Dark comet σε Windows 7
το δειγμα μπορειτε να το βρειτε εδω

το κατεβαζουμε και το αποσυμπιεζουμε
*WIN-TTUMF6EI3O3-20140203-123134.raw εγω το ονομασα dark.raw

οποτε τωρα τρεχουμε αρχικα την εντολη imageinfo


τωρα βλεπουμε τις διεργασιες με την εντολη pslist

 και

με μια ματια δεν βλεπουμε κατι περιεργο αλλα ας δουμε αν υπαρχει συνδεση με την εντολη netstat

βλεπουμε 2 συνδεσεις η πρωτη ειναι Syn_sent δλδ μισανοικτη (half-open)αυτο γινεται συνηθως οταν εχει γινει η συνδεση και απο την αλλη μερια εχει κλεισει και δεν εχει ειδοποιηση αυτον που ακουει με αποτελεσμα να μενει μισανοικτη η απο την αλλη μερια ειναι αδρανης ,παρατηρουμε και την θυρα 1604 η οποια ειναι η κλασικη θυρα που χρησιμοποιει το Dark Comet αλλα δεν βλεπουμε την διεργασια

εφοσον τωρα ειμαστε σιγουροι οτι υπαρχει ιος κοιταμε καλυτερα τις διεργασιες
θα προσπαθησουμε να κοιταξουμε τον γονικη σχεση τον δεργασιων με την εντολη pstree


βλεπουμε οτι η διεργασια runddl32.exe ειναι γονεας της διεργασια notapad.exe
η διεργασια notepad.exe δημιουργειτε οταν εκτελουμε το προγραμμα επεξεργασιας κειμενου(notepad) και ξερουμε οτι γονεα εχει παντα την διεργασια explorer.exe  η εστω την διεργασια cmd.exe που αυτη η διεργασια εχει γονεα την διεργασια explorer.exe
για να το καταλαβετε καλυτερα πχ εγω θελω να γραψω σε ενα αρχειο κειμενου
ανοιγω το notepad και γραφω,η διεργασια του notepad θα εχει σαν pid 1343 και ppid 789 ,η διεργασια explorer.exe θα εχει pid 789
τωρα αν ειμαι απο το τερματικο των windows και θελω να ανοιξω το notepad
το notepad θα εχει γονεα την διεργασια cmd.exe και η διεργασια cmd θα εχει γονεα την διεργασια explorer.exe και αυτο γινεται γιατι πολυ απλα η διεργασια explorer.exe μου επιτρεπει γενικα τον χειρισμο των windows

οποτε η υποπτη διεργασια ειναι η runddl32.exe

οποτε τωρα θα εξαγουμε την διεργασια με την εντολη procdump


και ανεβαζουμε στο virus total

και εδω βλεπουμε οτι ειναι Dark comet


ενας ενναλακτικος τροπος για να βρουμε την διεργασια εφοσον ξερουμε τον ιο
ειναι η εντολη yarascan
αυτη η εντολη κοιταει μεσα στις διεργασιες πχ


η πχ εφοσον ξερουμε την θυρα


για να βρουμε την διαδρομη του εκτελεσιμου θα χρησιμοποιησουμε την εντολη cmdline


για να δουμε αν εχει γραφτει στην registry(μητρωα των windows)
θα χρησιμοποιησουμε την εντολη printkey


σε αυτο το δειγμα εχω κανει ποιο απλη αναλυση της Ram και στην ευρεση τoυ ιου ωστε να καταλαβετε
για να δειτε μια ποιο προχωρημενη αναλυση τοτε κοταξτε εδω

Γενικα η ηλεκτρονικη εγκληματολογια ειναι ενας κλαδος πολυ καλος οσοι θελουνε να ασχοληθουνε ας κοιταξουν εδω ,θα βρειτε ολα τα παραδειγματα των εντολων,δειγματα απο RAM απο διαφορα μολυσμενα λειτουργικα  επισης θα σας βοηθησει παρα πολυ αν διαβασετε εδω

Δεν υπάρχουν σχόλια: