DFIR, EVIDENCE, TRIAGE

Digitālā forensika - praktiskās komandas

Biežāk lietotās Windows, Linux un macOS komandas, ar ko savākt pierādījumus, apskatīt tīkla datus un žurnālus. Augšā - vienkāršas diagrammas par to, kā notiek izmeklēšana. Tikai apmācībām un atļautai izmeklēšanai.

Pierādījumu iegūšanas secība

Order of Volatility (RFC 3227) - savāc gaistošāko pirmo

Order of volatility Septiņi pierādījumu līmeņi no gaistošākā (CPU/RAM) uz stabilāko (arhīvi), ar attiecīgajām komandām. Order of Volatility - RFC 3227 Jo augstāk, jo ātrāk dati pazūd - savāc tos pirmos Savāc no augšas uz leju 1. CPU reģistri un kešatmiņa nanosekundes - praktiski neiegūstami (hardware-level) 2. RAM - operatīvā atmiņa procesi, tīkla savienojumi, atslēgas, injicēts kods AVML, winpmem, LiME 3. Tīkla stāvoklis aktīvie savienojumi, ARP, DNS kešs, maršruti ss, netstat -ano, arp -a 4. Pagaidu faili / swap /tmp, pagefile.sys, hiberfil.sys mount, ls, find 5. Disks (HDD / SSD) precīza diska kopija un hash pārbaude dd, ddrescue, sha256sum 6. Žurnāli citā serverī syslog, SIEM, journald, auditd journalctl, Get-WinEvent 7. Arhīvi un rezerves kopijas mazāk gaistoši - bezsaistes datu nesēji (offline media) IETF RFC 3227, NIST SP 800-86 - nolasi RAM PIRMS izslēgšanas, ja iespējams

Praksē

Incidenta sākumā palīdz izlemt, ko savākt pirmo. Jo augstāk sarakstā, jo ātrāk dati pazūd - RAM zūd, izslēdzot datoru. Savienojumi mainās dažās sekundēs.

Atsauce

IETF RFC 3227 (2002) - Guidelines for Evidence Collection and Archiving, NIST SP 800-86, ISO/IEC 27037.

Drošības piezīme

Datora izslēgšana iznīcina RAM (procesus, šifrēšanas atslēgas, ļaunatūru atmiņā). Ja vari, vispirms nolasi atmiņu un tikai tad atvieno strāvu.

NIST SP 800-86 - ISO/IEC 27037, 27041-27043

Izmeklēšanas process - no datu nesēja līdz pierādījumam

Forenzikas process pēc NIST SP 800-86 Četras fāzes: vākšana, izpēte, analīze un ziņojums. Datu nesējs kļūst par datiem, dati par informāciju, informācija par pierādījumu. Apakšā ISO/IEC standarti katrai daļai. 1. Vākšana identificē un iegūst gaistamības secībā hash, pierādījumu ķēde 2. Izpēte izgūst datus no kopijas atfiltrē zināmos (NSRL) atkopj dzēsto 3. Analīze laika līnija korelācija starp avotiem hipotēzes un to pārbaude 4. Ziņojums secinājumi un to robežas metodes un rīku versijas atkārtojams citam datu nesējsdatiinformācijapierādījums ISO/IEC 27037identificē, vāc, saglabā ISO/IEC 27041metožu un rīku validācija ISO/IEC 27042analīze un interpretācija ISO/IEC 27043izmeklēšanas principi Incidenta laikā forensika notiek atklāšanas un reaģēšanas darbībās (NIST SP 800-61 Rev. 3).

Praksē

Katrā fāzē cits jautājums: ko savākt, kas tajā ir, ko tas nozīmē, ko var pierādīt. Ziņojumam jābūt tādam, lai cits eksperts ar tiem pašiem datiem nonāktu pie tā paša. Incidentu reaģēšana.

Atsauce

NIST SP 800-86 (3. nodaļa), ISO/IEC 27037:2012, 27041:2015, 27042:2015, 27043:2015, NIST SP 800-61 Rev. 3 (2025).

NIS2 termiņi

Izmeklēšana nedrīkst aizkavēt ziņošanu: agrīnais brīdinājums 24 h, incidenta paziņojums 72 h, gala ziņojums mēnesi pēc paziņojuma. Ziņo to, kas zināms, un papildini vēlāk.

Kur atrodas pierādījumi

Pierādījumu avotu karte - Windows / Linux / macOS

