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

180 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ανάλυση Malware
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε** 💬 [**στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα χάκερ υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
{% endhint %}
## Σελίδες Χειροκρίτων Forensics
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
## Online Υπηρεσίες
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
* [HybridAnalysis](https://www.hybrid-analysis.com)
* [Koodous](https://koodous.com)
* [Intezer](https://analyze.intezer.com)
* [Any.Run](https://any.run/)
## Εργαλεία Αντιιών και Ανίχνευσης Εκτός Δικτύου
### Yara
#### Εγκατάσταση
```bash
sudo apt-get install -y yara
```
#### Προετοιμασία κανόνων
Χρησιμοποιήστε αυτό το σενάριο για να κατεβάσετε και να συγχωνεύσετε όλους τους κανόνες κακόβουλου λογισμικού yara από το github: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
Δημιουργήστε τον φάκελο _**rules**_ και εκτελέστε το. Αυτό θα δημιουργήσει ένα αρχείο με το όνομα _**malware\_rules.yar**_ το οποίο περιέχει όλους τους κανόνες yara για κακόβουλο λογισμικό.
```bash
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
```
#### Ανάλυση
```bash
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
```
#### YaraGen: Έλεγχος για malware και Δημιουργία κανόνων
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**YaraGen**](https://github.com/Neo23x0/yarGen) για τη δημιουργία κανόνων yara από ένα δυαδικό αρχείο. Ρίξτε μια ματιά σε αυτά τα εκπαιδευτικά: [**Μέρος 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Μέρος 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Μέρος 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
```bash
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
```
### ClamAV
#### Εγκατάσταση
```
sudo apt-get install -y clamav
```
#### Ανάλυση
```bash
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
```
### [Capa](https://github.com/mandiant/capa)
**Capa** ανιχνεύει ενδεχομένως κακόβουλες **ικανότητες** σε εκτελέσιμα: PE, ELF, .NET. Έτσι θα βρει πράγματα όπως τατικές Att\&ck, ή ύποπτες ικανότητες όπως:
* έλεγχος για σφάλμα OutputDebugString
* εκτέλεση ως υπηρεσία
* δημιουργία διεργασίας
Βρείτε το στο [**Github αποθετήριο**](https://github.com/mandiant/capa).
### IOCs
IOC σημαίνει Indicator Of Compromise. Ένα IOC είναι ένα σύνολο **συνθηκών που αναγνωρίζουν** κάποιο ενδεχομένως ανεπιθύμητο λογισμικό ή επιβεβαιωμένο **κακόβουλο λογισμικό**. Οι ομάδες Blue χρησιμοποιούν αυτού του είδους τον ορισμό για να **αναζητήσουν αυτού του είδους τα κακόβουλα αρχεία** στα **συστήματά τους** και **δίκτυά τους**.\
Η κοινοποίηση αυτών των ορισμών είναι πολύ χρήσιμη καθώς όταν το κακόβουλο λογισμικό αναγνωρίζεται σε έναν υπολογιστή και δημιουργείται ένα IOC για αυτό το κακόβουλο λογισμικό, άλλες ομάδες Blue μπορούν να το χρησιμοποιήσουν για να αναγνωρίσουν το κακόβουλο λογισμικό πιο γρήγορα.
Ένα εργαλείο για τη δημιουργία ή τροποποίηση των IOCs είναι το [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το [**Redline**](https://www.fireeye.com/services/freeware/redline.html) για να **αναζητήσετε ορισμένα IOCs σε μια συσκευή**.
### Loki
[**Loki**](https://github.com/Neo23x0/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)**](https://www.rfxn.com/projects/linux-malware-detect/) είναι ένα πρόγραμμα σάρωσης κακόβουλου λογισμικού για το Linux που κυκλοφορεί υπό την άδεια GNU GPLv2, σχεδιασμένο γύρω από τις απειλές που αντιμετωπίζονται σε περιβάλλοντα κοινής φιλοξενίας. Χρησιμοποιεί δεδομένα απειλών από συστήματα ανίχνευσης διεισδύσεων στο άκρο του δικτύου για να εξάγει κακόβουλο λογισμικό που χρησιμοποιείται ενεργά σε επιθέσεις και δημιουργεί υπογραφές για ανίχνευση. Επιπλέον, τα δεδομένα απειλών προέρχονται επίσης από τις υποβολές χρηστών με το χαρακτηριστικό ελέγχου του LMD και από πόρους κοινότητας κακόβουλου λογισμικού.
### rkhunter
Εργαλεία όπως το [**rkhunter**](http://rkhunter.sourceforge.net) μπορούν να χρησιμοποιηθούν για να ελέγξουν το σύστημα αρχείων για πιθανά **rootkits** και κακόβουλο λογισμικό.
```bash
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
```
### FLOSS
[**FLOSS**](https://github.com/mandiant/flare-floss) είναι ένα εργαλείο που θα προσπαθήσει να βρει κρυπτογραφημένες συμβολοσειρές μέσα σε εκτελέσιμα χρησιμοποιώντας διαφορετικές τεχνικές.
### PEpper
[PEpper ](https://github.com/Th3Hurrican3/PEpper)ελέγχει μερικά βασικά πράγματα μέσα στο εκτελέσιμο (δυαδικά δεδομένα, εντροπία, διευθύνσεις URL και IP, μερικούς κανόνες yara).
### PEstudio
[PEstudio](https://www.winitor.com/download) είναι ένα εργαλείο που επιτρέπει να λάβετε πληροφορίες για τα Windows εκτελέσιμα όπως εισαγωγές, εξαγωγές, κεφαλίδες, αλλά θα ελέγξει επίσης τον ιό total και θα βρει πιθανές τεχνικές Att\&ck.
### Detect It Easy(DiE)
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) είναι ένα εργαλείο για να ανιχνεύσετε αν ένα αρχείο είναι **κρυπτογραφημένο** και επίσης να βρείτε **packers**.
### NeoPI
[**NeoPI** ](https://github.com/CiscoCXSecurity/NeoPI)είναι ένα σενάριο Python που χρησιμοποιεί μια ποικιλία από **στατιστικές μεθόδους** για να ανιχνεύσει **κρυπτογραφημένο** περιεχόμενο μέσα σε αρχεία κειμένου/σεναρίων. Ο σκοπός του NeoPI είναι να βοηθήσει στην **ανίχνευση κρυμμένου κώδικα web shell**.
### **php-malware-finder**
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) κάνει το καλύτερο δυνατό για να ανιχνεύσει **κρυπτογραφημένο**/**αμφισβητούμενο κώδικα** καθώς και αρχεία που χρησιμοποιούν συχνά **PHP** λειτουργίες που χρησιμοποιούνται συχνά σε **κακόβουλα προγράμματα**/webshells.
### Apple Binary Signatures
Όταν ελέγχετε κάποιο **δείγμα κακόβουλου λογισμικοώ** πρέπει πάντα να **ελέγχετε την υπογραφή** του δυαδικού καθώς ο **προγραμματιστής** που το υπέγραψε μπορεί να είναι ήδη **σχετικός** με **κακόβουλο λογισμικό**.
```bash
#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:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε χάκινγκ κόλπα υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
{% endhint %}