9.6 Zkouškové okruhy

Tato sekce obsahuje vypracované odpovědi na zkouškové otázky týkající se tématu bezpečnosti operačních systémů (lekce 09 dle ExamTopic.md).

Otázka 24: SMB: co to je a jak ho otestovat?
Server Message Block (SMB) je síťový protokol vyvinutý převážně pro sdílení souborů, tiskáren a dalších komunikačních abstrakcí ve Windows sítích. Zpravidla využívá port 445 (nebo starší 139).

Jak testovat SMB:
  • Enumerace: Zjištění informací o verzích protokolu, sdílených složkách a uživatelích. Běžně se používají nástroje jako Nmap (skripty z rodiny smb-enum-*), nebo netexec / crackmapexec (nxc smb IP_adresa). Využít lze i nástroj enum4linux.
  • Anonymní přístup (Null session): Kontrola, zda systém umožňuje výpis sdílených adresářů (shares) či uživatelů bez zadání hesla. Často se testuje nástrojem smbclient -L //IP_adresa/ -U "".
  • Brute-forcing: SMB patří k častým cílům slovníkových útoků k nalezení platného hesla s užitím hydra nebo nxc.
  • Zranitelnosti a Exploity: Náchylnost na známé exploity z rodiny EternalBlue (MS17-010) nebo novější zranitelnosti jako SMBGhost. Můžeme odhalit Nmapem pomocí --script smb-vuln-*. Metasploit nabízí přímo exploit moduly.
Otázka 25: Typická eskalace privilegií na Linuxu (Typical Linux privilege escalation)
Cílem je získání práv uživatele root. K dosažení eskalace se útočník zaměřuje na následující postupy (typicky se začíná kompletní enumerací systému nástrojem jako LinPEAS):
  • Kernel Exploity: Spuštění kódu využívajícího zranitelnost v jádře operačního systému, pokud chybí aktualizace.
  • Zneužití SUID: Vyhledání programů s nastaveným SUID bitem. Pokud zranitelný program může vykonat jiný příkaz nebo zapsat do chráněné oblasti a vlastní jej root, útočník dokáže práva eskalovat (k tomu nápomáhá projekt GTFOBins).
  • Chybné nastavení Sudo: Nalezení příkazů, které smí neprivilegovaný uživatel provést s rootovskými právy (přes sudo -l). Následně využití parametru, interaktivní funkce nebo únikové (escape) cesty programu k získání root shellu.
  • Hesla v historii/souborech: Lidé často nechávají hesla v .bash_history nebo na čitelných místech v nešifrované podobě, případně nechají nechráněný soukromý SSH klíč k root účtu.
  • Zastaralý/zranitelný software běžící jako root: Pokud webový server nebo jiná aplikace běží jako root a zneužijeme zranitelnost do získání RCE.
  • Špatně nakonfigurované úlohy Cron (Cronjobs): Pravidelně spouštěné skripty vlastníkem root, k jejichž modifikaci má přístup běžný uživatel.
Otázka 26: Typická eskalace privilegií na Windows (Typical Windows privilege escalation)
Podobně jako na Linuxu se útočník snaží stát administrátorem nebo uživatelem se systémovými oprávněními (NT AUTHORITY\SYSTEM). Začíná enumerací (např. nástroje WinPEAS, PowerUp). K obvyklým cestám patří:
  • Zneužití zastaralého softwaru a služeb: Identifikace služeb třetích stran běžících jako SYSTEM, které mohou postrádat aktualizace a mají veřejné exploity.
  • Chybné konfigurace služeb: Pokud má běžný uživatel právo na modifikaci nebo výměnu EXE souboru spravovaného službou. Podobným vektorem je opomenutí zapsání cesty ke spouštěnému souboru služby do uvozovek ("Unquoted Service Path"), kde mezery v názvu dovolují útočníkovi podvrhnout zlomyslný spustitelný soubor na cestu ke službě.
  • Eskalace pomocí privilegií: Využití povolených Windows privilegií na uživateli (zjistitelné příkazem whoami /priv). Příkladem jsou privilegia rodiny SeImpersonatePrivilege, která lze zneužít k impersifikaci účtu NT AUTHORITY\SYSTEM (typické využití přes PrintSpoofer, GodPotato apod.).
  • Registry a hesla: Vytažení nechráněných hesel a nastavení služeb z Windows Registru nebo z konfiguračních souborů. Lze také využít paměti powershellové historie a záznamů událostí OS.
  • Zásady OS (OS Policies): Možnost např. útočníka nainstalovat jakýkoliv .msi balíček jako administrátor díky nesprávně zapnuté AlwaysInstallElevated v rámci doménových politik (GPO).