hacktricks/generic-methodologies-and-resources/basic-forensic-methodology/malware-analysis.md

14 KiB
Raw Permalink Blame History

Ανάλυση Malware

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

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

Σελίδες Χειροκρίτων Forensics

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 αποθετήριο.

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 (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 μπορεί να είναι ένα από τα πιο.

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

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