it-swarm-eu.dev

Proč musíte být administrátorem, abyste v systému Windows vytvořili symbolický odkaz?

V linuxu může každý uživatel vytvářet symlinks, ale ve Windows potřebuji admin příkazový řádek, nebo mklink selže. Proč?

71
ripper234

Ve výchozím nastavení mohou symbolické odkazy vytvářet pouze správci, protože jsou jediní, kteří mají oprávnění SeCreateSymbolicLinkPrivilege nalezeno pod Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\ uděleno.

Z Microsoft TechNet: Nastavení zásad zabezpečení pro Windows Vista nové :

Symbolické odkazy (symlinks) mohou vystavovat bezpečnostní chyby v aplikacích, které nejsou navrženy pro zpracování symbolických odkazů.

23
ordag

Není tomu tak úplně (viz níže) --- od Windows 10 Insider build 14972 (Windows 10 Creators update ~ 1703).

Z komentářů pod blogovým příspěvkem však stále existují obavy ohledně problémů uvedených v ostatních odpovědích a abyste mohli toto nové chování využít, musíte:

  • povolte na svém počítači režim pro vývojáře
  • předejte SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE příznak rozhraní CreateSymbolicLink API
8
MayeulC

Linux má rozčleněnou strukturu souborů/uživatelů. To znamená, že „program A“ nemůže provádět „úlohu B“, pokud se netýká „místa na disku C“. Symlinks tedy logicky nic neovlivňují logisticky, pokud jde o pronikání rizik, protože celý OS je založen na předpokladu akce -> povolení.

Nebo řečeno jinak, díky tomu, že gazilionový symbolický odkaz vám nepomůže, pokud jste hacker s ničím jiným než s nízkoúrovňovými oprávněními. V systému Linux nebo MacOS vám to nepomůže.

V systému Windows však nemáte „program A“, který spouští jiný program, než je přihlášená osoba ... takže přihlášená osoba může „úkol B“ provádět kdekoli chce. DEFINITELY vám tedy pomůže proniknout na úroveň symbolických odkazů, protože můžete potlačit běžně nalezené skutečné soubory virovým užitečným zatížením a skrýt, že jste to udělali.

Takže bez úrovně ochrany symlink by vás virus mohl nakazit, spustit jako své užitečné zatížení spoustu symbolických odkazů na, řekněme, přesměrovat "Explorer.exe "falešný" exactly-as-windows-made-it-except-with-a-payload Explorer.exe ".

Proč bys to dělal? Upřímně řečeno, jsou to klíče od království. Dalo by se spolehlivě najmout tento počítač do robota, který by teoreticky aktivoval jeho cestu do budoucnosti atd. Existuje milion způsobů, proč je to lepší než jen „mít infekci“, protože je většina lidí odstraní, když je uvidí, a to by se mohlo skrýt.

5
Mr Heelis

Našel jsem důvod, kdy byl spuštěn Vista. Uvedený důvod pouze pro administrátory je velmi jednoduchý. Nejedná se o nespecifikované bezpečnostní problémy, je třeba upgradovat tisíce kusů softwaru tak, aby používal volání API, která doslova neexistovala před tím, než byly přidány, aby se zabránilo průniku bezpečnostních děr při procházení symbolickými odkazy.

Windows jsou hrozně zranitelné vůči symbolickým odkazovým závodům; existují způsoby, jak tomu zabránit, druh, ale prakticky žádné aplikace API nepoužívají takovým způsobem vůbec. Ani společnost Microsoft nepřijímá chyby zabezpečení, které zahrnují závody symbolických odkazů. Jen jsem se pokusil ohlásit jeden před třemi měsíci.

4
Joshua

Pevné odkazy a adresářové uzly jsou pouze uvnitř jednoho oddílu (nemůže existovat pevný odkaz z jedné jednotky na druhou nebo dokonce do síťového umístění).

SymLinks na druhé straně může také odkazovat z místa v systému, které se jeví jako „bezpečné“, na síťové umístění.

1
StefanA