Simovits

Darth Vader utför en forensisk undersökning av air-gapped miljö

Bakgrund

I den här bloggen kommer jag visa ett flöde i en forensisk undersökning. Bakgrunden till den här undersökningen är att Darth Vader misstänker att rebellalliansen stulit ritningarna till dödsstjärnan och kräver nu att detta måste utredas.

Miljö

Miljön som Darth Vader är uppbyggd enligt följande princip. Han tycker säkerheten är viktig och har funderat mycket på loggning och hur miljön ska sättas upp.

Miljön är en Air-gapped lösning, med tunna klienter som ansluter till en server som har de viktiga ritningarna på en filserver. Darth Vader har slagit på nästan all Windows-loggning och filservern har Microsoft File-audit-loggning påslagen. Det är bara de tunna klienterna som har tillgång till den air-gappade miljön och enda möjligheten är att exfiltrera ritningarna är till ett USB-minne då miljön saknar internet-access.

Skiss över miljön

I och med att konfigurationen av miljön ser ut på detta vis, så kan följande slutsatser dras:

Undersökning – Server

På servern kan vi utläsa att filen i fråga helt riktigt har lästs av användaren. Men Vader är fortfarande lite förbannad på att Microsoft inte loggar sina events på ett bättre och tydligare sätt. Följande tabell har han lyckats få fram:

Event IDNamnbeskrivningData
4656A handle to an object was
requested
Loggar starten på all filaktivitetFilnamn
4663An attempt was made to access an objectDenna händelse loggar operationer som utförs mot filer och andra objekt.Vad som hänt
4660An object was deletedLoggar om en fil raderas, måste korreleras med 4656 och Handle IDRadering av filer
4658The handle to an object was
closed
Loggar att en fil stängsTid

Här har event 4663 information vilken access som krävts och vi kan i detta event läsa ut om rättigheter för att skriva/läsa/radera filen har krävts.

Så vad har vi hittills kommit fram till:

Vidare undersökning USB

Men nu till undersökningen om att om filen i fråga har lagts på ett USB-minne?

I och med att audit-loggningen bara sker på filservern så kan det inte utläsas eller loggas i file-audit att ett USB-minne anslutits och vi kan inte se vad som händer på den tunna klienten. Här hamnade utredningen i ett litet dödläge och Vader vill inte att vi ska sluta.

Vid tester av konfigurationen framkom det att USB-minnena mappas upp som nätverksshare med //tsclient/d. Vid närmare undersökning så är det en inbyggd funktion som kan användas i RDP-anslutningar. Enheten kommer visas på servern som en virtuell nätverksenhet. Om exempelvis C: delas ut från den tunna klienten kommer den visas som \\tsclient\c på servern. De här sharen har både skriv och läsrättigheter. För den som vill läsa mer om detta [ https://docs.microsoft.com/sv-se/archive/blogs/brendangrant/the-most-useful-feature-of-remote-desktop-i-never-knew-about ]

Exempel på hur tsclient används

Väldigt smidigt och bra i och med att de är anslutna som ett share då borde Event ID 5140 – A network share object was accessed kunna användas. Men tyvärr så verkar inte Microsoft logga 5140 när det gäller tsclient, detta troligtvis pga att det är ett virtuellt share.

Så ännu ett bakslag i utredningen men skam den som ger sig. Vad händer egentligen om jag upprepar förfarandet vid en kopiering? Händelsen kan väl inte vara osynlig?

Så vi kör igång process monitor för att se vad som egentligen händer när ett USB-minne används över RDP och vad som händer när filer skrivs och läses från USB-minnet.

Användning av process monitor

I analysen med hjälp av procmon så hittas egentligen bara en fil som kan härröra till //tsclient/ när tester genomförs vad som händer när vi ansluter, skriver och läser filer från ett USB från den tunna klienten.

Det återkommande mönstret är att följande filer skrivs:

C:\Users\xxxx\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\xxxxxxxxxx.automaticDestinations-ms

Jump lists

Så vad är egentligen en .automaticDestinations-ms fil?

AutomaticDestination är en del i en funktion i Windows för att som blev introducerad i Windows 7. AutomaticDestination är en hopplista (Jump lists) som är en funktion som används av program eller operativ system för att hålla koll på hur en användare kan hoppa in i tidigare använda filer och program. Som ett exempel så använder Snabbåtkomst i filsystemet sig av hopplistor även applikationer som Word använder detta för att visa tidigare filer. Hopplistorna är personliga för varje användare och finns att finna under följande sökväg:

C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\

Hopplistorna är konstruerade som att varje applikation har ett AppID och en egen fil. Som exempelvis är 5f7b5f1e01b83767 – Quick Access. Listor över AppID finns exempelvis på Eric Zimmermans github.

Exempel på hopplistor

Värt att nämna är att det finns en forensisk artefakt som heter CustomDestination under C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations. Dessa är också en typ av hopplistor, men skapas när användaren fäster ett program eller fil.

Så tillbaka till utredningen, vi vet alltså att AutomaticDestinations skrivs när vi använder ett USB-minne. För att få ut vettig information från filerna kan något av följande verktyg användas:

Detta för att få följande data läsbart:

Innehåll i en hopplista

När hopplistan är bearbetad med något av programmen listade ovan, så kan exempelvis resultatet bli som nedan. Detta exempel är taget från A forensic insight into Windows 10 Jump Lists, en bra resurs om du vill läsa mer om hopplistor.

Exempel på bearbetad hopplista

Oturligt nog kan det visas via hopplistorna att Rebellalliansen har använt sig av ett USB-minne på den tunna klient och fjärrsessionen har anslutit USB minnet till servern. Det har också i hopplistorna skapats forensiska artefakter på att ett USB-minne har anslutits och använts för att stjäla ritningarna till dödsstjärnan. Vid vidare undersökning visade det sig att Darth Vader hade valt lösenordet, deathstar vilket underlättade för Rebellalliansen att komma åt hans konto.

Slutsats

När vi väl fått ut data ur hopplistorna kan slutsatsen dras:

Summa summarum dålig dag på jobbet för Vader och negativt för Rymdimperiet. Vi avslutar bloggen med ett citat!

If the Rebels have obtained a complete technical readout of this station it is possible, however unlikely, that they might find a weakness, and exploit it.
The plans you refer to will soon be back in our hands.

General Cassio Tagge och Darth Vader