Metadane systemowe jako wektor ataku – informacje, których użytkownik nigdy nie widzi
Metadane systemowe jako wektor ataku – informacje, których użytkownik nigdy nie widzi
Dlaczego to temat „niewidzialny”
Większość użytkowników – a często także administratorów – myśli o danych wyłącznie w kategoriach:
pliki i ich treść
Tymczasem system operacyjny przechowuje drugą warstwę informacji:
- niewidoczną w eksploratorze,
- rzadko czyszczoną,
- niezwykle cenną z punktu widzenia atakującego.
To właśnie metadane systemowe.
Czym są metadane systemowe?
Metadane to dane o danych, przechowywane przez system plików i mechanizmy bezpieczeństwa, a nie przez sam plik.
Obejmują m.in.:
- właściciela pliku,
- listy uprawnień (ACL),
- znaczniki zaufania,
- strumienie alternatywne,
- atrybuty rozszerzone.
Użytkownik:
- ich nie widzi,
- ich nie edytuje,
- często nie wie, że istnieją.
Atakujący:
- czyta je jak mapę środowiska.
Dlaczego metadane są idealnym wektorem ataku?
Bo:
- nie są traktowane jak „dane wrażliwe”,
- rzadko podlegają audytowi,
- przechodzą między systemami (kopie, archiwa, backupy),
- są zachowywane nawet po „usunięciu treści”.
To cichy wyciek informacji o systemie.
Windows – metadane, które zdradzają więcej niż plik
1. ACL – listy kontroli dostępu
ACL zawierają:
- dokładne nazwy użytkowników i grup,
- SID-y (także nieistniejące),
- historię zmian uprawnień.
Co widzi atakujący?
- strukturę ról w systemie,
- dawne konta i grupy,
- miejsca o podwyższonych uprawnieniach.
ACL to historia bezpieczeństwa pliku, nie tylko jego stan.
2. Właściciel pliku
W NTFS każdy plik ma właściciela:
- nawet jeśli treść jest pusta,
- nawet jeśli konto już nie istnieje.
Dla atakującego:
- informacja, kto tworzył pliki,
- jakie konta miały realny wpływ na system,
- które obszary były „administracyjne”.
3. Strefy zaufania (Zone.Identifier)
Windows oznacza pliki:
- pobrane z Internetu,
- z sieci lokalnej,
- z nośników zewnętrznych.
Ta informacja:
- nie znika po przeniesieniu pliku,
- bywa kopiowana do archiwów,
- wpływa na zachowanie aplikacji i zabezpieczeń.
Z perspektywy ataku:
- wiadomo, skąd pochodzi plik,
- można manipulować mechanizmami zaufania.
4. Alternate Data Streams (ADS)
NTFS pozwala dołączyć do pliku niewidoczny strumień danych:
- bez zmiany rozmiaru pliku,
- bez widoczności w Explorerze.
Zastosowania ofensywne:
- ukrywanie danych,
- przechowywanie payloadów,
- omijanie prostych skanerów.
Plik wygląda „normalnie”.
Metadane mówią co innego.
Linux – niewidoczne atrybuty systemu plików

1. Extended Attributes (xattr)
Linux przechowuje dodatkowe atrybuty:
user.*security.*trusted.*
Mogą zawierać:
- kontekst bezpieczeństwa,
- informacje aplikacyjne,
- znaczniki wykonania.
Użytkownik ich nie widzi.
System – tak.
Atakujący – również.
2. ACL w Linuxie
Rozszerzone ACL:
- nadpisują klasyczne uprawnienia rwx,
- bywają zapomniane,
- są trudniejsze do audytu.
Dla ataku:
- możliwość znalezienia „dziur” w uprawnieniach,
- analiza realnych, a nie deklarowanych dostępów.
3. File capabilities
Linux pozwala nadawać binarkom:
- wybrane uprawnienia jądra,
- bez nadawania SUID root.
Problem:
- capabilities często są kopiowane razem z plikiem,
- administratorzy zapominają o ich istnieniu.
To idealny punkt eskalacji uprawnień.
Co atakujący wyciąga z samych metadanych?
1. Strukturę systemu
- kto jest administratorem,
- gdzie są dane krytyczne,
- które katalogi są „specjalne”.
2. Historię użycia
- kto tworzył pliki,
- z jakiego źródła pochodziły,
- jak zmieniały się uprawnienia.
3. Punkty zaczepienia
- binarki z capabilities,
- pliki z nadmiarowymi ACL,
- strumienie ADS,
- niespójne znaczniki zaufania.
Czy pliki mają ukryte informacje?
Tak. I to prawie zawsze.
Treść pliku to tylko część danych.
Reszta żyje w:
- systemie plików,
- mechanizmach bezpieczeństwa,
- warstwie, której użytkownik nigdy nie ogląda.
Czym są metadane systemowe w praktyce?
To:
- nieusuwalne „ślady palców” systemu,
- pamięć o przeszłych użytkownikach,
- źródło wiedzy dla forensics,
- narzędzie rozpoznania dla atakującego.
Jak ograniczyć ryzyko?
Windows
- audyt ACL i właścicieli,
- skanowanie ADS,
- czyszczenie znaczników stref zaufania,
- ostrożność przy kopiowaniu danych między systemami.
Linux
- regularny audyt xattr i ACL,
- kontrola file capabilities,
- testowanie uprawnień po migracjach,
- traktowanie metadanych jak danych wrażliwych.
Podsumowanie
Metadane systemowe:
- są niewidoczne,
- są ignorowane,
- są bezcenne dla atakującego.
Użytkownik widzi plik.
System widzi znacznie więcej.
Atakujący – widzi wszystko, czego Ty nie sprawdzasz.






