hacktricks/forensics/basic-forensic-methodology/malware-analysis.md

12 KiB
Raw Blame History

Ανάλυση Malware

{% hint style="success" %} Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)

Υποστηρίξτε το HackTricks
{% endhint %}

Φύλλα απατηλών ελέγχων

https://www.jaiminton.com/cheatsheet/DFIR/#

Online Υπηρεσίες

Εργαλεία Αντιιών και Εντοπισμού Εκτός Δικτύου

Yara

Εγκατάσταση

sudo apt-get install -y yara

Προετοιμασία κανόνων

Χρησιμοποιήστε αυτό το σενάριο για να κατεβάσετε και να συγχωνεύσετε όλους τους κανόνες κακόβουλου λογισμικού yara από το github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Δημιουργήστε τον φάκελο rules και εκτελέστε το. Αυτό θα δημιουργήσει ένα αρχείο με το όνομα malware_rules.yar το οποίο περιέχει όλους τους κανόνες yara για κακόβουλο λογισμικό.

wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py

Σάρωση

yara -w malware_rules.yar image  #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder

YaraGen: Έλεγχος για malware και Δημιουργία κανόνων

Μπορείτε να χρησιμοποιήσετε το εργαλείο YaraGen για τη δημιουργία κανόνων yara από ένα δυαδικό αρχείο. Ρίξτε μια ματιά σε αυτά τα εκπαιδευτικά μαθήματα: Μέρος 1, Μέρος 2, Μέρος 3

python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m  ../../mals/

ClamAV

Εγκατάσταση

sudo apt-get install -y clamav

Σάρωση

sudo freshclam      #Update rules
clamscan filepath   #Scan 1 file
clamscan folderpath #Scan the whole folder

Capa

Capa ανιχνεύει ενδεχομένως κακόβουλες ικανότητες σε εκτελέσιμα: PE, ELF, .NET. Έτσι θα βρει πράγματα όπως τατικές Att&ck, ή ύποπτες ικανότητες όπως:

  • έλεγχος για σφάλμα OutputDebugString
  • εκτέλεση ως υπηρεσία
  • δημιουργία διεργασίας

Βρείτε το στο Github repo.

IOCs

IOC σημαίνει Indicator Of Compromise. Ένα IOC είναι ένα σύνολο συνθηκών που αναγνωρίζουν κάποιο ενδεχομένως ανεπιθύμητο λογισμικό ή επιβεβαιωμένο κακόβουλο λογισμικό. Οι ομάδες Blue χρησιμοποιούν αυτού του είδους τον ορισμό για να αναζητήσουν αυτού του είδους τα κακόβουλα αρχεία στα συστήματά τους και δίκτυά τους.
Η κοινοποίηση αυτών των ορισμών είναι πολύ χρήσιμη καθώς όταν το κακόβουλο λογισμικό αναγνωρίζεται σε έναν υπολογιστή και δημιουργείται ένα IOC για αυτό το κακόβουλο λογισμικό, άλλες ομάδες Blue μπορούν να το χρησιμοποιήσουν για να αναγνωρίσουν το κακόβουλο λογισμικό πιο γρήγορα.

Ένα εργαλείο για τη δημιουργία ή τροποποίηση των IOCs είναι το IOC Editor.
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Redline για αναζήτηση ορισμένων IOCs σε μια συσκευή.

Loki

Loki είναι ένα εργαλείο σάρωσης για Simple Indicators of Compromise.
Η ανίχνευση βασίζεται σε τέσσερις μεθόδους ανίχνευσης:

1. File Name IOC
Regex match on full file path/name

2. Yara Rule Check
Yara signature matches on file data and process memory

3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files

4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)

Ανίχνευση Κακόβουλου Λογισμικού στο Linux

Το Linux Malware Detect (LMD) είναι ένα πρόγραμμα σάρωσης κακόβουλου λογισμικού για το Linux που κυκλοφορεί υπό την άδεια GNU GPLv2 και σχεδιάστηκε γύρω από τις απειλές που αντιμετωπίζονται σε περιβάλλοντα κοινής φιλοξενίας. Χρησιμοποιεί δεδομένα απειλών από συστήματα ανίχνευσης διείσδυσης στο άκρο του δικτύου για να εξάγει κακόβουλο λογισμικό που χρησιμοποιείται ενεργά σε επιθέσεις και δημιουργεί υπογραφές για ανίχνευση. Επιπλέον, τα δεδομένα απειλών προέρχονται επίσης από τις υποβολές χρηστών με το χαρακτηριστικό ελέγχου του LMD και από πόρους κοινότητας κακόβουλου λογισμικού.

rkhunter

Εργαλεία όπως το rkhunter μπορούν να χρησιμοποιηθούν για να ελέγξουν το σύστημα αρχείων για πιθανά rootkits και κακόβουλο λογισμικό.

sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]

FLOSS

FLOSS είναι ένα εργαλείο που θα προσπαθήσει να βρει αποκρυπτογραφημένες συμβολοσειρές μέσα σε εκτελέσιμα χρησιμοποιώντας διαφορετικές τεχνικές.

PEpper

Το PEpper ελέγχει μερικά βασικά πράγματα μέσα στο εκτελέσιμο (δυαδικά δεδομένα, εντροπία, διευθύνσεις URL και IP, μερικούς κανόνες yara).

PEstudio

Το PEstudio είναι ένα εργαλείο που επιτρέπει την ανάκτηση πληροφοριών από Windows εκτελέσιμα όπως εισαγωγές, εξαγωγές, κεφαλίδες, αλλά θα ελέγξει επίσης τον ιό total και θα βρει πιθανές τεχνικές Att&ck.

Detect It Easy(DiE)

Το DiE είναι ένα εργαλείο για να ανιχνεύσει αν ένα αρχείο είναι κρυπτογραφημένο και επίσης να βρει packers.

NeoPI

Το NeoPI είναι ένα σενάριο Python που χρησιμοποιεί μια ποικιλία από στατιστικές μεθόδους για να ανιχνεύσει αποκρυπτογραφημένο και κρυπτογραφημένο περιεχόμενο μέσα σε αρχεία κειμένου/σεναρίων. Ο σκοπός του NeoPI είναι να βοηθήσει στην ανίχνευση κρυμμένου κώδικα web shell.

php-malware-finder

Το PHP-malware-finder κάνει το καλύτερο δυνατό για να ανιχνεύσει αποκρυπτογραφημένο/αμφισβητούμενο κώδικα καθώς και αρχεία που χρησιμοποιούν συχνά PHP λειτουργίες που χρησιμοποιούνται συχνά σε κακόβουλα προγράμματα/webshells.

Apple Binary Signatures

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

#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"

#Check if the apps contents have been modified
codesign --verify --verbose /Applications/Safari.app

#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app

Τεχνικές Ανίχνευσης

Στοίβα Αρχείων

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

Βάσεις

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

Στατιστική Ανάλυση

Όταν οι πληροφορίες αποθηκεύονται σε logs, μπορείτε να ελέγξετε στατιστικά στοιχεία όπως πόσες φορές κάθε αρχείο ενός web server έχει προσπελαστεί καθώς ένα web shell μπορεί να είναι ένα από τα πιο.