Bevisa filers existens – En guide till Windows forensik del 2
Detta är del 2 av min bloggserie som är en guide till it-forensik, där vi kikar närmare på filer och deras existens på ett Windows-system.
Del 1 hittar du >>HÄR<< och handlar främst om artefakter för att bevisa exekvering av program.
Vi börjar med en kort bakgrund om $MFT (Master File Table) som håller ordning på alla filer på en volym, tidsstämplar associerade med filer och vad timestomping innebär. Därefter beskrivs några olika artefakter som användas för att bevisa filers existens på ett filsystem, även om de kanske vid ett senare tillfälle har raderats.
Bakgrund
$MFT – Master File Table
NTFS-filsystem har en fil som håller koll på alla filer på volymen, denna fil heter Master File Table ($MFT). Även om en fil raderas på disk finns information om filen kvar i MFT i ett så kallat ”slack space”, vilket gör det möjligt att identifiera filer som raderats i detta utrymme. De tomma posterna flaggas som fria och kan återanvändas av operativsystemet. Vid en forensisk utredning kan detta ”tomma” utrymme användas för att identifiera filer som existerat tidigare. Senare versioner av Windows är effektivare på att återanvända slack space, vilket kan leda till att spår av tidigare filer försvinner snabbare än i äldre versioner.
Varje MFT post är 1024 byte stor innehåller följande information om en fil:
- Post header – definierar posten som en FILE post och är värdet 0x46494C45
- Standardinformation (SI) – innehåller information om filen så som behörigheter och tidsstämplar.
- Filenamn – filens eller mappens namn samt dess överliggande mapp.
- Data – pekare till filen på disk, för mindre filer kan även detta fält innehålla filens data.
Vi fördjupar oss inte mer i strukturen av MFT-filen och dess innehåll, men filen är enkel att hitta när forensik ska genomföras av en diskavbild då den ligger i roten av varje volym. Den ligger där som en dold systemfil och kan därför inte enkelt kommas åt i ett livesystem. Manuell undersökning av MFT-filen är inte enkelt men det finns ett flertal verktyg som kan processera innehållet, exempelvis
- FTK Imager kan användas för att hämta MFT-filen från en image
- MFTECmd som är ett kommandoradsverktyg för att undersöka MFT
- MFTExplorer som är ett grafiskt verktyg för att undersöka MFT, det kan också detektera timestomping
Det är möjligt att beskriva så mycket mer om med hur filer lagras, hur man kan återskapa filer och annat, men det får avhandlas i en framtida it-forensik-guide!
Tidsstämplar
I en utredning kan filers tidsstämplar vara mycket intressanta för det kan beskriva om filen har skapats, modifierats eller flyttats. Tidsstämplarna som finns är följande:
- C – Creation (Skapad)
- A – Access (Åtkomst)
- M – Modified (Ändrad)
- M – Metadata (metadata)
Vilka tidsstämplar som uppdaterats för en fil kan ge ledtrådar till vad som skett med filen. Informationen hittas i Standardinformations-fältet för en fil-post i $MFT. Följande bilder som sammanfattar hur tidsstämplar förändras är från SANS DFIR Windows Forensics Analysis Poster och finns att ladda ner i sin helhet från SANS.


I normala omständigheter ska tidsstämplarna uppdateras som ovan, men olika program kan medföra att tidsstämplarna sätts på olika sätt. Det kan dessutom finnas lite fördröjning mellan olika tidsstämplar som medför att de inte matchar exakt händelsetid. Särskilt användbara tidsstämplar vid analyser som typiskt inte påverkas av t.ex. program, är exempelvis filkopiering. Men observera att hur dessa stämplar uppdateras skiljer sig mellan Windows 10 och 11!
Timestomping
När man gör en forensisk utredning är det också viktigt att ha i åtanke att en angripare ofta vill dölja sina spår eller på andra sätt försvåra upptäckt. En metod för att åstadkomma förvirring är att använda sig av s.k. timestomping, där syftet är att förändra tidsstämplarna på filer. Exempelvis kan en angripare förändra alla tidsstämplar på en fil innehållandes skadlig kod flera månader bakåt i tiden för att inte matcha med tiden för intrånget och på sätt blir det svårt att koppla den skadliga filen till intrånget.
Genom att kontrollera om tidsstämplar matchar i olika fält för en fil i $MFT kan det vara möjligt att identifiera detta då det exempelvis kan finnas diskrepanser mellan tidsstämplarna i fälten Standardinformation (SI) och Filnamn (FN). Ett annat mer uppenbart sätt att upptäcka detta om tidsstämplarna är helt orimliga.
Artefakter
Link files .lnk
Link files är en metadatafil som är en genvägsfil med ändelsen .lnk. Dessa skapas automatisk av operativsystemet när användaren hämtar ett dataobjekt som inte är en exekverbar fil, oavsett om den lagras lokalt på datorn, en nätverksplats eller exempelvis en USB-sticka.
Sökväg Windows 11: %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent
När en .lnk fil skapas när användaren öppnar en fil så skapas även en .lnk fil till den mapp filen tillhör.
I exemplet nedan används verktyget LECmd från Eric Zimmerman. I informationen nedan analyseras .lnk-filen ”glad gubbe.png.lnk” som hittades i ”Recent”-mappen.
Den första delen i utdata avseende ”Source file” är när själva .lnk filen skapades, det vill säga ungefär då filen senast hämtades. ”Header”-avsnittet innehåller information om ursprungsfilens tidsstämplar. Tidsstämpeln för ”accessed” är inte en tidsstämpel som kan litas på, i det här exemplet så fanns inte ens filen vid tidpunkten ”Target accessed”. Däremot är det möjligt att utläsa att filen låg på en flyttbar mediaenhet (”Drive type”) och vilken sökväg den hade D:\glad gubbe.png.