Evidence sources map Seši pierādījumu veidi un to atrašanās vieta + komanda Windows, Linux un macOS sistēmās. Pierādījumu avotu karte 🪟 Windows 🐧 Linux / Unix 🍎 macOS Atmiņa un procesi pagefile.sys, hiberfil.sys winpmem, Get-Process /proc/kcore, /dev/mem AVML, LiME, ps aux SIP ierobežo RAM iegūšanu sysdiagnose, ps aux, vmmap Tīkls un savienojumi TCP tabula, DNS kešs netstat -ano, Get-NetTCP… /proc/net, sockets ss -tupn, lsof -i, arp -a BSD netstat, sockets netstat -an, lsof -i, nettop Žurnāli un notikumi …\winevt\Logs\*.evtx wevtutil, Get-WinEvent /var/log, journald, auditd journalctl, ausearch unified log, /var/db/diagnostics log show, log stream Faili un timeline $MFT, USN $J fsutil usn, dir /T inode atime/mtime/ctime find, stat, debugfs FSEvents, Spotlight, xattr mdls, xattr, stat -f Persistence Run keys, Scheduled Tasks reg query, schtasks cron, systemd units crontab -l, systemctl LaunchAgents/Daemons plists launchctl, plutil Lietotāji un sesijas SAM, aktīvās sesijas net user, query user utmp/wtmp/btmp, passwd who, w, last, lastb dslocal plists, loginwindow dscl . -list /Users, w

Praksē

Ātri atrast, kur katrā sistēmā atrodas konkrēts pierādījums un ar kuru komandu to dabūt. Pilni argumenti ir tabulā zemāk.

Atsauce

SANS DFIR artefaktu atsauces, MITRE ATT&CK - Collection (TA0009), Windows / Linux forensics references.

Drošības piezīme

Vienmēr pieraksti sistēmas laika zonu un pulksteņa nobīdi - bez tā nevar pareizi salikt notikumus secībā (UTC vai vietējais laiks).

Iegūšanas un integritātes plūsma

Chain of Custody - oriģinālu nekad nemaina

Chain of custody workflow Seši soļi: identificē, write-block + acquire, hash, verificē, analizē kopiju, dokumentē. Chain of Custody - pierādījumu integritāte 1. Identificē un izolē atvieno tīklu, fiksē laiku foto, sērijas Nr. 2. Write-block + Acquire bit-for-bit attēls dd, ddrescue, ewfacquire 3. Hash (oriģināls) SHA-256 pirms analīzes sha256sum, Get-FileHash 4. Verificē vai kopija = oriģināls? hash match 5. Analizē KOPIJU nekad ne oriģinālu read-only mount 6. Dokumentē kas, kad, kur, kāpēc custody log Hash pirms un pēc: ja nesakrīt, pierādījums nav uzticams

Pierādījuma ceļš soli pa solim

Kā pierādījums pāriet no rokas rokā tā, lai vēlāk varētu pierādīt, ka tas nav mainīts.

Klēpjdators no aizdomīga incidenta

  1. 1
    ReaģētājsFotografē un pieraksta: kas, kur, kad (UTC), kas bija ekrānā

    Pirms kaut ko aiztiek, dokumentē stāvokli. Vēlāk to vairs nevarēs atjaunot.

  2. 2
    ReaģētājsVispirms gaistošie dati: operatīvā atmiņa (RAM), tīkla savienojumi

    Izslēdzot datoru, tie pazūd uz visiem laikiem - tāpēc savāc tos pirmos (RFC 3227).

  3. 3
    ReaģētājsDiska attēls caur write-blockerSHA-256: 9f2c…

    Write-blocker neļauj ierakstīt oriģinālā. Jaucējsumma ir pirkstu nospiedums, ar ko vēlāk pierāda, ka nekas nav mainīts.

  4. 4
    Reaģētājs → Glabātuveaizzīmogots oriģināls

    Ķēdes ierakstā: kas nodod, kas pieņem, datums, laiks, zīmoga numurs

    Katra nodošana tiek ierakstīta. Oriģinālu glabā aizslēgtu, un to vairs neanalizē.

  5. 5
    Glabātuve → Laboratorijadarba kopija, ne oriģināls

    Ķēdes ierakstā: kam izsniegts, kad un kāpēc

    Analītiķis strādā tikai ar kopiju.

  6. 6
    LaboratorijaPirms analīzes pārrēķina jaucējsummuSHA-256: 9f2c…sakrīt

    Ja summa nesakrīt, kopija nav uzticama un analīze nesākas.

  7. 7
    LaboratorijaAnalizē rīkos tikai lasīšanas režīmā, katru darbību pieraksta

    Vēlāk citam ekspertam jāspēj atkārtot to pašu un nonākt pie tā paša rezultāta.

  8. 8
    Laboratorija → Glabātuvekopija atpakaļ + ziņojums

    Ķēdes ierakstā: atgriezts, jaucējsumma pārbaudīta

    Ķēde ir nepārtraukta: par katru brīdi zināms, kurš pierādījumu turēja.

