hacktricks/forensics/basic-forensic-methodology/malware-analysis.md
2024-02-11 02:07:06 +00:00

13 KiB
Raw Blame History

Malware Analise

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Forensiese Spiekbriefies

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

Aanlyn Dienste

Aflyn Antivirus en Opvangs Gereedskap

Yara

Installeer

sudo apt-get install -y yara

Maak reëls gereed

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
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.

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

Skandering

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.

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.

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

YaraGen: Kontroleer vir malware en Skep reëls

Jy kan die instrument YaraGen gebruik om yara-reëls te genereer vanaf 'n binêre lêer. Kyk na hierdie tutoriale: Deel 1, Deel 2, Deel 3

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

ClamAV

Installeer

sudo apt-get install clamav

Bijwerken van de virusdefinities

sudo freshclam

Scannen van een bestand

clamscan <bestandsnaam>

Scannen van een map

clamscan -r <mapnaam>

Scannen van het hele systeem

clamscan -r /

Rapport genereren van de scanresultaten

clamscan -r --log=<rapportnaam>.log /

Quarantaine van geïnfecteerde bestanden

clamscan -r --move=<quarantainemap> /

Verwijderen van geïnfecteerde bestanden

clamscan -r --remove /

Uitsluiten van bestanden of mappen van de scan

clamscan -r --exclude=<bestand/mappad> /

Uitsluiten van specifieke bestandsextensies van de scan

clamscan -r --exclude=".extensie" /

Uitsluiten van specifieke bestandstypen van de scan

clamscan -r --exclude="type/bestand" /

Uitsluiten van specifieke bestandsgroottes van de scan

clamscan -r --exclude=">grootte" /

Uitsluiten van specifieke bestandskenmerken van de scan

clamscan -r --exclude="kenmerk" /

Uitsluiten van specifieke bestandskenmerken van de scan met behulp van reguliere expressies

clamscan -r --exclude="regex:patroon" /

Uitsluiten van specifieke bestanden of mappen van de scan met behulp van een lijst

clamscan -r --exclude-from=<lijstbestand> /

Uitsluiten van specifieke bestandsextensies van de scan met behulp van een lijst

clamscan -r --exclude=".extensie" --exclude-from=<lijstbestand> /

Uitsluiten van specifieke bestandstypen van de scan met behulp van een lijst

clamscan -r --exclude="type/bestand" --exclude-from=<lijstbestand> /

Uitsluiten van specifieke bestandskenmerken van de scan met behulp van een lijst

clamscan -r --exclude="kenmerk" --exclude-from=<lijstbestand> /

Uitsluiten van specifieke bestandskenmerken van de scan met behulp van reguliere expressies in een lijst

clamscan -r --exclude="regex:patroon" --exclude-from=<lijstbestand> /
sudo apt-get install -y clamav

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:

  • 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.

Dit is belangrik om 'n kombinasie van hierdie skanderingstegnieke te gebruik om 'n volledige prentjie van die stelsel se veiligheid te verkry.

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

Capa

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:

  • kontroleer vir OutputDebugString-fout
  • hardloop as 'n diens
  • skep proses

Kry dit in die Github-opberging.

IOCs

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.

'n Hulpmiddel om IOCs te skep of te wysig is IOC Editor.
Jy kan gereedskap soos Redline gebruik om gedefinieerde IOCs in 'n toestel te soek.

Loki

Loki is 'n skandeerder vir Eenvoudige Indicators of Compromise.
Deteksie is gebaseer op vier deteksie-metodes:

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 Malware Detect

Linux Malware Detect (LMD) 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

Hulpmiddels soos rkhunter kan gebruik word om die lêersisteem vir moontlike rootkits en kwaadware te ondersoek.

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

FLOSS

FLOSS is 'n instrument wat sal probeer om versluierde strings binne uitvoerbare lêers te vind deur gebruik te maak van verskillende tegnieke.

PEpper

PEpper kontroleer sekere basiese dinge binne die uitvoerbare lêer (binêre data, entropie, URL's en IP-adresse, sekere yara-reëls).

PEstudio

PEstudio 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)

DiE is 'n instrument om te bepaal of 'n lêer versleutel is en ook om pakkers te vind.

NeoPI

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

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.

Apple Binêre Handtekeninge

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.

#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

Opsoektegnieke

Lêerstapel

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.

Basiese lyn

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.

Statistiese analise

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.

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: