mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['', 'src/generic-methodologies-and-resources/basic-forensic-
This commit is contained in:
parent
c73b1cb438
commit
199291edf0
@ -46,7 +46,7 @@ Met dieselfde gereedskap is dit moontlik om te identifiseer **tot watter tyd die
|
||||
|
||||
### Nanoseconds
|
||||
|
||||
**NTFS** tydstempels het 'n **presisie** van **100 nanosekondes**. Dan, om lêers met tydstempels soos 2010-10-10 10:10:**00.000:0000 te vind is baie verdag**.
|
||||
**NTFS** tydstempels het 'n **presisie** van **100 nanosekondes**. Dan, om lêers met tydstempels soos 2010-10-10 10:10:**00.000:0000 te vind, is baie verdag**.
|
||||
|
||||
### SetMace - Anti-forensic Tool
|
||||
|
||||
@ -60,7 +60,7 @@ Daar is gereedskap soos slacker wat toelaat om data in hierdie "verborge" ruimte
|
||||
|
||||
.png>)
|
||||
|
||||
Dan is dit moontlik om die slack ruimte te herwin met gereedskap soos FTK Imager. Let daarop dat hierdie soort gereedskap die inhoud obfuskeer of selfs versleuteld kan stoor.
|
||||
Dan is dit moontlik om die slack ruimte te herstel met gereedskap soos FTK Imager. Let daarop dat hierdie tipe gereedskap die inhoud obfuskeer of selfs versleuteld kan stoor.
|
||||
|
||||
## UsbKill
|
||||
|
||||
@ -69,7 +69,7 @@ Dit is 'n gereedskap wat die **rekenaar sal afskakel as enige verandering in die
|
||||
|
||||
## Live Linux Distributions
|
||||
|
||||
Hierdie distros word **binne die RAM** geheue uitgevoer. Die enigste manier om hulle te ontdek is **as die NTFS lêerstelsel met skryf toestemmings gemonteer is**. As dit net met lees toestemmings gemonteer is, sal dit nie moontlik wees om die indringing te ontdek nie.
|
||||
Hierdie distros word **binne die RAM** geheue uitgevoer. Die enigste manier om hulle te ontdek, is **as die NTFS lêerstelsel met skryf toestemmings gemonteer is**. As dit net met lees toestemmings gemonteer is, sal dit nie moontlik wees om die indringing te ontdek nie.
|
||||
|
||||
## Secure Deletion
|
||||
|
||||
@ -81,7 +81,7 @@ Dit is moontlik om verskeie Windows logging metodes te deaktiveer om die forensi
|
||||
|
||||
### Disable Timestamps - UserAssist
|
||||
|
||||
Dit is 'n registriesleutel wat datums en ure behou wanneer elke uitvoerbare lêer deur die gebruiker uitgevoer is.
|
||||
Dit is 'n registriesleutel wat datums en ure behou wanneer elke eksekutabel deur die gebruiker uitgevoer is.
|
||||
|
||||
Om UserAssist te deaktiveer, is twee stappe nodig:
|
||||
|
||||
@ -95,12 +95,12 @@ Dit sal inligting oor die toepassings wat uitgevoer is, stoor met die doel om di
|
||||
- Voer `regedit` uit
|
||||
- Kies die lêer pad `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters`
|
||||
- Regsklik op beide `EnablePrefetcher` en `EnableSuperfetch`
|
||||
- Kies Wysig op elkeen van hierdie om die waarde van 1 (of 3) na 0 te verander
|
||||
- Kies Wysig op elk van hierdie om die waarde van 1 (of 3) na 0 te verander
|
||||
- Herbegin
|
||||
|
||||
### Disable Timestamps - Last Access Time
|
||||
|
||||
Wanneer 'n gids vanaf 'n NTFS volume op 'n Windows NT bediener geopen word, neem die stelsel die tyd om **'n tydstempel veld op elke gelysde gids op te dateer**, wat die laaste toegangstyd genoem word. Op 'n swaar gebruikte NTFS volume kan dit die prestasie beïnvloed.
|
||||
Wanneer 'n gids vanaf 'n NTFS volume op 'n Windows NT bediener geopen word, neem die stelsel die tyd om **'n tydstempel veld op elke gelysde gids op te dateer**, wat die laaste toegangstyd genoem word. Op 'n intensief gebruikte NTFS volume kan dit die prestasie beïnvloed.
|
||||
|
||||
1. Maak die Registrie Redigeerder (Regedit.exe) oop.
|
||||
2. Blaai na `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`.
|
||||
@ -125,7 +125,7 @@ Om skaduwe copies te deaktiveer [stappe van hier](https://support.waters.com/KB_
|
||||
|
||||
1. Maak die Dienste program oop deur "dienste" in die teks soekboks te tik nadat jy op die Windows begin knoppie geklik het.
|
||||
2. Vind "Volume Shadow Copy" in die lys, kies dit, en toegang eienskappe deur regsklik.
|
||||
3. Kies Gedeaktiveer van die "Opstart tipe" keuselys, en bevestig die verandering deur Toepas en OK te klik.
|
||||
3. Kies Gedeaktiveer uit die "Opstart tipe" keuselys, en bevestig die verandering deur Toepas en OK te klik.
|
||||
|
||||
Dit is ook moontlik om die konfigurasie van watter lêers in die skaduwe copy gekopieer gaan word in die registrie `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot` te wysig.
|
||||
|
||||
@ -157,7 +157,7 @@ Dit is ook moontlik om die konfigurasie van watter lêers in die skaduwe copy ge
|
||||
### PowerShell ScriptBlock/Module Logging
|
||||
|
||||
Onlangs weergawes van Windows 10/11 en Windows Server hou **ryke PowerShell forensiese artefakte** onder
|
||||
`Microsoft-Windows-PowerShell/Operational` (gebeurtenisse 4104/4105/4106).
|
||||
`Microsoft-Windows-PowerShell/Operational` (geleenthede 4104/4105/4106).
|
||||
Aanvallers kan hulle op-die-vlieg deaktiveer of uitvee:
|
||||
```powershell
|
||||
# Turn OFF ScriptBlock & Module logging (registry persistence)
|
||||
@ -174,7 +174,7 @@ Verdedigers moet toesig hou oor veranderinge aan daardie registriesleutels en ho
|
||||
|
||||
### ETW (Event Tracing for Windows) Patch
|
||||
|
||||
Eindpunt-sekuriteitsprodukte staat baie op ETW. 'n Gewilde ontwykingsmetode in 2024 is om `ntdll!EtwEventWrite`/`EtwEventWriteFull` in geheue te patch sodat elke ETW-oproep `STATUS_SUCCESS` teruggee sonder om die gebeurtenis uit te stuur:
|
||||
Eindpunt-sekuriteitsprodukte staat baie op ETW. 'n Gewilde 2024 ontwykingsmetode is om `ntdll!EtwEventWrite`/`EtwEventWriteFull` in geheue te patch sodat elke ETW-oproep `STATUS_SUCCESS` teruggee sonder om die gebeurtenis uit te stuur:
|
||||
```c
|
||||
// 0xC3 = RET on x64
|
||||
unsigned char patch[1] = { 0xC3 };
|
||||
@ -183,38 +183,115 @@ GetProcAddress(GetModuleHandleA("ntdll.dll"), "EtwEventWrite"),
|
||||
patch, sizeof(patch), NULL);
|
||||
```
|
||||
Publieke PoCs (bv. `EtwTiSwallow`) implementeer dieselfde primitiewe in PowerShell of C++.
|
||||
Omdat die patch **proses-lokaal** is, mag EDRs wat binne ander prosesse loop dit misloop.
|
||||
Omdat die patch **proses-lokaal** is, mag EDR's wat binne ander prosesse loop dit misloop.
|
||||
Detectie: vergelyk `ntdll` in geheue teenoor op skyf, of hook voor gebruikersmodus.
|
||||
|
||||
### Alternatiewe Gegevensstrome (ADS) Herlewing
|
||||
|
||||
Malwareveldtogte in 2023 (bv. **FIN12** loaders) is gesien wat tweede-fase binêre binne ADS opstel om buite sig van tradisionele skanners te bly:
|
||||
Malwareveldtogte in 2023 (bv. **FIN12** loaders) is gesien wat tweede-fase binêre binne ADS stoor om buite sig van tradisionele skanners te bly:
|
||||
```cmd
|
||||
rem Hide cobalt.bin inside an ADS of a PDF
|
||||
type cobalt.bin > report.pdf:win32res.dll
|
||||
rem Execute directly
|
||||
wmic process call create "cmd /c report.pdf:win32res.dll"
|
||||
```
|
||||
Enumerate streams with `dir /R`, `Get-Item -Stream *`, or Sysinternals `streams64.exe`. Kopieer die gasthuis lêer na FAT/exFAT of via SMB sal die verborge stroom verwyder en kan deur ondersoekers gebruik word om die payload te herstel.
|
||||
Enumerate streams with `dir /R`, `Get-Item -Stream *`, or Sysinternals `streams64.exe`. Copying the host file to FAT/exFAT or via SMB will strip the hidden stream and can be used by investigators to recover the payload.
|
||||
|
||||
### BYOVD & “AuKill” (2023)
|
||||
|
||||
Bring-Your-Own-Vulnerable-Driver word nou routinematig gebruik vir **anti-forensics** in ransomware indringings. Die oopbron hulpmiddel **AuKill** laai 'n geskrewe maar kwesbare bestuurder (`procexp152.sys`) om EDR en forensiese sensors **voor versleuteling & log vernietiging** te suspend of te beëindig:
|
||||
Bring-Your-Own-Vulnerable-Driver is now routinely used for **anti-forensics** in ransomware intrusions. The open-source tool **AuKill** loads a signed but vulnerable driver (`procexp152.sys`) to suspend or terminate EDR and forensic sensors **before encryption & log destruction**:
|
||||
```cmd
|
||||
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
|
||||
AuKill.exe -k CrowdStrike
|
||||
```
|
||||
Die bestuurder word daarna verwyder, wat minimale artefakte agterlaat.
|
||||
Versagtings: aktiveer die Microsoft kwesbare-bestuurder blokkelys (HVCI/SAC),
|
||||
Minderings: aktiveer die Microsoft kwesbare-bestuurder blokkelys (HVCI/SAC),
|
||||
en waarsku oor kern-diens skepping vanaf gebruikers-skryfbare paaie.
|
||||
|
||||
---
|
||||
|
||||
## Linux Anti-Forensics: Self-Patching en Cloud C2 (2023–2025)
|
||||
|
||||
### Self‑patching gecompromitteerde dienste om opsporing te verminder (Linux)
|
||||
Teenstanders "self‑patch" toenemend 'n diens reg na die uitbuiting daarvan om beide her-uitbuiting te voorkom en kwesbaarheid-gebaseerde opsporings te onderdruk. Die idee is om kwesbare komponente te vervang met die nuutste wettige opwaartse binêre/JARs, sodat skandeerders die gasheer as gepatchte rapporteer terwyl volharding en C2 bly.
|
||||
|
||||
Voorbeeld: Apache ActiveMQ OpenWire RCE (CVE‑2023‑46604)
|
||||
- Na die uitbuiting het aanvallers wettige JARs van Maven Central (repo1.maven.org) afgelaai, kwesbare JARs in die ActiveMQ installasie verwyder, en die broker herbegin.
|
||||
- Dit het die aanvanklike RCE gesluit terwyl ander voetstukke (cron, SSH konfigurasiewijzigings, aparte C2 implante) gehandhaaf is.
|
||||
|
||||
Operasionele voorbeeld (illustreer)
|
||||
```bash
|
||||
# ActiveMQ install root (adjust as needed)
|
||||
AMQ_DIR=/opt/activemq
|
||||
cd "$AMQ_DIR"/lib
|
||||
|
||||
# Fetch patched JARs from Maven Central (versions as appropriate)
|
||||
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
|
||||
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
|
||||
|
||||
# Remove vulnerable files and ensure the service uses the patched ones
|
||||
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
|
||||
ln -sf activemq-client-5.18.3.jar activemq-client.jar
|
||||
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
|
||||
|
||||
# Apply changes without removing persistence
|
||||
systemctl restart activemq || service activemq restart
|
||||
```
|
||||
Forensiese/jag wenke
|
||||
- Hersien diensgidsen vir ongeskeduleerde binêre/JAR vervangings:
|
||||
- Debian/Ubuntu: `dpkg -V activemq` en vergelyk lêer hashes/paaie met repo spieëls.
|
||||
- RHEL/CentOS: `rpm -Va 'activemq*'`
|
||||
- Soek na JAR weergawes wat op skyf teenwoordig is wat nie deur die pakketbestuurder besit word nie, of simboliese skakels wat buite band opgedateer is.
|
||||
- Tydlyn: `find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort` om ctime/mtime met die kompromie venster te korreleer.
|
||||
- Shell geskiedenis/proses telemetrie: bewys van `curl`/`wget` na `repo1.maven.org` of ander artefak CDN's onmiddellik na die aanvanklike eksploitatie.
|
||||
- Veranderingsbestuur: valideer wie die “patch” toegepas het en hoekom, nie net dat 'n gepatchte weergawe teenwoordig is nie.
|
||||
|
||||
### Wolkdiens C2 met draer tokens en anti-analise stagers
|
||||
Geobserveerde handelsvaardighede het verskeie langafstand C2 paaie en anti-analise verpakking gekombineer:
|
||||
- Wagwoord-beskermde PyInstaller ELF laders om sandboks en statiese analise te hinder (bv. versleutelde PYZ, tydelike onttrekking onder `/_MEI*`).
|
||||
- Aanwysers: `strings` treffers soos `PyInstaller`, `pyi-archive`, `PYZ-00.pyz`, `MEIPASS`.
|
||||
- Tydren artefakte: onttrekking na `/tmp/_MEI*` of pasgemaakte `--runtime-tmpdir` paaie.
|
||||
- Dropbox-ondersteunde C2 wat hardgecodeerde OAuth Draer tokens gebruik
|
||||
- Netwerkmerkers: `api.dropboxapi.com` / `content.dropboxapi.com` met `Authorization: Bearer <token>`.
|
||||
- Jag in proxy/NetFlow/Zeek/Suricata vir uitgaande HTTPS na Dropbox domeine van bediener werklading wat normaalweg nie lêers sinkroniseer nie.
|
||||
- Parallel/backup C2 via tonneling (bv. Cloudflare Tunnel `cloudflared`), hou beheer as een kanaal geblokkeer is.
|
||||
- Gasheer IOCs: `cloudflared` prosesse/eenhede, konfigurasie by `~/.cloudflared/*.json`, uitgaande 443 na Cloudflare kante.
|
||||
|
||||
### Volharding en “hardening rollback” om toegang te behou (Linux voorbeelde)
|
||||
Aanvallers paar dikwels self-patching met duursame toegangspaaie:
|
||||
- Cron/Anacron: wysigings aan die `0anacron` stub in elke `/etc/cron.*/` gids vir periodieke uitvoering.
|
||||
- Jag:
|
||||
```bash
|
||||
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
|
||||
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
|
||||
```
|
||||
- SSH konfigurasie hardening rollback: aktivering van wortel aanmeldings en verandering van standaard skale vir laag-geprivilegieerde rekeninge.
|
||||
- Jag vir wortel aanmeldings aktivering:
|
||||
```bash
|
||||
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
|
||||
# vlag waardes soos "yes" of te toegeeflike instellings
|
||||
```
|
||||
- Jag vir verdagte interaktiewe skale op stelserekeninge (bv. `games`):
|
||||
```bash
|
||||
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
|
||||
```
|
||||
- Willekeurige, kort-genaamde sein artefakte (8 alfabetiese karakters) wat na skyf gelaat word en ook met wolk C2 kontak maak:
|
||||
- Jag:
|
||||
```bash
|
||||
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
|
||||
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
|
||||
```
|
||||
|
||||
Verdedigers moet hierdie artefakte korreleer met eksterne blootstelling en diens patching gebeurtenisse om anti-forensiese self-remediëring wat gebruik word om die aanvanklike eksploitatie te verberg, te ontdek.
|
||||
|
||||
## Verwysings
|
||||
|
||||
- Sophos X-Ops – “AuKill: 'n Gewapende Kwesbare Bestuurder vir die Deaktiveer van EDR” (Maart 2023)
|
||||
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
|
||||
- Red Canary – “Patching EtwEventWrite vir Stealth: Opsporing & Jag” (Junie 2024)
|
||||
https://redcanary.com/blog/etw-patching-detection
|
||||
- Sophos X-Ops – “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (Maart 2023)
|
||||
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
|
||||
- Red Canary – “Patching EtwEventWrite for Stealth: Detection & Hunting” (Junie 2024)
|
||||
https://redcanary.com/blog/etw-patching-detection
|
||||
|
||||
- [Red Canary – Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
|
||||
- [CVE‑2023‑46604 – Apache ActiveMQ OpenWire RCE (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
@ -11,7 +11,7 @@ Eerstens word dit aanbeveel om 'n **USB** te hê met **goeie bekende binaire en
|
||||
export PATH=/mnt/usb/bin:/mnt/usb/sbin
|
||||
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
|
||||
```
|
||||
Sodra jy die stelsel gekonfigureer het om goeie en bekende binaire te gebruik, kan jy begin **basiese inligting te onttrek**:
|
||||
Sodra jy die stelsel gekonfigureer het om goeie en bekende binaire lêers te gebruik, kan jy begin **basiese inligting te onttrek**:
|
||||
```bash
|
||||
date #Date and time (Clock may be skewed, Might be at a different timezone)
|
||||
uname -a #OS info
|
||||
@ -35,14 +35,14 @@ Terwyl jy die basiese inligting verkry, moet jy vir vreemde dinge kyk soos:
|
||||
|
||||
- **Root prosesse** loop gewoonlik met lae PIDS, so as jy 'n root proses met 'n groot PID vind, kan jy vermoed
|
||||
- Kontroleer **geregistreerde aanmeldings** van gebruikers sonder 'n shell binne `/etc/passwd`
|
||||
- Kontroleer vir **wagwoord hashes** binne `/etc/shadow` vir gebruikers sonder 'n shell
|
||||
- Kontroleer vir **wagwoord-hashes** binne `/etc/shadow` vir gebruikers sonder 'n shell
|
||||
|
||||
### Geheue Dump
|
||||
|
||||
Om die geheue van die lopende stelsel te verkry, word dit aanbeveel om [**LiME**](https://github.com/504ensicsLabs/LiME) te gebruik.\
|
||||
Om dit te **compileer**, moet jy die **dieselfde kern** gebruik wat die slagoffer masjien gebruik.
|
||||
|
||||
> [!NOTE]
|
||||
> [!TIP]
|
||||
> Onthou dat jy **nie LiME of enige ander ding** op die slagoffer masjien kan installeer nie, aangesien dit verskeie veranderinge daaraan sal maak
|
||||
|
||||
So, as jy 'n identiese weergawe van Ubuntu het, kan jy `apt-get install lime-forensics-dkms` gebruik\
|
||||
@ -59,11 +59,11 @@ LiME ondersteun 3 **formate**:
|
||||
|
||||
LiME kan ook gebruik word om die **dump via netwerk te stuur** in plaas van dit op die stelsel te stoor met iets soos: `path=tcp:4444`
|
||||
|
||||
### Skyf Beeldvorming
|
||||
### Disk Imaging
|
||||
|
||||
#### Afsluiting
|
||||
|
||||
Eerstens, jy sal moet **die stelsel afsluit**. Dit is nie altyd 'n opsie nie, aangesien sommige stelsels 'n produksiebediener kan wees wat die maatskappy nie kan bekostig om af te sluit.\
|
||||
Eerstens, jy sal moet **die stelsel afsluit**. Dit is nie altyd 'n opsie nie, aangesien sommige stelsels 'n produksieserver kan wees wat die maatskappy nie kan bekostig om af te sluit.\
|
||||
Daar is **2 maniere** om die stelsel af te sluit, 'n **normale afsluiting** en 'n **"trek die stekker" afsluiting**. Die eerste een sal die **prosesse toelaat om soos gewoonlik te beëindig** en die **filesystem** te **sinkroniseer**, maar dit sal ook die moontlike **malware** toelaat om **bewyse te vernietig**. Die "trek die stekker" benadering kan **sekere inligtingverlies** meebring (nie veel van die inligting gaan verlore wees nie aangesien ons reeds 'n beeld van die geheue geneem het) en die **malware sal nie enige geleentheid hê** om iets daaroor te doen nie. Daarom, as jy **vermoed** dat daar 'n **malware** mag wees, voer net die **`sync`** **opdrag** op die stelsel uit en trek die stekker.
|
||||
|
||||
#### Neem 'n beeld van die skyf
|
||||
@ -154,9 +154,9 @@ malware-analysis.md
|
||||
Om effektief te soek na geïnstalleerde programme op beide Debian en RedHat stelsels, oorweeg om stelsellogs en databasisse saam met handmatige kontroles in algemene gidse te benut.
|
||||
|
||||
- Vir Debian, ondersoek _**`/var/lib/dpkg/status`**_ en _**`/var/log/dpkg.log`**_ om besonderhede oor pakketinstallasies te verkry, met `grep` om vir spesifieke inligting te filter.
|
||||
- RedHat-gebruikers kan die RPM-databasis ondervra met `rpm -qa --root=/mntpath/var/lib/rpm` om geïnstalleerde pakkette te lys.
|
||||
- RedHat gebruikers kan die RPM-databasis ondervra met `rpm -qa --root=/mntpath/var/lib/rpm` om geïnstalleerde pakkette te lys.
|
||||
|
||||
Om sagteware wat handmatig of buite hierdie pakketbestuurders geïnstalleer is, te ontdek, verken gidse soos _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, en _**`/sbin`**_. Kombineer gidse met stelselspesifieke opdragte om uitvoerbare lêers te identifiseer wat nie met bekende pakkette geassosieer is nie, wat jou soektog na alle geïnstalleerde programme verbeter.
|
||||
Om sagteware wat handmatig of buite hierdie pakketbestuurders geïnstalleer is, te ontdek, verken gidse soos _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, en _**`/sbin`**_. Kombineer gidse met stelselspesifieke opdragte om uitvoerbare lêers te identifiseer wat nie met bekende pakkette geassosieer word nie, wat jou soektog na alle geïnstalleerde programme verbeter.
|
||||
```bash
|
||||
# Debian package and log details
|
||||
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
|
||||
@ -196,18 +196,44 @@ cat /var/spool/cron/crontabs/* \
|
||||
#MacOS
|
||||
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
|
||||
```
|
||||
#### Jag: Cron/Anacron misbruik via 0anacron en verdagte stubs
|
||||
Aanvallers redigeer dikwels die 0anacron stub wat onder elke /etc/cron.*/ gids teenwoordig is om periodieke uitvoering te verseker.
|
||||
```bash
|
||||
# List 0anacron files and their timestamps/sizes
|
||||
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
|
||||
|
||||
# Look for obvious execution of shells or downloaders embedded in cron stubs
|
||||
grep -R --line-number -E 'curl|wget|/bin/sh|python|bash -c' /etc/cron.*/* 2>/dev/null
|
||||
```
|
||||
#### Jag: SSH verharding terugrol en agterdeur skale
|
||||
Veranderings aan sshd_config en stelselsrekening skale is algemeen na eksploitatie om toegang te behou.
|
||||
```bash
|
||||
# Root login enablement (flag "yes" or lax values)
|
||||
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
|
||||
|
||||
# System accounts with interactive shells (e.g., games → /bin/sh)
|
||||
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
|
||||
```
|
||||
#### Jag: Cloud C2 merkers (Dropbox/Cloudflare Tunnel)
|
||||
- Dropbox API bakens gebruik tipies api.dropboxapi.com of content.dropboxapi.com oor HTTPS met Authorization: Bearer tokens.
|
||||
- Jag in proxy/Zeek/NetFlow vir onverwagte Dropbox egress vanaf bedieners.
|
||||
- Cloudflare Tunnel (`cloudflared`) bied rugsteun C2 oor uitgaande 443.
|
||||
```bash
|
||||
ps aux | grep -E '[c]loudflared|trycloudflare'
|
||||
systemctl list-units | grep -i cloudflared
|
||||
```
|
||||
### Dienste
|
||||
|
||||
Paaie waar 'n malware as 'n diens geïnstalleer kan word:
|
||||
|
||||
- **/etc/inittab**: Roep inisialisering skripte aan soos rc.sysinit, wat verder na opstart skripte lei.
|
||||
- **/etc/rc.d/** en **/etc/rc.boot/**: Bevat skripte vir diens opstart, laasgenoemde word in ouer Linux weergawes gevind.
|
||||
- **/etc/init.d/**: Gebruik in sekere Linux weergawes soos Debian vir die stoor van opstart skripte.
|
||||
- **/etc/init.d/**: Gebruik in sekere Linux weergawes soos Debian om opstart skripte te stoor.
|
||||
- Dienste kan ook geaktiveer word via **/etc/inetd.conf** of **/etc/xinetd/**, afhangende van die Linux variasie.
|
||||
- **/etc/systemd/system**: 'n Gids vir stelsels en diensbestuurder skripte.
|
||||
- **/etc/systemd/system/multi-user.target.wants/**: Bevat skakels na dienste wat in 'n multi-user runlevel begin moet word.
|
||||
- **/etc/systemd/system**: 'n Gids vir stelsels en diens bestuurder skripte.
|
||||
- **/etc/systemd/system/multi-user.target.wants/**: Bevat skakels na dienste wat in 'n multi-gebruiker runlevel begin moet word.
|
||||
- **/usr/local/etc/rc.d/**: Vir pasgemaakte of derdeparty dienste.
|
||||
- **\~/.config/autostart/**: Vir gebruiker-spesifieke outomatiese opstart toepassings, wat 'n wegsteekplek vir gebruiker-gerigte malware kan wees.
|
||||
- **\~/.config/autostart/**: Vir gebruiker-spesifieke outomatiese opstart toepassings, wat 'n wegsteekplek vir gebruiker-gemikte malware kan wees.
|
||||
- **/lib/systemd/system/**: Stelselswye standaard eenheid lêers verskaf deur geïnstalleerde pakkette.
|
||||
|
||||
### Kernel Modules
|
||||
@ -218,13 +244,13 @@ Linux kernel modules, dikwels deur malware as rootkit komponente gebruik, word b
|
||||
- **/etc/modprobe.d**: Bevat konfigurasie lêers om module laai te beheer.
|
||||
- **/etc/modprobe** en **/etc/modprobe.conf**: Lêers vir globale module instellings.
|
||||
|
||||
### Ander Outomatiese Opstart Plekke
|
||||
### Ander Outostart Plekke
|
||||
|
||||
Linux gebruik verskeie lêers om outomaties programme uit te voer wanneer 'n gebruiker aanmeld, wat moontlik malware kan huisves:
|
||||
|
||||
- **/etc/profile.d/**\*, **/etc/profile**, en **/etc/bash.bashrc**: Word uitgevoer vir enige gebruiker aanmelding.
|
||||
- **\~/.bashrc**, **\~/.bash_profile**, **\~/.profile**, en **\~/.config/autostart**: Gebruiker-spesifieke lêers wat by hul aanmelding loop.
|
||||
- **/etc/rc.local**: Loop nadat alle stelseldienste begin het, wat die einde van die oorgang na 'n multiuser omgewing aandui.
|
||||
- **/etc/rc.local**: Loop nadat alle stelsel dienste begin het, wat die einde van die oorgang na 'n multi-gebruiker omgewing aandui.
|
||||
|
||||
## Ondersoek Logs
|
||||
|
||||
@ -243,11 +269,11 @@ Linux stelsels volg gebruiker aktiwiteite en stelsel gebeurtenisse deur verskeie
|
||||
- **/var/log/btmp**: Dokumenteer mislukte aanmeld pogings.
|
||||
- **/var/log/httpd/**: Bevat Apache HTTPD fout en toegang logs.
|
||||
- **/var/log/mysqld.log** of **/var/log/mysql.log**: Log MySQL databasis aktiwiteite.
|
||||
- **/var/log/xferlog**: Registreer FTP lêer oordrag.
|
||||
- **/var/log/xferlog**: Registreer FTP lêer oordragte.
|
||||
- **/var/log/**: Kontroleer altyd vir onverwagte logs hier.
|
||||
|
||||
> [!NOTE]
|
||||
> Linux stelsel logs en oudit subsisteme mag gedeaktiveer of verwyder word in 'n indringing of malware voorval. Omdat logs op Linux stelsels oor die algemeen sommige van die nuttigste inligting oor kwaadwillige aktiwiteite bevat, verwyder indringers gereeld hulle. Daarom, wanneer beskikbare log lêers ondersoek word, is dit belangrik om te soek na gapings of uit die orde inskrywings wat 'n aanduiding van verwydering of manipulasie mag wees.
|
||||
> [!TIP]
|
||||
> Linux stelsel logs en oudit subsisteme mag in 'n indringing of malware voorval gedeaktiveer of verwyder word. Omdat logs op Linux stelsels gewoonlik sommige van die nuttigste inligting oor kwaadwillige aktiwiteite bevat, verwyder indringers gereeld hulle. Daarom, wanneer beskikbare log lêers ondersoek word, is dit belangrik om te soek na gapings of uit die orde inskrywings wat 'n aanduiding van verwydering of manipulasie mag wees.
|
||||
|
||||
**Linux hou 'n opdrag geskiedenis vir elke gebruiker**, gestoor in:
|
||||
|
||||
@ -269,11 +295,11 @@ Kontroleer lêers wat ekstra regte kan toeken:
|
||||
Sommige toepassings genereer ook hul eie logs:
|
||||
|
||||
- **SSH**: Ondersoek _\~/.ssh/authorized_keys_ en _\~/.ssh/known_hosts_ vir ongeoorloofde afstandverbindinge.
|
||||
- **Gnome Desktop**: Kyk in _\~/.recently-used.xbel_ vir onlangs toegankelijke lêers via Gnome toepassings.
|
||||
- **Gnome Desktop**: Kyk in _\~/.recently-used.xbel_ vir onlangs toeganklike lêers via Gnome toepassings.
|
||||
- **Firefox/Chrome**: Kontroleer blaargeskiedenis en aflaaie in _\~/.mozilla/firefox_ of _\~/.config/google-chrome_ vir verdagte aktiwiteite.
|
||||
- **VIM**: Hersien _\~/.viminfo_ vir gebruik besonderhede, soos toeganklike lêer paaie en soek geskiedenis.
|
||||
- **Open Office**: Kontroleer vir onlangse dokument toegang wat moontlik gecompromitteerde lêers aandui.
|
||||
- **FTP/SFTP**: Hersien logs in _\~/.ftp_history_ of _\~/.sftp_history_ vir lêer oordrag wat moontlik ongeoorloofde is.
|
||||
- **FTP/SFTP**: Hersien logs in _\~/.ftp_history_ of _\~/.sftp_history_ vir lêer oordragte wat moontlik ongeoorloofde is.
|
||||
- **MySQL**: Ondersoek _\~/.mysql_history_ vir uitgevoerde MySQL vrae, wat moontlik ongeoorloofde databasis aktiwiteite onthul.
|
||||
- **Less**: Analiseer _\~/.lesshst_ vir gebruik geskiedenis, insluitend gesiene lêers en uitgevoerde opdragte.
|
||||
- **Git**: Ondersoek _\~/.gitconfig_ en projek _.git/logs_ vir veranderinge aan repositories.
|
||||
@ -301,15 +327,15 @@ Meer voorbeelde en inligting binne die github: [https://github.com/snovvcrash/us
|
||||
|
||||
## Hersien Gebruikersrekeninge en Aanmeldaktiwiteite
|
||||
|
||||
Ondersoek die _**/etc/passwd**_, _**/etc/shadow**_ en **sekuriteitslogboeke** vir ongewone name of rekeninge wat geskep of gebruik is in nabyheid van bekende ongeoorloofde gebeurtenisse. Kontroleer ook moontlike sudo brute-force aanvalle.\
|
||||
Ondersoek die _**/etc/passwd**_, _**/etc/shadow**_ en **sekuriteitslogboek** vir ongewone name of rekeninge wat geskep en of gebruik is in nabyheid van bekende ongeoorloofde gebeurtenisse. Kontroleer ook moontlike sudo brute-force aanvalle.\
|
||||
Boonop, kyk na lêers soos _**/etc/sudoers**_ en _**/etc/groups**_ vir onverwagte voorregte wat aan gebruikers gegee is.\
|
||||
Laastens, soek na rekeninge met **geen wagwoorde** of **maklik geraadpleegde** wagwoorde.
|
||||
|
||||
## Ondersoek Lêerstelsel
|
||||
|
||||
### Ontleding van Lêerstelselstrukture in Malware Ondersoek
|
||||
### Ontleding van Lêerstelsels in Malware Ondersoek
|
||||
|
||||
Wanneer malware-voorvalle ondersoek word, is die struktuur van die lêerstelsel 'n belangrike bron van inligting, wat beide die volgorde van gebeurtenisse en die inhoud van die malware onthul. egter, malware-skeppers ontwikkel tegnieke om hierdie analise te hindernis, soos om lêer tydstempels te verander of die lêerstelsel te vermy vir datastoor.
|
||||
Wanneer daar ondersoek gedoen word na malware-voorvalle, is die struktuur van die lêerstelsel 'n belangrike bron van inligting, wat beide die volgorde van gebeurtenisse en die inhoud van die malware onthul. egter, malware-skeppers ontwikkel tegnieke om hierdie analise te hindernis, soos om lêer tydstempels te verander of die lêerstelsel te vermy vir datastoor.
|
||||
|
||||
Om hierdie anti-forensiese metodes te teenwerk, is dit noodsaaklik om:
|
||||
|
||||
@ -319,8 +345,8 @@ Om hierdie anti-forensiese metodes te teenwerk, is dit noodsaaklik om:
|
||||
- **Soek na versteekte lêers of gidse** met name soos ".. " (dot dot space) of "..^G" (dot dot control-G), wat kwaadwillige inhoud kan verberg.
|
||||
- **Identifiseer setuid root lêers** met die opdrag: `find / -user root -perm -04000 -print` Dit vind lêers met verhoogde voorregte, wat deur aanvallers misbruik kan word.
|
||||
- **Hersien verwydering tydstempels** in inode-tabelle om massalêer verwyderings op te spoor, wat moontlik die teenwoordigheid van rootkits of trojans aandui.
|
||||
- **Inspekteer opeenvolgende inodes** vir nabye kwaadwillige lêers nadat een geïdentifiseer is, aangesien hulle dalk saam geplaas is.
|
||||
- **Kontroleer algemene binêre gidse** (_/bin_, _/sbin_) vir onlangs gewysigde lêers, aangesien hierdie dalk deur malware verander is.
|
||||
- **Inspekteer opeenvolgende inodes** vir nabye kwaadwillige lêers nadat een geïdentifiseer is, aangesien hulle saam geplaas mag wees.
|
||||
- **Kontroleer algemene binêre gidse** (_/bin_, _/sbin_) vir onlangs gewysigde lêers, aangesien hierdie deur malware verander kan wees.
|
||||
````bash
|
||||
# List recent files in a directory:
|
||||
ls -laR --sort=time /bin```
|
||||
@ -328,14 +354,14 @@ ls -laR --sort=time /bin```
|
||||
# Sort files in a directory by inode:
|
||||
ls -lai /bin | sort -n```
|
||||
````
|
||||
> [!NOTE]
|
||||
> Let daarop dat 'n **aanvaller** die **tyd** kan **wysig** om **lêers** **legitiem** te laat lyk, maar hy **kan nie** die **inode** **wysig** nie. As jy vind dat 'n **lêer** aandui dat dit op die **selfde tyd** as die res van die lêers in die selfde gids geskep en gewysig is, maar die **inode** **onverwagte groter** is, dan is die **tydstempels van daardie lêer gewysig**.
|
||||
> [!TIP]
|
||||
> Let daarop dat 'n **aanvaller** die **tyd** kan **wysig** om **lêers** **legitiem** te laat lyk, maar hy **kan nie** die **inode** **wysig** nie. As jy vind dat 'n **lêer** aandui dat dit op die **dieselfde tyd** as die res van die lêers in dieselfde gids geskep en gewysig is, maar die **inode** is **onverwagte groter**, dan is die **tydstempels van daardie lêer gewysig**.
|
||||
|
||||
## Vergelyk lêers van verskillende lêerstelsels
|
||||
|
||||
### Lêerstelsel Weergawe Vergelyking Opsomming
|
||||
### Samevatting van Lêerstelsel Versie Vergelyking
|
||||
|
||||
Om lêerstelsels te vergelyk en veranderinge te identifiseer, gebruik ons vereenvoudigde `git diff` opdragte:
|
||||
Om lêerstelsel versies te vergelyk en veranderinge te identifiseer, gebruik ons vereenvoudigde `git diff` opdragte:
|
||||
|
||||
- **Om nuwe lêers te vind**, vergelyk twee gidse:
|
||||
```bash
|
||||
@ -349,7 +375,7 @@ git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ |
|
||||
```bash
|
||||
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
||||
```
|
||||
- **Filter opsies** (`--diff-filter`) help om te fokus op spesifieke veranderinge soos bygevoegde (`A`), verwyderde (`D`), of gewysigde (`M`) lêers.
|
||||
- **Filter opsies** (`--diff-filter`) help om te fokus op spesifieke veranderinge soos bygevoeg (`A`), verwyder (`D`), of gewysig (`M`) lêers.
|
||||
- `A`: Bygevoegde lêers
|
||||
- `C`: Gekopieerde lêers
|
||||
- `D`: Verwyderde lêers
|
||||
@ -367,4 +393,6 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
||||
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
|
||||
- **Boek: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
|
||||
|
||||
- [Red Canary – Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user