PXE Boot: Delovanje, ranljivosti in zaščita s pomočjo močnih gesel
PXE (Preboot Execution Environment) boot omogoča računalnikom, da se zaganjajo prek omrežja, kar je še posebej uporabno v velikih organizacijah in podatkovnih centrih. Vendar pa lahko, če napadalec uspe pridobiti dostop do internega omrežja, neustrezno zaščiteni PXE strežniki postanejo tarča napadov. V tem članku bomo podrobneje raziskali, kako PXE deluje, kakšne so njegove ranljivosti in zakaj je uporaba močnih gesel – kot je primer gesla PxeThief – ključnega pomena, še posebej ob integraciji s sistemi, kot je SCCM.
Kako deluje PXE boot
PXE boot proces vključuje več ključnih komponent in protokolov, med katerimi so:
- NIC (Network Interface Card): Ni vse strojne opreme enaka. Medtem ko so mnoge potrošniške kartice omejene, sodobni strežniki v podatkovnih centrih običajno že vključujejo PXE-kompatibilne NIC-e.
- DHCP: Ko se PXE klient (računalnik) zažene, pošlje zahtevo v omrežje. DHCP strežnik odgovori z dodelitvijo IP naslova in dodatnih omrežnih parametrov, vključno z informacijami o strežniku, ki bo nudil PXE zagonsko sliko.
- TFTP (Trivial File Transfer Protocol): Ta preprost, UDP osnovan protokol se uporablja za prenos zagonskega programa (Network Bootstrap Program – NBP) s PXE strežnika na klienta. Zaradi svoje preprostosti, vendar tudi pomanjkanja varnostnih funkcij (nima avtorizacije ali preverjanja pristnosti), predstavlja potencialno ranljivo točko.
PXE Workflow:
- Obvestilo o PXE: Klient pošlje omrežno sporočilo, s katerim obvešča, da uporablja PXE.
- DHCP odziv: DHCP strežnik dodeli IP naslov in posreduje dodatne PXE parametre, vključno z IP naslovom PXE strežnika.
- Seznam strežnikov: Klient prejme seznam razpoložljivih zagonskih strežnikov in operacijskih sistemov.
- Prenos zagonske slike: Klient identificira ustrezen strežnik, prejme ime zagonske datoteke in jo prenese preko TFTP protokola.
- Zagon operacijskega sistema: Prenesena zagonska slika se izvrši in naloži osnovne komponente operacijskega sistema.
Če strežnik ni opremljen s PXE zmogljivostmi, bo preprosto prezrl PXE kodo, s čimer se prepreči motenje standardnih DHCP in Bootstrap protokolov.
Ranljivosti PXE boot okolij
Čeprav PXE ponuja izjemno priročnost pri oddaljenem zagonu in distribuciji operacijskih sistemov, ima tudi svoje pomanjkljivosti, ki lahko izkoriščajo napadalci, ko pridejo do dostopa do internega omrežja:
- Neavtorizirani dostop: Ker TFTP nima integriranih varnostnih mehanizmov (avtentikacije ali avtorizacije), lahko napadalec, ki se znajde v omrežju, preusmeri ali nadomesti originalne zagonske datoteke.
- DHCP spoofing: Napadalec lahko ponareja DHCP strežnik, s čimer klientom posreduje napačne PXE strežnike in zagonske slike, ki lahko vsebujejo zlonamerno kodo.
- Pomanjkanje šifriranja: Prenos podatkov med PXE klientom in strežnikom poteka brez šifriranja, kar omogoča prestrezanje podatkov in morebitno vbrizgavanje škodljivih sprememb.
- Integracijske ranljivosti: Sistemi, kot je SCCM, ki uporabljajo PXE za oddaljeno nameščanje operacijskih sistemov, so še posebej občutljivi, saj morebitna kompromitacija lahko vpliva na širok spekter poslovnih sistemov in naprav.
Pomen uporabe močnih gesel:
Glede na omenjene ranljivosti je zaščita PXE okolja nujna. Eden izmed ključnih varnostnih ukrepov je uporaba močnih gesel, ki preprečujejo nepooblaščen dostop in manipulacijo s strežnikom. Geslo simbolizira pristop k tej zaščiti – močno, edinstveno in strojno zahtevano geslo, ki oteži napadalcem uporabo orodij in tehnik za prevzem nadzora nad PXE strežniki.
Prednosti močnih gesel pri PXE:
- Preprečevanje zlorab: Močno geslo zmanjšuje možnosti, da bi napadalec lahko preusmeril PXE promet ali zamenjal zagonske datoteke.
- Integriteta sistema: Zavarovani PXE strežniki pomagajo zagotoviti, da le overjeni uporabniki in sistemi (npr. SCCM) lahko izvajajo kritične operacije, kot je distribucija operacijskih sistemov.
- Zmanjšanje tveganj: Uporaba robustnih gesel in dodatnih varnostnih ukrepov (npr. segmentacija omrežja in nadzor dostopa) zmanjšuje možnosti vdora in nadaljnjih kompromitacij.
Integracija s SCCM
Microsoftov System Center Configuration Manager (SCCM) pogosto uporablja PXE za distribucijo operacijskih sistemov in avtomatizacijo namestitev na številnih napravah znotraj organizacije. V kombinaciji s PXE omogoča SCCM centralizirano upravljanje, vendar hkrati prinaša dodatne varnostne izzive:
- Avtomatizacija in obseg: Ker SCCM pogosto deluje na velikem številu naprav, lahko kompromitiran PXE strežnik hitro vpliva na celotno infrastrukturo.
- Varnostni nadzor: Integracija močnih gesel in pravilno konfiguriranih varnostnih politik je ključna, saj mora SCCM zagotoviti, da so samo pooblaščene naprave in uporabniki deležni zagonskih slik.
- Redni pregledi in posodobitve: Upravljalci morajo redno preverjati in posodabljati varnostne nastavitve PXE strežnikov ter integracijske točke s SCCM, da se preprečijo morebitne ranljivosti.

