12 KiB
Ανάλυση Malware
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε 💬 στην ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε hacking tricks υποβάλλοντας PRs στα αποθετήρια HackTricks και HackTricks Cloud.
Φύλλα απατηλών ελέγχων
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 app’s 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 μπορεί να είναι ένα από τα πιο.