Praksē

Nodrošina, ka pierādījumus var izmantot tiesā - ir pierādāms, no kurienes tie nāk un ka nav mainīti.

Atsauce

ISO/IEC 27037 (Identification, collection, acquisition, preservation), NIST SP 800-86, ACPO Good Practice Guide (2012; Apvienotajā Karalistē tagad Forensic Science Regulator Code of Practice).

Drošības piezīme

Write-blocker vai read-only pievienošana neļauj nejauši rakstīt oriģinālā. Analizē vienmēr tikai pārbaudītu kopiju, ne oriģinālu.

Kur meklēt tipiskās pēdas

Artefaktu ceļi - mapes un faili (Windows / Linux)

🪟 Windows

Izpilde C:\Windows\Prefetch\*.pf C:\Windows\AppCompat\Programs\Amcache.hve C:\Windows\System32\sru\SRUDB.dat
Reģistrs (hives) C:\Windows\System32\config\ (SAM, SYSTEM, SOFTWARE, SECURITY) %USERPROFILE%\NTUSER.DAT %LOCALAPPDATA%\Microsoft\Windows\UsrClass.dat
Žurnāli C:\Windows\System32\winevt\Logs\*.evtx
Faili / timeline C:\$MFT C:\$Extend\$UsnJrnl:$J C:\$LogFile
Lietotāja aktivitāte %APPDATA%\Microsoft\Windows\Recent\ (LNK, Jump Lists) %LOCALAPPDATA%\Google\Chrome\User Data\Default\History
Persistence C:\Windows\System32\Tasks\ %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
Pagaidu / atmiņa C:\pagefile.sys, C:\hiberfil.sys %LOCALAPPDATA%\Temp\, C:\Windows\Temp\

🐧 Linux / Unix

Žurnāli /var/log/auth.log, /var/log/secure /var/log/syslog, /var/log/messages /var/log/audit/audit.log /var/log/journal/
Pieteikšanās (utmp) /var/log/wtmp, /var/log/btmp, /run/utmp /var/log/lastlog
Lietotāja aktivitāte ~/.bash_history, ~/.zsh_history ~/.ssh/authorized_keys, ~/.ssh/known_hosts
Konti /etc/passwd, /etc/shadow, /etc/group /etc/sudoers, /etc/sudoers.d/
Persistence /etc/crontab, /var/spool/cron/, /etc/cron.d/ /etc/systemd/system/, /usr/lib/systemd/system/ /etc/rc.local, /etc/init.d/
Pagaidu / staging /tmp, /var/tmp, /dev/shm
Procesi / pakotnes /proc/PID/{cmdline,exe,maps,fd} /var/log/dpkg.log, /var/log/apt/, /var/log/yum.log

🍎 macOS