- Generiranje in prenos šifriranih datotek:
Napadalec začne z generiranjem in prenosom šifrirane datoteke, imenovane “media variables file”, s strežnika MECM, ki se nahaja na naslovu 10.7.10.41. Pri tem uporablja izbran omrežni vmesnik – v tem primeru je naveden adapter Red Hat VirtIO Ethernet Adapter. Poleg tega je ciljna naprava prav tako 10.7.10.41, kar nakazuje, da napadalec neposredno cilja na MECM strežnik.
- Pridobivanje lokacij datotek prek ConfigMgr:
Napadalec pošlje zahtevo ConfigMgr-ju, da posreduje lokacije za prenos dveh ključnih datotek:
- Media variables file (ki vsebuje konfiguracijske in šifrirane varijable)
- BCD (Boot Configuration Data)
Sporočila kažejo, da strežnik odgovori z natančnimi lokacijami, na primer:
\\SMSTemp\\2025.02.21.13.44.28.0001.{...}.boot.var
\\SMSTemp\\2025.02.21.13.44.26.08.{...}.boot.bcd
Omrežni prenos:
Med prenosom se opazi, da napadalec ne najde ciljanega MAC naslova, zato uporabi “broadcast”, s čimer pošlje eno paketno sporočilo, prejme pa dva paketa (od katerih enega zanesljivo prepozna kot odgovor). Poleg tega se opozarja, da je pri PXE boot konfiguraciji najdeno prazno geslo, kar nakazuje na ranljivost v zaščiti zagonskega okolja.
- Uporaba TFTP za prenos:
Napadalec prejme navodila za uporabo TFTP ukazov, s katerimi naj prenese obe datoteki. V nadaljevanju pa se avtomatska eksploatacija sproži, kjer se uporablja privzeti TFTP klient (na primer Windows TFTP, ki je del Windows Features).
Dešifriranje datoteke:
V postopku napadalec dobi tudi niz bajtov gesla (v heksadecimalni obliki:
0x020002004d0005005800610062005300e3fffaff
) in ga uporabi za dešifriranje media variables file. Uspešno dešifriranje omogoči:
- Shranitev dešifriranih podatkov v datoteko
variables.xml
- Izpis ključnih certifikatov (datoteka, ki vsebuje _SMSTSMediaPFX) skupaj s certifikatom in pripadajočim geslom
- Identifikacija MECM Management Point:
Iz dešifriranih medijskih variabel se izlušči URL strežnika za Management Point. Ta URL je ključnega pomena, saj preko njega napadalec nadaljuje komunikacijo in pošilja avtentikacijske zahteve.
Uvoz certifikata in generacija podpisov:
- Certifikat iz _SMSTSMediaPFX se uspešno uvozi v Windows Certificate Store.
- Na podlagi tega certifikata napadalec generira več avtentikacijskih podpisov, kot so CCMClientID, CCMClientTimestamp in ClientToken, kar mu omogoča pošiljanje pristnih zahtev MECM strežniku.
- Pridobitev politik in konfiguracijskih datotek:
Napadalec preko MECM Management Point zahteva:
- Politike dodelitve, kjer se najde kar 47 URL-jev za različne konfiguracije.
- Konfiguracijo za Network Access Account, ki je potrebna za dostop do omrežnih virov.
- Konfiguracijo za Task Sequence, ki določa postopke in poverilnice za namestitev operacijskega sistema (v tem primeru “Install_win10_OS_image”).
- Dešifriranje in razkritje poverilnic:
- Network Access Account: Po dešifriranju konfiguracije se izluščijo občutljivi podatki, kjer so prikazani uporabniško ime in geslo:
- Uporabniško ime:
sccm.lab\\sccm-naa
- Geslo:
123456789
- Uporabniško ime:
- Task Sequence konfiguracija: V okviru Task Sequence se identificirajo dodatni credential polji:
- V koraku “Apply Windows Settings”:
- OSDRegisteredUserName (npr. uporabniško ime, ki je lahko povezano z operacijskim sistemom)
- OSDLocalAdminPassword (npr. vrednost:
EP+xh7Rk6j90
)
- V koraku “Apply Network Settings“:
- OSDJoinAccount in OSDJoinPassword, kjer ponovno najdemo isti račun
sccm.lab\\sccm-naa
in geslo123456789
- OSDJoinAccount in OSDJoinPassword, kjer ponovno najdemo isti račun
- V koraku “Apply Windows Settings”:
Te informacije omogočajo napadalcu popoln vpogled v konfiguracijo namestitve operacijskega sistema in dostop do omrežnih virov.
Zaključek
PXE boot okolja prinašajo izjemne prednosti pri oddaljenem zagonu in distribuciji operacijskih sistemov, vendar pa niso brez varnostnih pasti. Ko napadalec pridobi dostop do internega omrežja, lahko slabše zaščiteni PXE strežniki postanejo tarča zlonamernih napadov, kot so DHCP spoofing in zlonamerni prenosi prek TFTP. Uporaba močnih gesel – kot je priporočeno geslo PxeThief – ter dosledna varnostna politika, vključno z integracijo in pravilnim konfiguriranjem sistemov, kot je SCCM, so ključni koraki za zaščito celotnega okolja.
Z varnostjo na prvem mestu in nenehnim nadzorom omrežja lahko organizacije učinkovito zmanjšajo tveganja, povezana s PXE boot okolji, ter zagotovijo stabilno in varno distribucijo operacijskih sistemov.