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

309 lines
13 KiB
Markdown
Raw Normal View History

2024-02-11 02:07:06 +00:00
# Malware Analise
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-30 10:12:47 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 02:07:06 +00:00
## Forensiese Spiekbriefies
2022-05-01 16:32:23 +00:00
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
2024-02-11 02:07:06 +00:00
## Aanlyn Dienste
* [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/)
2024-02-11 02:07:06 +00:00
## Aflyn Antivirus en Opvangs Gereedskap
### Yara
2024-02-11 02:07:06 +00:00
#### Installeer
2020-12-21 20:50:30 +00:00
```bash
sudo apt-get install -y yara
```
2024-02-11 02:07:06 +00:00
#### Maak reëls gereed
2024-02-11 02:07:06 +00:00
Gebruik hierdie skrip om al die yara malware reëls vanaf GitHub af te laai en saam te voeg: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
Skep die _**reëls**_ gids en voer dit uit. Dit sal 'n lêer genaamd _**malware\_rules.yar**_ skep wat al die yara reëls vir malware bevat.
2020-12-21 20:50:30 +00:00
```bash
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
```
2024-02-11 02:07:06 +00:00
#### Skandering
2024-02-11 02:07:06 +00:00
Om te begin met die analise van malware, is dit belangrik om 'n skandering uit te voer op die verdagte lêer. Hierdie skandering sal help om enige bekende malware te identifiseer en om te bepaal of die lêer 'n potensiële bedreiging is.
2024-02-11 02:07:06 +00:00
Daar is verskeie skanderingstegnieke wat gebruik kan word, soos die gebruik van 'n antivirusprogram, 'n sandboks, of 'n statiese analisehulpmiddel. Dit is belangrik om 'n betroubare en up-to-date skanderingstegniek te gebruik om die beste resultate te verseker.
Die skandering moet uitgevoer word op 'n geïsoleerde stelsel of in 'n virtuele omgewing om te voorkom dat die malware versprei of skade aanrig. Dit is ook belangrik om die skandering uit te voer met behulp van 'n gebruiker met beperkte regte om te voorkom dat die malware bevoorregte toegang verkry.
As die skandering 'n bekende malware identifiseer, moet die nodige stappe geneem word om die malware te verwyder en die impak daarvan te beperk. As die skandering egter nie enige bekende malware identifiseer nie, moet verdere analise uitgevoer word om die aard en funksionaliteit van die lêer te bepaal.
2020-12-21 20:50:30 +00:00
```bash
yara -w malware_rules.yar image #Scan 1 file
2022-09-08 08:47:03 +00:00
yara -w malware_rules.yar folder #Scan the whole folder
```
2024-02-11 02:07:06 +00:00
#### YaraGen: Kontroleer vir malware en Skep reëls
2024-02-11 02:07:06 +00:00
Jy kan die instrument [**YaraGen**](https://github.com/Neo23x0/yarGen) gebruik om yara-reëls te genereer vanaf 'n binêre lêer. Kyk na hierdie tutoriale: [**Deel 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Deel 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Deel 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
2021-08-16 23:29:43 +00:00
2024-02-11 02:07:06 +00:00
#### Installeer
2021-08-16 23:29:43 +00:00
2021-08-18 23:59:47 +00:00
```bash
2024-02-11 02:07:06 +00:00
sudo apt-get install clamav
2021-08-18 23:59:47 +00:00
```
2024-02-11 02:07:06 +00:00
#### Bijwerken van de virusdefinities
```bash
sudo freshclam
```
#### Scannen van een bestand
```bash
clamscan <bestandsnaam>
```
#### Scannen van een map
```bash
clamscan -r <mapnaam>
```
#### Scannen van het hele systeem
```bash
clamscan -r /
```
#### Rapport genereren van de scanresultaten
```bash
clamscan -r --log=<rapportnaam>.log /
```
#### Quarantaine van geïnfecteerde bestanden
```bash
clamscan -r --move=<quarantainemap> /
```
#### Verwijderen van geïnfecteerde bestanden
2024-02-11 02:07:06 +00:00
```bash
clamscan -r --remove /
```
#### Uitsluiten van bestanden of mappen van de scan
2024-02-11 02:07:06 +00:00
```bash
clamscan -r --exclude=<bestand/mappad> /
```
#### Uitsluiten van specifieke bestandsextensies van de scan
```bash
clamscan -r --exclude=".extensie" /
```
#### Uitsluiten van specifieke bestandstypen van de scan
```bash
clamscan -r --exclude="type/bestand" /
```
#### Uitsluiten van specifieke bestandsgroottes van de scan
```bash
clamscan -r --exclude=">grootte" /
```
#### Uitsluiten van specifieke bestandskenmerken van de scan
```bash
clamscan -r --exclude="kenmerk" /
```
#### Uitsluiten van specifieke bestandskenmerken van de scan met behulp van reguliere expressies
```bash
clamscan -r --exclude="regex:patroon" /
```
#### Uitsluiten van specifieke bestanden of mappen van de scan met behulp van een lijst
```bash
clamscan -r --exclude-from=<lijstbestand> /
```
#### Uitsluiten van specifieke bestandsextensies van de scan met behulp van een lijst
```bash
clamscan -r --exclude=".extensie" --exclude-from=<lijstbestand> /
```
#### Uitsluiten van specifieke bestandstypen van de scan met behulp van een lijst
```bash
clamscan -r --exclude="type/bestand" --exclude-from=<lijstbestand> /
```
#### Uitsluiten van specifieke bestandskenmerken van de scan met behulp van een lijst
```bash
clamscan -r --exclude="kenmerk" --exclude-from=<lijstbestand> /
```
#### Uitsluiten van specifieke bestandskenmerken van de scan met behulp van reguliere expressies in een lijst
```bash
clamscan -r --exclude="regex:patroon" --exclude-from=<lijstbestand> /
```
```
sudo apt-get install -y clamav
```
2024-02-11 02:07:06 +00:00
#### Skandering
Om 'n malware-analise te begin, is dit belangrik om die betrokke stelsel te skandeer vir enige moontlike malware. Hier is 'n paar skanderingstegnieke wat gebruik kan word:
2024-02-11 02:07:06 +00:00
- **Antivirus-skandering**: Voer 'n volledige skandering uit met 'n betroubare antivirusprogram om enige bekende malware te identifiseer.
- **Rootkit-skandering**: Gebruik 'n spesialiteitstool om te soek na enige versteekte rootkits wat moontlik op die stelsel geïnstalleer kan wees.
- **Netwerkverkeersanalise**: Monitor die netwerkverkeer om enige verdagte aktiwiteit of ongewone patrone te identifiseer.
- **Bestandshashing**: Skep 'n hashtabel van alle lêers op die stelsel en vergelyk dit met 'n databasis van bekende skadelike lêers.
- **Geheue-analise**: Analiseer die stelsel se geheue vir enige verdagte prosesse of aktiwiteit.
2024-02-11 02:07:06 +00:00
Dit is belangrik om 'n kombinasie van hierdie skanderingstegnieke te gebruik om 'n volledige prentjie van die stelsel se veiligheid te verkry.
2020-12-21 20:50:30 +00:00
```bash
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
2022-09-08 08:47:03 +00:00
clamscan folderpath #Scan the whole folder
```
### [Capa](https://github.com/mandiant/capa)
2024-02-11 02:07:06 +00:00
**Capa** ontdek potensieel skadelike **vermoëns** in uitvoerbare lêers: PE, ELF, .NET. Dit sal dinge soos Att\&ck-taktieke of verdagte vermoëns soos die volgende vind:
2024-02-11 02:07:06 +00:00
* kontroleer vir OutputDebugString-fout
* hardloop as 'n diens
* skep proses
2024-02-11 02:07:06 +00:00
Kry dit in die [**Github-opberging**](https://github.com/mandiant/capa).
### IOCs
2021-08-16 23:29:43 +00:00
2024-02-11 02:07:06 +00:00
IOC beteken Indicator Of Compromise. 'n IOC is 'n stel **voorwaardes wat** enige potensieel ongewenste sagteware of bevestigde **malware identifiseer**. Blou-spanne gebruik hierdie tipe definisie om hierdie soort skadelike lêers in hul stelsels en netwerke te **soek**.\
Dit is baie nuttig om hierdie definisies te deel, want as malware in 'n rekenaar geïdentifiseer word en 'n IOC vir daardie malware geskep word, kan ander Blou-spanne dit gebruik om die malware vinniger te identifiseer.
2021-08-16 23:29:43 +00:00
2024-02-11 02:07:06 +00:00
'n Hulpmiddel om IOCs te skep of te wysig is [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\
Jy kan gereedskap soos [**Redline**](https://www.fireeye.com/services/freeware/redline.html) gebruik om gedefinieerde IOCs in 'n toestel te **soek**.
2021-08-16 23:29:43 +00:00
### Loki
2024-02-11 02:07:06 +00:00
[**Loki**](https://github.com/Neo23x0/Loki) is 'n skandeerder vir Eenvoudige Indicators of Compromise.\
Deteksie is gebaseer op vier deteksie-metodes:
```
1. File Name IOC
2024-02-11 02:07:06 +00:00
Regex match on full file path/name
2. Yara Rule Check
2024-02-11 02:07:06 +00:00
Yara signature matches on file data and process memory
3. Hash Check
2024-02-11 02:07:06 +00:00
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
2024-02-11 02:07:06 +00:00
Compares process connection endpoints with C2 IOCs (new since version v.10)
```
### Linux Malware Detect
2024-02-11 02:07:06 +00:00
[**Linux Malware Detect (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) is 'n kwaadwillige skanderingstool vir Linux wat vrygestel is onder die GNU GPLv2-lisensie en ontwerp is vir die bedreigings wat in gedeelde gehoste omgewings voorkom. Dit maak gebruik van bedreigingsdata van netwerkrandindringingsdeteksiesisteme om aktief gebruikte kwaadware in aanvalle te onttrek en handtekeninge vir opsporing te genereer. Daarbenewens word bedreigingsdata ook afgelei van gebruikersinskrywings met die LMD-uitklooi-funksie en kwaadware-gemeenskapsbronne.
### rkhunter
2020-12-23 19:52:25 +00:00
2024-02-11 02:07:06 +00:00
Hulpmiddels soos [**rkhunter**](http://rkhunter.sourceforge.net) kan gebruik word om die lêersisteem vir moontlike **rootkits** en kwaadware te ondersoek.
2020-12-23 19:52:25 +00:00
```bash
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
```
### FLOSS
2024-02-11 02:07:06 +00:00
[**FLOSS**](https://github.com/mandiant/flare-floss) is 'n instrument wat sal probeer om versluierde strings binne uitvoerbare lêers te vind deur gebruik te maak van verskillende tegnieke.
### PEpper
2020-12-23 19:52:25 +00:00
2024-02-11 02:07:06 +00:00
[PEpper](https://github.com/Th3Hurrican3/PEpper) kontroleer sekere basiese dinge binne die uitvoerbare lêer (binêre data, entropie, URL's en IP-adresse, sekere yara-reëls).
2020-12-23 19:52:25 +00:00
### PEstudio
2024-02-11 02:07:06 +00:00
[PEstudio](https://www.winitor.com/download) is 'n instrument wat inligting oor Windows-uitvoerbare lêers kan verkry, soos invoer, uitvoer, koppe, maar dit sal ook virus totaal kontroleer en potensiële Att\&ck-tegnieke vind.
### Detect It Easy(DiE)
2024-02-11 02:07:06 +00:00
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) is 'n instrument om te bepaal of 'n lêer **versleutel** is en ook om **pakkers** te vind.
### NeoPI
2024-02-11 02:07:06 +00:00
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) is 'n Python-skripsie wat verskeie **statistiese metodes** gebruik om **versluierde** en **versleutelde** inhoud binne teks-/skripslêers op te spoor. Die beoogde doel van NeoPI is om te help met die opsporing van verborge webshell-kode.
### **php-malware-finder**
2024-02-11 02:07:06 +00:00
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) doen sy uiterste bes om **versluierde**/**dodgy kode** asook lêers wat PHP-funksies gebruik wat dikwels in **malware**/webshells gebruik word, op te spoor.
2024-02-11 02:07:06 +00:00
### Apple Binêre Handtekeninge
2024-02-11 02:07:06 +00:00
Wanneer jy 'n **malware monster** ondersoek, moet jy altyd die handtekening van die binêre lêer **ondersoek**, aangesien die **ontwikkelaar** wat dit onderteken het, moontlik al verband hou met **malware**.
```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
```
2024-02-11 02:07:06 +00:00
## Opsoektegnieke
2024-02-11 02:07:06 +00:00
### Lêerstapel
2024-02-11 02:07:06 +00:00
As jy weet dat 'n sekere **gids wat die lêers van 'n webbediener bevat, laas op 'n sekere datum opgedateer is**, **kontroleer** die **datum** waarop al die **lêers** in die webbediener geskep en gewysig is, en as enige datum **verdag voorkom**, kontroleer daardie lêer.
2024-02-11 02:07:06 +00:00
### Basiese lyn
2024-02-11 02:07:06 +00:00
As die lêers van 'n gids **nie gewysig behoort te wees nie**, kan jy die **hak** van die **oorspronklike lêers** van die gids bereken en dit **vergelyk** met die **huidige** lêers. Enige iets wat gewysig is, sal **verdag voorkom**.
2024-02-11 02:07:06 +00:00
### Statistiese analise
2024-02-11 02:07:06 +00:00
Wanneer die inligting in loglêers gestoor word, kan jy **statistieke soos hoeveel keer elke lêer van 'n webbediener as 'n webshell benader is**, nagaan.
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-30 10:12:47 +00:00
2024-02-11 02:07:06 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks in PDF aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>