Unified log / žurnāli /var/db/diagnostics/*.tracev3 /var/log/system.log (legacy) /var/log/install.log
Persistence ~/Library/LaunchAgents/ /Library/LaunchAgents/, /Library/LaunchDaemons/ /System/Library/LaunchDaemons/
Lietotāja aktivitāte ~/Library/Preferences/*.plist ~/.zsh_history, ~/.bash_history ~/Library/Safari/History.db
Konti /var/db/dslocal/nodes/Default/users/*.plist /Library/Preferences/com.apple.loginwindow.plist
Quarantine / proveniences …/com.apple.LaunchServices.QuarantineEventsV2 xattr com.apple.quarantine
FS notikumi / Spotlight /.fseventsd/ /.Spotlight-V100/
Pagaidu /tmp, /var/tmp, /private/tmp

Mašīnlasāmi katalogi un atsauces datu kopas

Kopiena, YAML
Digital Forensics Artifacts Repository

Artefaktu katalogs rīkiem: kur katrs artefakts atrodas un uz kuras sistēmas. Rīks to nolasa pats, tāpēc savākšanu var atkārtot un pārbaudīt, nevis rakstīt ceļus ar roku.

github.com/ForensicArtifacts/artifacts
NIST, NSRL
National Software Reference Library (RDS)

Zināmo failu hash datubāze. Ar to no diska kopijas atfiltrē parastos sistēmas un programmu failus, un paliek tikai tie, kas jāapskata.

nist.gov/itl/ssd/software-quality-group/national-software-reference-library-nsrl
NIST, CFReDS
Computer Forensic Reference Data Sets

Mācību pierādījumu kopas ar zināmu pareizo atbildi - treniņam un savas metodes pārbaudei.

cfreds.nist.gov
NIST, CFTT
Computer Forensics Tool Testing

Forensikas rīku testēšanas metodika un rezultāti. Tiesā svarīgs ir ne tikai atradums, bet arī tas, ar kādu rīku tas iegūts un vai rīks ir pārbaudīts.

nist.gov/itl/ssd/software-quality-group/computer-forensics-tool-testing-program-cftt

Praksē

Kur meklēt biežākos pierādījumus. Der pirmajai apskatei (triāžai) un KAPE vai CyLR iestatīšanai. Ja datoru ir daudz, ceļus ņem no artefaktu kataloga, ne no šī saraksta.

Atsauce

SANS DFIR “Windows Forensic Analysis” poster, MITRE ATT&CK, Linux forensics references, ForensicArtifacts (YAML), NIST NSRL, CFReDS, CFTT.

Drošības piezīme

Ceļi ar % ir mainīgie, kas katram lietotājam atšķiras. Pārbaudi visu lietotāju profilus, ne tikai pašreizējo.

Komandu atsauce
62 komandas
Linux Windows macOS Cross
KomandaKategorijaOSAprakstsGalvenie argumenti
ps aux Atmiņa & procesi Linux Pašreizējo procesu momentuzņēmums - PID, lietotājs, CPU/MEM, komandrinda aux BSD stils (visi procesi)
-ef System V stils
--forest procesu koks
-eo pid,ppid,user,cmd izvēles kolonnas
--sort=-%mem kārto pēc atmiņas
-p PID konkrēts process
pstree -p Atmiņa & procesi Linux Procesu hierarhija ar PID - atklāj aizdomīgus vecāk/bērns sakarus -p rāda PID
-a rāda argumentus
-u rāda lietotāju maiņas
-s PID konkrēta procesa konteksts
-n kārto pēc PID
lsof Atmiņa & procesi Linux Atvērtie faili un soketi pēc procesa - kritisks IoC medībām -p PID konkrēts process
-i tīkla savienojumi
-i :4444 konkrēts ports
-u user pēc lietotāja
+D /dir rekursīvi direktorijā
-n bez DNS resolve
-P bez portu nosaukumiem
tasklist Atmiņa & procesi Windows Procesu saraksts (cmd) - PID, sesija, atmiņa, servisi /v detalizēti (lietotājs, virsraksts)
/svc servisi katrā procesā
/m ielādētie moduļi (DLL)
/fi "imagename eq x.exe" filtrs
/fo csv CSV formāts
/nh bez galvenes
Get-Process Atmiņa & procesi Windows PowerShell - procesi ar īpašumiem, ceļiem, hash potenciālu -Id N pēc PID
-Name x pēc nosaukuma
-IncludeUserName rāda īpašnieku
| Sort CPU -Desc
| Select Name,Path,Id
| Format-List * visi lauki
wmic process Atmiņa & procesi Windows Procesi ar pilnu komandrindu (atklāj LOLBins, encoded PowerShell) process get name,processid,commandline
process where "name='x.exe'" filtrs
/format:csv CSV izvade
process get executablepath
piez.: novecojis - skat. Get-CimInstance Win32_Process
AVML Atmiņa & procesi Linux Microsoft - kernel-agnostisks Linux RAM dump (LiME formāts) output.lime galamērķis (pozicionāls)
--compress saspiest plūsmā
--source /proc/kcore avota izvēle
piez.: viens binārs, nav jākompilē pret kernel
winpmem Atmiņa & procesi Windows Windows fiziskās atmiņas iegūšana (RAW / AFF4 / ELF) -o mem.raw izvades fails
--format raw/aff4/elf
--volume_format raw
--compression snappy
-d driver alternatīvs parakstīts draiveris
vol (Volatility 3) Atmiņa & procesi Cross Atmiņas analīzes ietvars - procesi, tīkls, injicēts kods, reģistrs no RAM (Win/Linux/Mac) -f mem.raw atmiņas attēls
windows.pslist / windows.pstree procesi
windows.malfind injicēts kods
windows.netscan tīkla savienojumi
windows.registry.hivelist reģistra hives RAM
linux.bash shell vēsture no RAM
mac.pslist / mac.netstat macOS plugini
-o out/ izvades dir
tcpdump Tīkls / traffic Linux Tīkla trafika tveršana un PCAP lasīšana ar BPF filtriem -i eth0 interfeiss
-w out.pcap rakstīt failā
-r in.pcap lasīt PCAP
-nn bez DNS/portu resolve
-s 0 pilns pakešu garums
-A ASCII payload
-X hex + ASCII
'tcp port 443 and host X' BPF
-c N apstāties pēc N
tshark Tīkls / traffic Cross Wireshark CLI - lasa PCAP, izvelk objektus, pielieto display filtrus -r capture.pcap lasīt
-Y "http.request" display filtrs
-T fields -e ip.src -e tcp.dstport
--export-objects http,out/
-z follow,tcp,ascii,0 TCP straume
-z conv,tcp sarunu kopsavilkums
ss Tīkls / traffic Linux Socket statistika (aizstāj netstat) - aktīvie savienojumi + procesi -t TCP
-u UDP
-l atvērtie (listen)
-p process/PID
-n numeriski (bez DNS)
-a visi
-tulpn tipiska kombinācija
-o taimeri
netstat -ano Tīkls / traffic Windows Aktīvie savienojumi + īpašnieka PID (Windows) -a visi savienojumi un porti
-n numeriski
-o rāda PID
-b rāda bināro (vajag admin)
-r maršrutēšanas tabula
| findstr ESTABLISHED
Get-NetTCPConnection Tīkls / traffic Windows PowerShell - TCP savienojumi ar stāvokli un procesu -State Established
-LocalPort N
-RemoteAddress X
-OwningProcess PID
| Sort State
| Select Local*,Remote*,State,OwningProcess
ip Tīkls / traffic Linux Adreses, maršruti, ARP kaimiņi (aizstāj ifconfig/route/arp) ip a adreses
ip r maršruti
ip neigh ARP/NDP tabula
ip -s link interfeisu statistika
ip route get X ceļš uz X
arp -a Tīkls / traffic Cross ARP keša tabula - MAC↔IP sasaiste (lateral movement pierādījumi) -a visi ieraksti
-n numeriski (Linux)
-d host dzēst ierakstu
piez.: Windows un Linux atšķiras pēc karodziņiem
pktmon Tīkls / traffic Windows Iebūvēts Windows pakešu monitors (Win10 1809+) start --capture sākt tveršanu
stop apturēt
pcapng PktMon.etl -o out.pcapng konvertēt
filter add -p 443 pievienot filtru
filter list
ipconfig /displaydns Tīkls / traffic Windows DNS resolver keša saturs - atklāj C2/exfil domēnus /displaydns rāda kešu
/flushdns notīrīt (NEDARI izmeklēšanā)
piez.: PowerShell alternatīva - Get-DnsClientCache
netstat -an / nettop Tīkls / traffic macOS macOS aktīvie savienojumi (BSD netstat) + dzīvs caurlaides monitors netstat -an visi savienojumi
netstat -rn maršruti
lsof -i savienojumi ar PID
nettop dzīvs per-process tīkls
piez.: BSD netstat NAV -p (lieto lsof -i)
journalctl Logi / notikumi Linux systemd žurnāls - meklēšana ar forensikai draudzīgiem karodziņiem --since 'YYYY-MM-DD HH:MM:SS'
--until '...'
-u sshd vienības filtrs
_UID=1000 pēc lietotāja
-k kernel ziņojumi
--list-boots uzskaitīt boot
-o json JSON izvade
ausearch Logi / notikumi Linux Linux auditd - vaicā audit.log pēc dažādiem predikātiem -m USER_LOGIN/SYSCALL notikuma tips
-ts today / -te now laika diapazons
-ui UID audit lietotāja ID
-x /bin/bash izpildāmais
-k key pēc audit kārtulas
-i interpretēt ID
aureport Logi / notikumi Linux Linux auditd - kopsavilkuma atskaites no audit žurnāla --auth autentifikācijas kopsavilkums
--login login atskaite
-x izpildāmie
-f failu piekļuve
--summary īsie skaitļi
--start/--end TIME
last / lastb Logi / notikumi Linux wtmp veiksmīgie / btmp neveiksmīgie login mēģinājumi last veiksmīgie login (wtmp)
lastb neveiksmīgie (btmp, vajag root)
-F pilni laiki
-i rāda IP
-n N pēdējie N
-f /var/log/wtmp.1 alternatīvs fails
dmesg Logi / notikumi Linux Kernel ring buffer - draiveri, USB, OOM, anomālijas -T cilvēklasāmi laiki
-l err,warn līmeņa filtrs
-w sekot (follow)
--level=err
-x dekodēt prefiksus
Get-WinEvent Logi / notikumi Windows PowerShell - vaicā Windows notikumu žurnālus (arī .evtx failus) -LogName Security
-FilterHashtable @{LogName='Security';Id=4625}
-MaxEvents N
-Path file.evtx no faila
-Oldest
| Where TimeCreated -gt (Get-Date).AddDays(-1)
wevtutil Logi / notikumi Windows Notikumu žurnāla CLI - vaicāšana, eksports, žurnālu saraksts qe Security vaicāt notikumus
/f:text teksta formāts
/c:N ierobežot skaitu
/q:"*[System[(EventID=4624)]]" XPath
epl Security sec.evtx eksportēt
el uzskaitīt žurnālus
Get-EventLog Logi / notikumi Windows Klasiskais notikumu žurnāls (System/Application/Security) -LogName Security
-Newest N
-After (Get-Date).AddHours(-2)
-EntryType FailureAudit
-InstanceId 4625
piez.: vecāks par Get-WinEvent
grep / zgrep Logi / notikumi Linux Meklēšana žurnālos - IoC, IP, lietotājvārdi (zgrep .gz failiem) -r rekursīvi
-i reģistrnejutīgi
-E 'regex' paplašināts
-A/-B/-C N konteksta rindas
-c saskaitīt
-o tikai sakritība
zgrep saspiestiem .gz
log show Logi / notikumi macOS macOS unified log - konsolidētie sistēmas notikumi (aizstāj syslog) --last 1h pēdējā stundā
--predicate 'eventMessage CONTAINS "ssh"'
--info --debug iekļaut zema līmeņa
--style syslog/json/compact
log stream dzīvi notikumi
log collect --output a.logarchive eksports
dd Disks & faili Linux Bloku līmeņa diska attēla iegūšana - bit-for-bit kopija if=/dev/sdb ievades ierīce
of=image.dd izvades fails
bs=4M bloka izmērs
conv=noerror,sync turpināt pie kļūdām
status=progress dzīvs progress
iflag=fullblock pilni bloki
ddrescue Disks & faili Linux Noturīga bojātu datu nesēju attēlošana ar map failu -n bez scrape (ātrs 1. pārgājiens)
-r3 3 atkārtojumi sliktiem sektoriem
-d tiešā piekļuve
INPUT OUTPUT MAPFILE pozicionāli
-f pārrakstīt izvadi
find Disks & faili Linux Failu meklēšana pēc laika/īpašnieka/tiesībām - IoC medības -mtime -7 mainīts pēdējās 7 dienās
-mmin -60 pēdējā stundā
-newer ref jaunāks par ref
-perm /4000 setuid biti
-user UID
-size +10M
-exec sha256sum {} +
stat Disks & faili Linux Faila MAC laiki (atime/mtime/ctime) un inode metadati -c '%n %x %y %z' formāts
--printf bez jaunas rindas
-f failu sistēmas info
piez.: ctime = inode maiņa, nevar viltot ar touch
mount -o ro,loop Disks & faili Linux Diska attēla pievienošana TIKAI lasīšanai (forensikai droši) -o ro read-only
-o noexec,nodev,noload
-o loop loop ierīce
-o offset=N nodalījuma nobīde baitos
-t ext4/ntfs FS tips
fsutil Disks & faili Windows Windows FS utilīta - USN žurnāls, faila izkārtojums usn readjournal C: USN $J ieraksti
file layout C:\file
fsinfo ntfsinfo C:
usn queryjournal C:
hardlink list C:\file
Get-ChildItem Disks & faili Windows PowerShell failu uzskaite ar laikiem (arī slēptie) -Recurse rekursīvi
-Force slēptie/sistēmas
-Filter *.exe
| Select FullName,LastWriteTime,Length
-Path C:\ -File
| Sort LastWriteTime
dir /T Disks & faili Windows Failu laiki (cmd) - izveide / piekļuve / rakstīšana /T:C izveides laiks
/T:A piekļuves laiks
/T:W rakstīšanas laiks
/A:H slēptie
/S rekursīvi
/O:D kārtot pēc datuma
mdls Disks & faili macOS macOS Spotlight metadati - t.sk. lejupielādes avots un laiki file visi metadati
-name kMDItemWhereFroms lejupielādes URL
-name kMDItemDownloadedDate
-name kMDItemFSCreationDate
piez.: kMDItem* lauki ļoti bagāti
xattr Disks & faili macOS macOS paplašinātie atribūti - com.apple.quarantine (download proveniences) -l file rāda visus xattr
-p com.apple.quarantine file
-d attr file dzēst atribūtu
-r rekursīvi
piez.: quarantine = no kurienes fails lejupielādēts
sha256sum Integritāte Linux SHA-256 hash + verifikācija (forensikā vēlamais) file aprēķināt hash
-c sums.txt verificēt
-b binārais režīms
--status klusi (tikai exit kods)
--ignore-missing
md5sum Integritāte Linux MD5 hash - mantotais, savietojamībai ar veciem rīkiem file
-c sums.txt verificēt
-b binārais
piez.: MD5 kriptogrāfiski lauzts - lieto līdzās SHA-256
hashdeep Integritāte Linux Rekursīva koka hash + audits pret zināmo kopu -c md5,sha256 vairāki algoritmi
-r rekursīvi
-x negatīvs audits (nav zināmajā)
-m known.txt salīdzināt
-k ielādēt zināmo kopu
Get-FileHash Integritāte Windows PowerShell hash (SHA256 pēc noklusējuma) -Algorithm SHA256
-Path file
-Algorithm MD5/SHA1
| Format-List
Get-ChildItem | Get-FileHash
certutil -hashfile Integritāte Windows Iebūvēts Windows hash rīks (nav jāinstalē nekas) file SHA256
file MD5
file SHA1
piez.: certutil -hashfile C:\file SHA256
shasum / md5 Integritāte macOS macOS iebūvētie hash rīki - shasum (SHA) un md5 shasum -a 256 file SHA-256
shasum -a 1 file SHA-1
shasum -c sums.txt verificēt
md5 file MD5
md5 -q file tikai hash
piez.: shasum -a 256 ekvivalents sha256sum
crontab -l Persistence / triage Linux Plānotie uzdevumi - bieža persistences vieta -l rāda sarakstu
-u user cita lietotāja crontab
ls /etc/cron.d /etc/cron.daily
cat /etc/crontab sistēmas crontab
piez.: pārbaudi visu lietotāju crontabs
systemctl Persistence / triage Linux systemd servisi un vienības - persistence caur unit failiem list-units --type=service
list-unit-files --state=enabled
status sshd
is-enabled x
cat x.service rāda unit failu
--user lietotāja vienības
who / w Persistence / triage Linux Pašreizējās interaktīvās sesijas (utmp) who pamata saraksts
who -a visa info
who -b pēdējais boot
w lietotāji + to komandas
w -s īsais formāts
schtasks Persistence / triage Windows Plānotie uzdevumi (cmd) - izplatīta persistences metode /query /fo LIST /v detalizēti
/query /tn "\path\task"
/fo csv CSV
piez.: skat. arī C:\Windows\System32\Tasks\
Get-ScheduledTask Persistence / triage Windows PowerShell plānotie uzdevumi ar darbībām un trigeriem | Where State -eq 'Ready'
-TaskName x
| Get-ScheduledTaskInfo pēdējā/nākamā palaišana
| Select TaskName,TaskPath,State
-TaskPath '\' saknes uzdevumi
net user Persistence / triage Windows Lokālie konti un grupas - jaunizveidoti/aizdomīgi lietotāji net user saraksts
net user X konta detaļas
net localgroup administrators
net session aktīvās SMB sesijas
net accounts paroļu politika
query user Persistence / triage Windows Pieteikušies lietotāji un sesijas (RDP/lokāls) query user (quser)
query session (qwinsta)
piez.: atklāj aktīvas RDP sesijas
logoff ID sesijas izbeigšana
autorunsc Persistence / triage Windows Sysinternals - visu autostart ierakstu uzskaite ar hash -a * visas autostart kategorijas
-c CSV izvade
-h failu hash
-m slēpt MS parakstītos
-s verificēt parakstus
accepteula
launchctl Persistence / triage macOS macOS launchd - servisi un LaunchAgents/LaunchDaemons (persistence) list ielādētie uzdevumi
print system sistēmas domēns
print gui/501 lietotāja domēns
dumpstate pilns stāvoklis
piez.: plist ~/Library/LaunchAgents, /Library/Launch*
dscl Persistence / triage macOS macOS Directory Service CLI - lokālie konti un grupas . -list /Users lietotāji
. -read /Users/x konta detaļas
. -list /Groups
. -read /Groups/admin GroupMembership
piez.: atklāj slēptos/jaunizveidotos kontus
reg query Reģistrs / artefakti Windows Dzīvā reģistra vaicāšana - autostart (Run), servisi, konfigurācija HKLM\...\CurrentVersion\Run
HKCU\...\Run
/s rekursīvi
/v value konkrēta vērtība
/f "text" /s meklēt
piez.: Run, RunOnce, Services, AppInit_DLLs
Get-ItemProperty Reģistrs / artefakti Windows PowerShell - lasa reģistra atslēgu vērtības -Path 'HKLM:\...\Run'
Get-ChildItem 'HKLM:\...' apakšatslēgas
| Select *
-Name ValueName
piez.: HKLM: un HKCU: ir PSDrives
RegRipper Reģistrs / artefakti Windows Bezsaistes hive parsēšana ar pluginiem (NTUSER, SYSTEM, SOFTWARE, SAM) -r hive hive fails
-f ntuser/software/system/sam
-p plugin viens plugins
-l pieejamie plugini
-a visi profila plugini
piez.: rip.pl (Perl) / rr.exe
reglookup Reģistrs / artefakti Linux Lasa Windows reģistra hives no Linux (eksportē atslēgas) hive hive fails (pozicionāls)
-p PATH konkrēts ceļš
-H bez galvenes
-s rāda tipus
piez.: reglookup-timeline timeline analīzei
hivexsh / hivexget Reģistrs / artefakti Linux libhivex - Windows hive pārlūkošana / vērtību izvilkšana no Linux hivexsh hive interaktīvi
hivexget hive "\path" value izvilkt vērtību
komandas: ls / cd / lsval / cat
hivexregedit --export uz .reg
plutil Reģistrs / artefakti macOS macOS - parsē/konvertē plist (binary↔XML) - macOS “reģistra” ekvivalents -p file.plist cilvēklasāmi
-convert xml1 file.plist binary→XML
-convert json file.plist
-lint file.plist validēt
piez.: daudzi artefakti ir binary plist
defaults Reģistrs / artefakti macOS macOS - lasa lietotņu preferences (plist domēni) read domain lasīt domēnu
read file.plist
domains uzskaitīt visus domēnus
read com.apple.dock
piez.: ~/Library/Preferences/*.plist

Saīsinājumi

Ceļvedī lietotie saīsinājumi: oriģinālais nosaukums un ko tas nozīmē.

DFIR
Digital Forensics and Incident Response - digitālā forensika un reaģēšana uz incidentiem.
RAM
Random Access Memory - operatīvā atmiņa - izslēdzot datoru, tās saturs pazūd.
MFT
Master File Table - NTFS failu sistēmas galvenā tabula ar ziņām par katru failu.
USN
Update Sequence Number journal - NTFS žurnāls par failu izmaiņām.
SAM
Security Account Manager - Windows lokālo kontu datubāze.
FSEvents
MacOS failu sistēmas izmaiņu žurnāls.
ARP
Address Resolution Protocol - IP adrese ↔ tīkla kartes adrese tabula.
KAPE / CyLR
Rīki ātrai artefaktu savākšanai no Windows datoriem.
LiME / AVML
Rīki Linux atmiņas nolasīšanai.
NSRL / RDS
National Software Reference Library / Reference Data Set - NIST zināmās programmatūras failu nospiedumu kopa.
CFReDS
Computer Forensic Reference Data Sets - NIST mācību pierādījumu kopas.
CFTT
Computer Forensics Tool Testing - NIST forensikas rīku testēšanas programma.
ACPO
Association of Chief Police Officers - AK policijas vadlīnijas digitālajiem pierādījumiem.
RFC 3227
IETF vadlīnijas pierādījumu vākšanai (gaistošuma secība).
HDD / SSD
Hard Disk Drive / Solid-State Drive - magnētiskais / zibatmiņas disks.
SHA-256
Jaucējfunkcija pierādījuma nospiedumam - pierāda, ka kopija nav mainīta.
Write-blocker
Ierīce vai programma, kas neļauj rakstīt oriģinālajā diskā.
UTC
Coordinated Universal Time - kopīgā laika josla, lai notikumus var salikt secībā.
MITRE ATT&CK
Uzbrucēju taktiku un tehniku zināšanu bāze.