Skip to Content

IT nieuczesane.
archive

> Daily Archives: 16 grudnia 2008

NTFS Alternate Data Streams

…czyli kontynuacja cyklu „człowiek uczy się całe życie” bo temat do świeżych nie należy. jaki jest dokładnie cel ADS nie potrafię zrozumieć – konkretnie, nie widzę praktycznego zastosowania dla tego wynalzq [czy coś normalnie z tego korzysta? skąd ten pomysł?]. ale coś takiego jest. ogólne przeznaczenie oznacza, iż każdy plik w NTFS może zawierać kilka strumieni danych. jeden z nich przetrzymuje informacje o ACL, inny realne dane. jak dotąd rozsądnie i nie widać nic dziwnego. dziwnie zaczyna się robić w momencie, kiedy dodamy informację, że realne dane mogą być de facto linkiem do innego strumienia danych. „robi się dziwniej i dziwniej, powiedziała alicja”… ponieważ oznacza to ni mniej ni więcej tylko tyle, że do pliq, może być dowiązany kolejny plik, który standardowo nie jest widoczny nigdzie w systemie. każdy listing pokaże nam plik np. 1kb podczas, gdy do niego jest dowiązany, niewidoczny DivX.

krótki test
c:copy con a.txt
wpisuje tu coś
^Z
c:echo i tu tez cos wpisze - ale to jest ukryte>a.txt:ukryty.plik

po wykonaniu komendy dir widać a.txt – ale nigdzie nie zobaczy sie ‚ukryty.plik’. wykonanie np. notepad a.txt:ukryty.plik – pokaże go i pozwoli wyedytować. sprawdzałem możliwość podczepienia pliq exe:
type calc.exe>notepad.exe:hiddencalc.exe
i działa. nie da się na szczęście takiego exe bezpośrednio uruchomić – trzeba go spowrotem przepisać do nowego pliq. przynajmniej tyle – bo nie jest to zbyt bezpieczny myk. kolejną ciekawostką jest fakt, że stary [nie]dobry type, strumieni nie obsługuje:

C:temp>type a.txt:new.exe
The filename, directory name, or volume label syntax is incorrect.

co nie znaczy, że nie da się tego zrobić innymi narzędziami. takich strumieni do pliq można dowiązać dowolnie wiele. w systemie vista i w2k8 polecenie dir zostało rozszerzone o dodatkowy parametr: /r, który wyświetla strumienie plików. przykładowy listing po doczepieniu 3 dodatkowych strumieni do pliq a.txt [w tym jednego pliq avi]:
C:temp>dir /r a.txt
Volume in drive C has no label.
Volume Serial Number is 0EAE-9628

Directory of C:temp

2008-12-16 19:15 5 a.txt
6 106 624 a.txt:avi.avi:$DATA
7 a.txt:new.txt:$DATA
9 a.txt:new2.txt:$DATA
1 File(s) 5 bytes
0 Dir(s) 19 567 476 736 bytes free

niestety [a może stety] żaden program nie był stanie otworzyć pliq a.txt:avi.avi – ciekawe, że notepad bez problemu otwiera a.txt:new.txt.

usunięcie pliq-linq, powoduje usunięcie wszystkich związanych z nim strumieni.

c:temp>dir
[...]
2008-12-16 19:15 5 a.txt
[...]
82 File(s) 129 929 767 bytes
14 Dir(s) 19 567 472 640 bytes free
c:temp>del a.txt
c:temp>dir
[...]
14 Dir(s) 19 573 579 776 bytes free

i tak widać, że usunięcie 5b pliq spowodowało zwolnienie ponad 6MB danych.

ponieważ w systemach XP- nie ma jak tego standardowo sprawdzić, dostępne są różne narzędzia, które wyświetlają te streamy – np. sysinternalsowy ‚streams.exe’.

kiedy poszpera się dalej można trafić na ciekawy art jeszcze z czasów w2k, do którego dodany jest ‚NTFSext.exe’, w którym znaleźć można bibliotekę ‚strmExt.dll’. po jej rejestracji [skopiować do system32 i wykonać regsvr32 strmext.dll] dodawana jest informacja w explorerze o ADS. aby dodadkowa zakładka była dodana również do folderu, należy wyedytować następujące klucze:

HKEY_CLASSES_ROOTDirectoryshellexPropertySheetHandlers{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}
HKEY_CLASSES_ROOTDriveshellexPropertySheetHandlers{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}

i na koniec jeszcze jeden link – spojrzenie od strony [nie]bezpieczeństwa.

****UPDATE
ponieważ ‚type’ nie rozumie streamów pozostaje pytanie – w jaki sposób go odczytać? spokojnie potrafi go zinterpretować windowsowa kompilacja linuxowego ‚cat’ – do zassania z projektu unxutils.
i jeszcze jedna ciekawostka: streamy można doczepiać również do katalogu:
c:temp>mkdir teststream
c:temp>echo ukryty opis katalogu>teststream:hidden
c:temp>dir /r teststream
Volume in drive C has no label.
Volume Serial Number is 0EAE-9628

Directory of C:tempteststream

2008-12-19 14:06

.
4 .:hidden:$DATA
2008-12-19 14:06
..
0 File(s) 0 bytes

złożoność haseł w AD…

..czyli człowiek uczy się całe życie.
we wszystkich [o ile pamiętam] materiałach edukacyjnych jest napisane, że złożoność hasła to wymuszenie, aby hasło zawierało:

  • co najmniej jeden znak [a-z]
  • co najmniej jeden znak [A-Z]
  • co najmniej jedną cyfrę [0-9]
  • co najmniej jeden znak specjalny [non-alphanumeric]

jednak jest jeden pewien niuans – nie jest to dokładnie tak. a mianowicie: musi zawieraj co najmniej znaki z 3 różnych zestawów z 5 kategorii:

  • co najmniej jeden znak [a-z]
  • co najmniej jeden znak [A-Z]
  • co najmniej jedną cyfrę [0-9]
  • co najmniej jeden znak specjalny [non-alphanumeric]
  • unicode char

ponadto hasło musi mieć co najmniej 6 znaków [a więc nie trzeba włączać wymagania długości, bo jest już wymuszone]… i coś co mnie zaskoczyło: hasło nie może zawierać trzech lub więcej znaków z nazwy konta [sic!].

taki banał. całe życie w niewiedzy (;

źródło

remove lds instance

proste zdanie – usunąć instancję LDS na w2k8. pierwszy link – art technetowy. proste, jasne i przyjemne… z jednym wyjątkiem: w w2k8 nie ma czegoś takiego jak ‚programs and features’. nigdzie też nie znalazłem [strach powiedzieć, że nie ma (; ] wylistowanej isntancji LDS.

aby odinstalować instancję LDS należy znać jej nazwę, a kiedy ma się już tą informację to:
c:windowsadamadamuninstall /i:instance_name