Alternate Data StreamsAlternate Data Streams (zu deutsch: Alternative Datenströme), kurz auch ADS, sind eine spezielle Funktion des NTFS-Dateisystems. Diese ermöglichen es, Daten vom Benutzer unsichtbar fest an eine Datei gebunden zu speichern.
Im Artikel ist ein Beispiel enthalten wie man einen ADS-Stream erzeugt, startet, löscht. Diese Methode wird ebenfalls von Rootkits verwendet
Sicherheitsbedenken - ADS
- Da die ADS-Ströme für den Benutzer unsichtbar sind und noch nicht alle Antivirenprogramme in der Lage sind, die ADS zu durchsuchen, können Viren diese Funktion ausnutzen.
- Daten in ADS sind genau wie normale Dateien ausführbar. Im Autostart können solche ausführbaren Daten mit einem start-Kommando ausgeführt werden.
- Beim sicheren Löschen von Dateien, also bei mehreren Überschreibvorgängen (Beispiel: Gutmannverfahren) müssen ADS-Ströme auch berücksichtigt werden.
- Beim Berechnen von Ordnergrößen, z.B. in den Eigenschaften eines Ordners im Windows Explorer, geht der durch ADS-Ströme belegte Platz nicht in die Berechnung mit ein. Es können so große Datenmengen "versteckt" werden, die nur schwer zu finden sind.
Beispiel der GefahrErzeugen eines Bösen Streams im Systemverzeichnis Windows. %WINDIR% => ist eine CMD Variable welche das Windowsverzeichnis beschreibt. Weitere CMD Variablen können mit dem Befehl "set" abgerufen werden. Erzeugen type %WINDIR%\system32\calc.exe > %WINDIR%:evil.exe
Startenstart %WINDIR%:evil.exe Löschen eines Streams Das Entfernen eines ADS ist umständlich, weil der delete-Befehl (del) für ADS nicht funktioniert. Daher können auf einfache Weise auch nicht einzelne, sondern nur alle ADS, die zu einer Datei gehören, entfernt werden: > type myfile.txt > myfile.bak > del myfile.txt > ren myfile.bak myfile.txt Beim NT4 konnte die Notepad z.B. die ADS - Streams ohne Probleme öffnen, dieses feature ist in den heutigen Windows Versionen nicht mehr enthalten. CMD -> fsutil (Windows XP / Vista / Server 2003 / Server 2008.). Dieses Kommandline Tool ruft diverse Einstellungen von NTFS ab. fsutil fsinfo statistics C: -> Für Stastiken über über die größe des MFT und weitere Optionen fsutil sparse queryflag "Dateiname" -> fragt ab ob es eine sparse Datei ist fsutil sparse setflag "Dateiname" -> wandelt eine Datei in eine Sparse Datei um.
Erstellt man in einem anderen Verzeichnis nun darauf einen Hardlink namens Link2_Text.doc, verweisen beide auf das gleiche File. fsutil hardlink create (neuer Dateinname) (vorhandener Dateiname). -> ähnlich wie "Subst" Quellen: http://www.infosecwriters.com/texts.php?op=display&id=53 http://www.heysoft.de/nt/ntfs-ads.htm |