Introduction
Iedereen die zich in de beveiligingsarena bevindt, moet op de hoogte zijn van Windows Alternate Data Streams, ook wel bekend als ADS. Hoewel niet veel bekend, kan het ontbreken van dit weinig bekende kenmerk van het Windows NTFS-bestandssysteem van invloed zijn op hoe u een probleem in de toekomst oplost.
ADS werden geïntroduceerd in het Windows NTFS-bestandssysteem vanaf Windows NT 3.1. Deze ‘functie’ is geïmplementeerd om compatibiliteit met het Macintosh Hierarchical File System (HFS) mogelijk te maken. Kortom, het Macintosh-bestandssysteem slaat zijn gegevens op in twee delen, de bronvork en de gegevensvork. De gegevensvork is waar de gegevens daadwerkelijk zijn opgenomen en de resourcevork wordt gebruikt om het besturingssysteem te vertellen hoe het gegevensgedeelte moet worden gebruikt. Windows doet iets soortgelijks via extensies zoals .bat, .exe, .txt .html. Deze extensies vertellen het besturingssysteem hoe de specifieke gegevens in de bestanden te gebruiken.
Om windows compatibel te maken met het Macintosh-bestandssysteem, introduceerden ze alternatieve gegevensstromen. Deze verborgen stroom wordt gebruikt als de resourcevork is gebruikt. om het systeem te vertellen hoe de gegevens in het bestand moeten worden gebruikt.
Hoewel ADS is gemaakt voor compatibiliteit met de Mac-wereld, wordt het niet alleen voor dat doel gebruikt. Veel toepassingen gebruiken ADS om kenmerken van een bestand op te slaan. Als u bijvoorbeeld een tekstdocument maakt en met de rechtermuisknop klikt en naar de eigenschappen ervan gaat, ziet u een overzichtspagina. Deze samenvattingsinformatie wordt via ADS aan het bestand toegevoegd. Ik zal u daar later meer over laten zien en toepassingen om deze informatie te zien.
Kortom, zie ADS als verborgen bestanden die zijn gekoppeld aan de zichtbare bestanden. De belangrijkste reden waarom ze zo gevaarlijk zijn, is dat ze niet goed bekend zijn, over het algemeen verborgen zijn voor de gebruiker en dat er weinig beveiligingsprogramma’s zijn die ze kunnen herkennen.
Programma’s om ADS te bekijken
Voordat ik verder ga, wil ik enkele, niet alle, programma’s noemen die kunnen worden gebruikt om ADS te bekijken. Dit is zo als u deze tutorial leest en enkele voorbeelden volgt, kunt u de ADS-bestanden zien die u maakt.
De programma’s zijn als volgt:
Lads en ADSSpy
Hoe maak je een ADS
In een opdrachtprompt volgt een voorbeeld van het maken van een ADS:
C:test>echo "ADS" > test.txt:hidden.txt
Als u een DIR in die map doet, ziet u alleen het normale bestand.
C:test>lads LADS - Freeware version 3.21 (C) Copyright 1998-2003 Frank Heyne Software (http://www.heysoft.de) This program lists files with alternate data streams (ADS) Use LADS on your own risk! Scanning directory C:test size ADS in file ---------- --------------------------------- 8 C:testtest.txt:hidden.txt 8 bytes in 1 ADS listed
Bijvoorbeeld:
C:test> notepad test.txt:hidden.txt
Hiermee wordt het bestand geopend in kladblok en kunt u het bewerken en opslaan.
U kunt ook kladblok gebruiken om een ADS-bestand te maken. Typ gewoon:
C:test>notepad another.txt:ads.txt
Kladblok wordt gestart en zegt dat dit bestand niet bestaat en wilt u het maken. Je zou ja zeggen, en dan de informatie invoeren en opslaan. Deze methode heeft zojuist een nieuwe ADS gemaakt met de naam ads.txt.
ADS-bestanden hoeven niet aan een bestand te worden gekoppeld, maar kunnen ook een map worden toegevoegd. Dit veroorzaakt een probleem wanneer u een ADS maakt tegen een hoofdmap van een harde schijf, omdat het onmogelijk is om de ADS te verwijderen, tenzij u de opmaak opnieuw formatteert. Als iemand weet van een programma dat dit kan oplossen, laat het me dan weten.
Hier is een voorbeeld van het maken van een ADS tegen een directory:
C:test> echo test> :hidden.txt
Met deze opdracht is nu een ADS aan de map zelf gekoppeld. Voer LADS om de ADS te zien die aan de map zijn gekoppeld.
Wat is hier zo schadelijk aan?
Wat als ik je vertel dat ADS ook kan worden gebruikt met uitvoerbare bestanden? Dat klopt, ADS-bestanden die uitvoerbaar zijn, kunnen aan elk bestand worden toegevoegd, net zoals u .txt bestanden hebt bijgevoegd, en net als de tekstbestanden zou het voor de meeste software verborgen zijn.
Hier is een voorbeeld:
C:test> type c:windowsnotepad.exe > ads.txt:hidden.exe
Ik zal eerst mijn ADS uitvoerbaar maken:
C:test> type c:windowsnotepad.exe > ads.txt:np.exe
The filename, directory name, or volume label syntax is incorrect.
C:test>c:testads.txt:np.exe
The filename, directory name, or volume label syntax is incorrect.:
C:test>start ads.txt:np.exe
Access is denied.
De opdracht waarmee het uitvoerbare bestand wordt gestart:
C:test>start c:testads.txt:np.exe
Zoals u kunt zien, moet u het volledige pad van het uitvoerbare ADS gebruiken
ADS-bestanden verwijderen
C:test>ren number.txt temp.txt
C:test>type temp.txt > number.txt
C:test>del temp.txt
Als u ADS-bestanden wilt verwijderen die aan een map zijn gekoppeld, moet u de map verwijderen. Dit kan een groot probleem veroorzaken als de ADS is aangesloten op de hoofdmap van een harde schijf. Aangezien u de ADS niet op deze manier kunt verwijderen, tenzij u het station opnieuw formatteert, kunt u dit doen om de ongewenste informatie in het ADS-bestand te verwijderen.
C:test>echo empty > filler.txt
C:test>type filler.txt > :badads.txt
Sinds ik deze tutorial schreef zijn er een paar malware programma’s die zijn vrijgegeven om uw machine te infecteren met behulp van Alternate Data Stream bestanden. Hierdoor zijn er verbeteringen in de beschikbare software om dit soort programma’s van uw computer te verwijderen. Een programma dat zoekt naar ADS-bestanden op uw computer en vervolgens een lijst opgeeft die u kunt verwijderen, is ADSSPY. Hieronder vindt u een link naar dat programma:
Ander gebruik voor ADS
In het begin zei ik dat er andere toepassingen zijn voor ADS-bestanden. Bepaalde bestanden in Windows hebben een overzichtstabblad in hun eigenschappen. Een voorbeeld hiervan is .txt documenten. Als u een nieuw .txt document maakt en er met de rechtermuisknop op klikt en overzicht selecteert, kunt u enkele gegevens invullen.
Deze informatie wordt opgeslagen als ADS-bestanden die aan het document zijn gekoppeld. We hebben bijvoorbeeld een bestand met de naam readme.txt. Als ik naar het overzichtsgedeelte ga en mijn naam in het veld Titel invul en op OK druk, wordt die informatie opgeslagen als ADS.
U kunt dit als volgt zien:
C:test>lads
LADS - Freeware version 3.21
Scanning directory C:test
size ADS in file
---------- ---------------------------------
11 C:test:hidden.txt
120 C:testreadme.txt:?SummaryInformation
0 C:testreadme.txt:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}
131 bytes in 3 ADS listed
Conclusion
Zoals u kunt zien, kunnen ADS zeker voor veel meer worden gebruikt dan werd verwacht toen Microsoft ze introduceerde. Ze hebben het rechtmatige gebruik, maar kunnen zeker worden gebruikt voor donkere bedoelingen.
Samengevat zijn hier de redenen waarom ADS als problematisch kan worden beschouwd:
- Er zijn maar weinig programma’s die ADS detecteren.
- Het verwijderen van ADS kan moeilijk zijn.
- Explorer en Dir berekenen bij het bepalen van de vrije ruimte niet de ruimte die ADS gebruikt.
- U kunt een uitvoerbaar bestand verbergen als een ADS.