Izmed vseh priporočil za utrjevanje, ki jih zapišem v poročila penetracijskih testov, je uveljavljanje SMB-podpisovanja tisto, za katerega bi si želel, da bi ga vsaka organizacija uvedla takoj. Po mojih izkušnjah bi omogočanje SMB-podpisovanja na vseh sistemih blokiralo ali bistveno upočasnilo mojo napadalno pot v približno 70% mojih projektov. Gre za eno samo nastavitev skupinske politike, ki odpravlja celoten razred napadov, a večina organizacij jo pušča na privzeti nevarni vrednosti.
SMB-podpisovanje zagotavlja, da je vsak paket SMB kriptografsko podpisan s strani pošiljatelja. Ko je podpisovanje uveljavljeno, ne morem prestreči avtentikacije in jo ponovno predvajati na drug strežnik, ker bo podpis za nov cilj neveljaven. NTLM relay spremeni iz trivialnega napada v nemogočnost za cilje na osnovi SMB.
Zahteve za podpisovanje SMB ter podpisovanje LDAP in vezavo kanala določite po Microsoftovi dokumentaciji za uporabljene različice. Microsoft: SMB signing; Microsoft: LDAP signing and channel binding.
Zakaj je privzeta konfiguracija nevarna
Microsoftova privzeta konfiguracija SMB je že leta vir frustracij za varnostne strokovnjake. Krmilniki domene privzeto zahtevajo SMB-podpisovanje, kar je dobro. A vse ostale naprave Windows -- delovne postaje, članski strežniki, datotečni strežniki -- samo podpirajo podpisovanje, ne da bi ga zahtevali. To pomeni, da če ena stran povezave ne zahteva podpisovanja, se komunikacija odvija nepodpisana.
V praktičnem smislu to pomeni, da je vsaka povezava SMB med delovno postajo in strežnikom v privzetem okolju ranljiva za preusmeritev. Ko na omrežju poženem Responder in zajamem avtentikacijo NTLM, namenjeno skupni mapi, jo lahko preusmerim na katerikoli strežnik, ki ne zahteva podpisovanja. Ker večina članskih strežnikov podeduje privzeto nastavitev, imam široko polje ciljev.
Situacija postane se slabša, ko upoštevamo prisiljevanje avtentikacije. Ni mi treba čakati na organski promet. Uporaba PetitPotam proti strežniku ga prisili, da se avtenticira pri meni prek SMB, in če na mojem cilju podpisovanje ni zahtevano, to avtentikacijo neposredno preusmerim. Točno ta tok sem uporabil za kompromitacijo strežnikov za varnostno kopiranje, podatkovnih strežnikov in distribucijskih točk SCCM -- vse v okoljih, ki so imela znaten varnostni proračun.
Mit o zmogljivosti
Najpogostejši ugovor proti omogočanju SMB-podpisovanja, ki ga slišim, je vpliv na zmogljivost. Ta skrb je v veliki meri zastarela. Na sodobni strojni opremi s podpisovanjem na osnovi AES je obremenitev minimalna. Microsoftovi lastni testi zmogljivosti kažejo približno 2-3% zmanjšanje prepustnosti pri trajnih operacijah kopiranja datotek. Za tipične poslovne obremenitve, kot so odpiranje dokumentov, shranjevanje datotek in dostop do skupnih map, je vpliv neznaten.
Tudi v scenarijih z močno uporabo datotečnega strežnika je strošek zmogljivosti SMB-podpisovanja dramatično manjši od stroška uspešnega napada relay. Videl sem organizacije, ki so porabile milijone za obnovo po izsiljevalski programski opremi, ko bi en GPO preprečil začetno kompromitacijo. Argument o zmogljivosti ne preživi osnovne analize stroškov in koristi.
Če imate starejše sisteme, ki resnično ne morejo podpirati SMB-podpisovanja, jih izolirajte v ločen omrežni segment s strogimi pravili požarne pregrade. Ne dovolite, da peščica starejših naprav ogroža celotno domeno.
Uvajanje po korakih
Tukaj je, kako priporočam organizacijam, da uvedejo SMB-podpisovanje brez povzročanja motenj:
- Najprej revidirajte. Preden uveljavite podpisovanje, identificirajte, katere naprave v vašem okolju trenutno dogovarjajo nepodpisane povezave SMB. Omogočite politiko "Audit" za SMB-podpisovanje in preglejte dnevnike. To bo razkrilo vse starejše naprave ali aplikacije, ki ne morejo obravnavati podpisovanja.
- Začnite s strežniki. Ustvarite GPO, ki nastavi "Microsoft network server: Digitally sign communications (always)" na Omogočeno. Povežite ga s strežniškimi OU-ji. En do dva tedna spremljajte morebitne težave.
- Razširite na delovne postaje. Enak GPO uveljavite na OU-je delovnih postaj. Omogočite tudi odjemalsko stran: "Microsoft network client: Digitally sign communications (always)." To zagotovi zahtevo po podpisovanju ne glede na to, katera stran vzpostavi povezavo.
- Potrdite uveljavitev. Ne zaupajte samo, da je GPO uveljavljen. Uporabite orodja kot CrackMapExec ali NetExec z opcijo --gen-relay-list za skeniranje omrežja in identifikacijo naprav, ki še vedno dovoljujejo nepodpisane povezave SMB. Vsaka naprava na tem seznamu je še vedno ranljiva.
Onkraj SMB-podpisovanja: dopolnilne kontrole
SMB-podpisovanje ustavi preusmeritev na osnovi SMB, a napadalci lahko še vedno preusmerijo avtentikacijo NTLM na druge protokole. Za popolno zaprtje vrat napadom relay potrebujete dopolnilne kontrole:
- LDAP-podpisovanje in vezava kanalov: Preprečuje preusmeritev na LDAP/LDAPS. Nastavite LdapEnforceChannelBinding na 2 in zahtevajte LDAP-podpisovanje na vseh krmilnikih domene.
- EPA (razširjena zaščita za avtentikacijo): Preprečuje preusmeritev na spletne storitve kot so spletni vpis ADCS, Exchange OWA in interne spletne aplikacije.
- Postopno onemogočite NTLM: Končni cilj je popolna odprava NTLM v korist Kerberosa. Uporabite politike GPO "Restrict NTLM" za revizijo in nato blokado NTLM na ravni domene.
Spremljanje po uvedbi
Po omogočanju SMB-podpisovanja nastavite spremljanje za zaznavanje kakršnihkoli poskusov izkoriščanja NTLM relay. Tudi z uveljavljenim podpisovanjem je zaznavanje dragoceno, ker razkriva aktivno napadalno dejavnost v vašem omrežju. Spremljajte dogodke avtentikacije NTLM (dogodek ID 4624, tip prijave 3), kjer se ime izvorne delovne postaje ne ujema s povezovalnim IP-naslovom. Ta vzorec je močen indikator poskusov preusmeritve.
Dodatno spremljajte napade v slogu Responderja z opazovanjem poizvedb LLMNR in NBT-NS. Te protokole napadalci uporabljajo za prestrezanje razreševanja imen in sprožitev avtentikacije NTLM. Onemogočite LLMNR in NBT-NS v celotnem okolju prek GPO in nastavite alarme na katerikoli preostali promet, ki uporablja te protokole.
SMB-podpisovanje ni glamurozno. Ne bo vam prineslo nobenih nagrad ali ustvarilo impresivnih metrik na nadzorni plošči. A v mojih letih penetracijskega testiranja sem videl, da ustavi več napadov kot katerikoli EDR produkt, katerokoli pravilo požarne pregrade ali katerikoli program usposabljanja za varnostno ozaveščenost. Je temelj, na katerem se gradi vse ostalo. Omogočite ga danes.
Povezano branje: Napadi s posredovanjem avtentikacije NTLM; Active Directory Certificate Services: prednostne naloge pri penetracijskem testu in odprava tveganj.
Zanima vas več o tej temi? Preberite mojo strokovno stran o Active Directory Security →
Komentarji
Ni še komentarjev. Bodite prvi!
Dodaj komentar