Länkar:
Amcache
Amcache hiven (amcache.hve, Application Activity Cache) används av operativsystemet för att tillhandahålla information om installerade applikationer, drivrutiner och exekverbara filer. I ett forensiskt sammanhang kan det användas för att bevisa att en applikation/drivrutin/exekverbar fil fanns på ett system, även om den kanske inte längre finns. Eftersom även filens hashsumma finns tillgänglig i denna databas, kan det vara särskilt värdefullt om man söker efter existensen av en specifik fil eller vill söka om det har funnits skadliga filer på den undersökta enheten.
Sökväg till Amcache.hve: %SYSTEMROOT%\appcompat\Programs\Amcache.hve
Det är däremot viktigt att notera att denna artefakt INTE bevisar exekvering – bara dess existens på systemet!
I exemplet nedan använder vi bara Registry Explorer för att undersöka vad som finns i hiven. I amcache.hve under nyckeln “InventoryApplicationFile” hittas informationen om installerade applikationer.

Här kan vi exempelvis se att det har funnits en äldre version av 7-zip på systemet och lite information kring filen:

Det finns ett antal specifika verktyg för att läsa amcache.hve som gör det enklare vid forensisk analys och det är exempelvis amcacheparser från Eric Zimmerman och amcache-evilhunter utvecklad av Christian Souza. Amcache-evilhunter kan automatiskt slå upp identifierade hashar mot exempelvis VirusTotal – vid en forensisk analys bör man alltså fundera om det är önskvärt, men användning av den funktionen kräver att en särskild flagga anges.
Länkar:
- AmCache Evil Hunter av Christian Souza
- AmcacheParser av Eric Zimmerman
- RegistryExplorer av Eric Zimmerman
OpenSaveMRU
OpenSavePidlMRU-nyckeln innehåller information om filer som användare har fått åtkomst till via Öppna/Spara-dialogen, det vill säga, det kan vara filer som användaren öppnat via dialogen eller sparat via dialogen. Ett praktiskt exempel är att en användare har laddat ner en fil från internet och använt Spara-dialogen för att spara filen, då finns denna listad i OpenSavePidlMRU. Notera att det inte går att särskilja på om filen har öppnats eller sparats via dialogen från de värden som finns lagrade i OpenSavePidlMRU.
Sökväg till nyckel: NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
I OpenSavePidlMRU finns de senaste 20 filerna av alla filtyper i läsbart format.

I bilden nedan kan det exempelvis används Registry Explorer för att utläsa att det var den senaste csv-filen som öppnades eller sparades via dialog-rutan 2025-03-24 medan den senaste docx filen som öppnades eller sparades via dialog-rutan var 2025-10-09.

Subnyckeln * innehåller de 20 senaste filerna som öppnats eller sparats i en Open/Save dialogruta av alla filtyper, vilket kan vara mer relevant information vid en forensisk undersökning om det är intressant vad som hänt i närtid. Dock är dessa i binärt format vilket kan vara lite svårt att tolka.
Shellbags
Shellbags är registernycklar som är till för att förbättra prestanda och användarupplevelsen. De spårar vilka mappar som en användare har öppnat. I ett forensiskt sammanhang kan de alltså användas för att se om en mapp har hämtats eller skapats, oavsett om det är på det lokala filsystemet, en usb, en nätverksdisk eller någon annanstans.
NTUSER.DAT: HKCU\Software\Microsoft\Windows\Shell
USRCLASS.DAT: HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell
Innehållet kan vara svårt att tolka genom att undersöka registernycklarna direkt, istället kan ett verktyg så som ShellBagsExplorer från Eric Zimmerman användas.

Eftersom Shellbags innehåller även raderade mappstrukturer kan man få en historisk bild. Utöver detta visar verktyget ShellBagsExplorer ytterligare intressant information i ett läsbart format så som Tid för Skapad, Modifierad, Hämtad, Första interaktion och Senaste interaktion. Kolumnen ”Has explored” är en flagga som beskriver om en användare har öppnat mappen vid något tillfälle.
Länkar:
Slutsats
I denna bloggartikel har vi fortsatt fördjupa oss i it-forensikens värld och tittat på hur det är möjligt att styrka existensen av en fil på ett system som är en pusselbit för att bygga upp en händelse eller ett händelseförlopp.
Det finns många möjliga alternativ för nästa forensik-blogg, så fortsättning följer!

