16 KiB
Analiza zlonamernog softvera
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Forenzički CheatSheets
https://www.jaiminton.com/cheatsheet/DFIR/#
Online usluge
Offline antivirusni i detekcioni alati
Yara
Instalacija
sudo apt-get install -y yara
Priprema pravila
Koristite ovaj skript za preuzimanje i spajanje svih yara pravila za maliciozni softver sa github-a: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Kreirajte direktorijum rules i izvršite skriptu. Ovo će kreirati fajl nazvan malware_rules.yar koji sadrži sva yara pravila za maliciozni softver.
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
Skeniranje
Skeniranje je prvi korak u analizi malvera. Cilj skeniranja je identifikacija malicioznih datoteka ili aktivnosti na sistemu. Postoje različiti alati i tehnike koje se mogu koristiti za skeniranje malvera.
Statičko skeniranje
Statičko skeniranje se odnosi na analizu malvera bez njegovog izvršavanja. Ovo se može postići pregledom binarnih datoteka, dekompilacijom izvršnih datoteka ili analizom koda. Statičko skeniranje može otkriti poznate malvera na osnovu prepoznatljivih potpisa ili karakteristika.
Dinamičko skeniranje
Dinamičko skeniranje se odnosi na analizu malvera tokom njegovog izvršavanja. Ovo se može postići pokretanjem malvera u kontrolisanom okruženju i praćenjem njegovih aktivnosti. Dinamičko skeniranje može otkriti skrivene ili promenljive funkcionalnosti malvera.
Heurističko skeniranje
Heurističko skeniranje se odnosi na upotrebu heurističkih pravila ili algoritama za otkrivanje nepoznatih malvera. Ovo se može postići analizom ponašanja malvera ili identifikacijom sumnjivih aktivnosti. Heurističko skeniranje može otkriti nove ili prilagođene malvere koji se ne prepoznaju putem statičkog skeniranja.
Skeniranje mreže
Skeniranje mreže se odnosi na identifikaciju malvera na mrežnom nivou. Ovo se može postići analizom mrežnog saobraćaja, detekcijom sumnjivih veza ili identifikacijom malicioznih IP adresa. Skeniranje mreže može otkriti malvere koji se šire putem mreže ili koriste mrežne resurse za svoje aktivnosti.
Skeniranje memorije
Skeniranje memorije se odnosi na analizu malvera u operativnoj memoriji. Ovo se može postići pregledom procesa, identifikacijom sumnjivih ili zaraženih procesa, ili pronalaženjem malicioznih injekcija u memoriji. Skeniranje memorije može otkriti malvere koji se izvršavaju u memoriji i izbegavaju detekciju na disku.
Skeniranje registra
Skeniranje registra se odnosi na analizu malvera u Windows registru. Ovo se može postići identifikacijom sumnjivih unosa registra, pronalaženjem malicioznih ključeva ili analizom promena u registru. Skeniranje registra može otkriti malvere koji koriste registar za svoje aktivnosti ili za održavanje upornosti.
Skeniranje fajl sistema
Skeniranje fajl sistema se odnosi na analizu malvera na nivou fajl sistema. Ovo se može postići pregledom fajlova, identifikacijom sumnjivih ili zaraženih fajlova, ili pronalaženjem skrivenih fajlova. Skeniranje fajl sistema može otkriti malvere koji se kriju u fajlovima ili koriste fajl sistem za širenje.
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
YaraGen: Proverite za zlonamerni softver i kreirajte pravila
Možete koristiti alatku YaraGen da generišete yara pravila iz binarnog fajla. Pogledajte ove tutorijale: Deo 1, Deo 2, Deo 3
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
ClamAV
Instalacija
Da biste instalirali ClamAV, možete koristiti sledeće komande:
sudo apt-get update
sudo apt-get install clamav
Ažuriranje baza podataka
Nakon instalacije, trebali biste ažurirati baze podataka ClamAV-a. To možete uraditi pomoću sledeće komande:
sudo freshclam
Skeniranje fajlova
Da biste skenirali određeni fajl ili direktorijum, koristite sledeću komandu:
clamscan <putanja_do_fajla_ili_direktorijuma>
Izveštaj o skeniranju
Da biste generisali izveštaj o skeniranju, koristite sledeću komandu:
clamscan -r --bell -i <putanja_do_fajla_ili_direktorijuma> > izvestaj.txt
Ova komanda će generisati izveštaj o skeniranju i sačuvati ga u fajlu "izvestaj.txt".
sudo apt-get install -y clamav
Skeniranje
Skeniranje je prvi korak u analizi malvera. Cilj skeniranja je identifikacija malicioznih datoteka ili aktivnosti na sistemu. Postoje različiti alati i tehnike koje se mogu koristiti za skeniranje malvera.
Antivirus skeniranje
Antivirusni softver je jedan od najčešćih alata koji se koristi za skeniranje malvera. On analizira datoteke i sistem kako bi pronašao potencijalno zlonamerne ili sumnjive aktivnosti. Antivirusni softver koristi bazu podataka sa potpisima malvera kako bi prepoznao poznate maliciozne datoteke. Međutim, ova metoda ima ograničenja jer se oslanja samo na prepoznavanje poznatih malvera.
Heurističko skeniranje
Heurističko skeniranje je tehnika koja se koristi za otkrivanje novih ili nepoznatih malvera. Umesto da se oslanja na bazu podataka sa potpisima, heurističko skeniranje analizira ponašanje datoteka i sistema kako bi identifikovalo sumnjive aktivnosti. Ova tehnika može biti efikasnija u otkrivanju novih malvera, ali takođe može generisati lažno pozitivne rezultate.
Analiza paketa
Analiza paketa je proces pregledanja mrežnog saobraćaja kako bi se identifikovali maliciozni ili sumnjivi paketi. Ova tehnika može otkriti malver koji koristi mrežu za komunikaciju sa kontrolnim serverima ili za prenos podataka. Alati poput Wireshark-a mogu se koristiti za analizu paketa.
Analiza registra
Analiza registra je proces pregledanja registra sistema kako bi se identifikovali maliciozni unos ili promene. Malveri često koriste registar za postavljanje svojih ključeva i vrednosti kako bi ostali prisutni na sistemu. Pregledanje registra može otkriti sumnjive unose koji ukazuju na prisustvo malvera.
Analiza datoteka
Analiza datoteka uključuje pregledanje malicioznih datoteka kako bi se identifikovali njihovi karakteristični atributi. Ovo može uključivati pregledanje metapodataka, analizu sadržaja datoteke ili izvršavanje datoteke u sandbox okruženju radi identifikacije malicioznih aktivnosti.
Analiza ponašanja
Analiza ponašanja je proces praćenja aktivnosti malvera na sistemu kako bi se identifikovali njegovi koraci i efekti. Ovo može uključivati praćenje mrežne komunikacije, promene u sistemskim datotekama ili registrovanje aktivnosti u logovima. Praćenje ponašanja malvera može pružiti uvid u njegove funkcionalnosti i ciljeve.
Analiza malvera u sandbox okruženju
Sandbox okruženje je izolovano okruženje u kojem se malver može izvršiti radi analize njegovih aktivnosti. Ovo omogućava istraživačima da prate ponašanje malvera i identifikuju njegove funkcionalnosti bez rizika od infekcije sistema. Sandbox okruženje može biti korisno za otkrivanje skrivenih funkcionalnosti malvera ili za identifikaciju novih varijanti.
Analiza malvera u virtualnoj mašini
Virtualna mašina je softversko okruženje koje emulira fizički računar. Analiza malvera u virtualnoj mašini omogućava istraživačima da izvrše malver u kontrolisanom okruženju i prate njegove aktivnosti. Ovo može biti korisno za identifikaciju malvera koji su dizajnirani da izbegnu otkrivanje u sandbox okruženju.
Analiza malvera u kontejneru
Kontejner je izolovano okruženje koje omogućava izvršavanje aplikacija i procesa. Analiza malvera u kontejneru omogućava istraživačima da izvrše malver u izolovanom okruženju i prate njegove aktivnosti. Ovo može biti korisno za identifikaciju malvera koji su dizajnirani da izbegnu otkrivanje u virtualnim mašinama ili sandbox okruženjima.
Analiza malvera u oblaku
Analiza malvera u oblaku omogućava istraživačima da izvrše malver na udaljenom serveru i prate njegove aktivnosti. Ovo može biti korisno za identifikaciju malvera koji su dizajnirani da izbegnu otkrivanje u lokalnim okruženjima.
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
Capa
Capa otkriva potencijalno zlonamerne sposobnosti u izvršnim datotekama: PE, ELF, .NET. Dakle, pronaći će stvari poput Att&ck taktika ili sumnjivih sposobnosti kao što su:
- provera greške OutputDebugString
- pokretanje kao servis
- kreiranje procesa
Preuzmite ga sa Github repozitorijuma.
IOC-ovi
IOC znači Indikator kompromitacije. IOC je skup uslova koji identifikuju potencijalno neželjeni softver ili potvrđeni malver. Plavi timovi koriste ovu vrstu definicije da traže ovu vrstu zlonamernih datoteka u svojim sistemima i mrežama.
Deljenje ovih definicija je veoma korisno jer kada se malver identifikuje na računaru i IOC za taj malver se kreira, drugi Plavi timovi ga mogu koristiti da brže identifikuju malver.
Alatka za kreiranje ili modifikaciju IOC-ova je IOC Editor.
Možete koristiti alatke poput Redline da tražite definisane IOC-ove na uređaju.
Loki
Loki je skener za jednostavne indikatore kompromitacije.
Detekcija se zasniva na četiri metode detekcije:
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) je skener zlonamernog softvera za Linux koji je objavljen pod GNU GPLv2 licencom, a dizajniran je za pretnje sa kojima se susreću u deljenim hosting okruženjima. Koristi podatke o pretnjama sa sistema za otkrivanje upada na mrežnom rubu kako bi izdvojio zlonamerni softver koji se aktivno koristi u napadima i generiše potpise za detekciju. Pored toga, podaci o pretnjama se takođe dobijaju iz korisničkih prijava putem funkcije LMD checkout i resursa zajednice za zlonamerni softver.
rkhunter
Alati poput rkhunter mogu se koristiti za proveru datotečnog sistema radi mogućih rootkitova i zlonamernog softvera.
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSS je alat koji će pokušati da pronađe obfuskirane stringove unutar izvršnih datoteka koristeći različite tehnike.
PEpper
PEpper proverava neke osnovne stvari unutar izvršne datoteke (binarni podaci, entropija, URL-ovi i IP adrese, neka pravila yara).
PEstudio
PEstudio je alat koji omogućava dobijanje informacija o Windows izvršnim datotekama kao što su uvozi, izvozi, zaglavlja, ali takođe će proveriti virus total i pronaći potencijalne Att&ck tehnike.
Detect It Easy(DiE)
DiE je alat za otkrivanje da li je datoteka šifrovana i takođe pronalazi pakere.
NeoPI
NeoPI je Python skripta koja koristi razne statističke metode za otkrivanje obfuskiranog i šifrovanog sadržaja unutar tekstualnih/skriptnih datoteka. Namera NeoPI-ja je da pomogne u otkrivanju skrivenog koda web školjki.
php-malware-finder
PHP-malware-finder se najbolje trudi da otkrije obfuskirani/sumnjivi kod kao i datoteke koje koriste PHP funkcije često korištene u malverima/web školjkama.
Apple binarne potpise
Prilikom provere nekog uzorka malvera uvek treba proveriti potpis binarne datoteke jer se razvijač koji ga je potpisao može već povezivati sa malverom.
#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
Tehnike otkrivanja
Stacking datoteka
Ako znate da se neki folder koji sadrži datoteke veb servera poslednji put ažurirao na neki datum, proverite datum kada su sve datoteke na veb serveru kreirane i izmenjene, i ako je bilo koji datum sumnjiv, proverite tu datoteku.
Referentne vrednosti
Ako se datoteke u folderu ne bi trebale menjati, možete izračunati heš originalnih datoteka u folderu i uporediti ih sa trenutnim. Sve što je izmenjeno biće sumnjivo.
Statistička analiza
Kada se informacije čuvaju u logovima, možete proveriti statistiku kao što je koliko puta je svaka datoteka veb servera pristupana, jer web šel može biti jedan od najčešćih.
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite oglašavanje vaše kompanije na HackTricks-u ili preuzmete HackTricks u PDF formatu, proverite PLANOVE ZA PRETPLATU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.