Kerberos Double Hop Problem
Inleiding
Die Kerberos "Dubbele Hop" probleem kom voor wanneer 'n aanvaller probeer om Kerberos-verifikasie oor twee hops te gebruik, byvoorbeeld deur PowerShell/WinRM te gebruik.
Wanneer 'n verifikasie plaasvind deur Kerberos, word geloofsbriewe nie in die geheue gestoor nie. Daarom sal jy nie geloofsbriewe van die gebruiker op die rekenaar vind as jy mimikatz hardloop nie, selfs al hardloop hy prosesse.
Dit is omdat wanneer jy met Kerberos verbind, hierdie die stappe is:
Gebruiker1 voorsien geloofsbriewe en die domain controller gee 'n Kerberos TGT aan Gebruiker1 terug.
Gebruiker1 gebruik die TGT om 'n dienskaartjie aan te vra om aan Server1 te koppel.
Gebruiker1 koppel aan Server1 en voorsien die dienskaartjie.
Server1 het nie die gelooofsbriewe van Gebruiker1 in die geheue gestoor of die TGT van Gebruiker1 nie. Daarom, wanneer Gebruiker1 vanaf Server1 probeer om na 'n tweede bediener in te teken, kan hy nie geïdentifiseer nie.
Onbeperkte Delegering
As onbeperkte delegasie geaktiveer is op die rekenaar, sal dit nie gebeur nie, aangesien die Bediener 'n TGT van elke gebruiker wat dit benader, sal kry. Verder, as onbeperkte delegasie gebruik word, kan jy waarskynlik die Domeinbeheerder kompromitteer. Meer inligting in die onbeperkte delegasie bladsy.
CredSSP
'n Ander manier om hierdie probleem te vermy wat merkwaardig onveilig is, is Credential Security Support Provider. Van Microsoft:
CredSSP-verifikasie delegeer die gebruikersgelde vanaf die plaaslike rekenaar na 'n afgeleë rekenaar. Hierdie praktyk verhoog die sekuriteitsrisiko van die afgeleë operasie. As die afgeleë rekenaar gekompromitteer is, wanneer geloofsbriewe daaraan oorgedra word, kan die geloofsbriewe gebruik word om die netwerksessie te beheer.
Dit word sterk aanbeveel dat CredSSP gedeaktiveer word op produksiestelsels, sensitiewe netwerke, en soortgelyke omgewings weens sekuriteitskwessies. Om te bepaal of CredSSP geaktiveer is, kan die Get-WSManCredSSP
bevel uitgevoer word. Hierdie bevel maak die ondersoek van CredSSP-status moontlik en kan selfs op afstand uitgevoer word, mits WinRM geaktiveer is.
Oorkomings
Roep Opdrag Aan
Om die dubbele hup probleem aan te spreek, word 'n metode wat 'n geneste Invoke-Command
behels, voorgestel. Dit los die probleem nie direk op nie, maar bied 'n oorkomingsoplossing sonder om spesiale konfigurasies nodig te hê. Die benadering maak dit moontlik om 'n opdrag (hostname
) op 'n sekondêre bediener uit te voer deur 'n PowerShell-opdrag wat vanaf 'n aanvanklike aanvallende masjien uitgevoer word of deur 'n voorheen gevestigde PS-Sessie met die eerste bediener. Hier is hoe dit gedoen word:
Registreer PSSession-konfigurasie
'n Oplossing om die dubbele hop-probleem te omseil, behels die gebruik van Register-PSSessionConfiguration
met Enter-PSSession
. Hierdie metode vereis 'n ander benadering as evil-winrm
en maak 'n sessie moontlik wat nie deur die dubbele hop-beperking geraak word nie.
PoortDeurstuur
Vir plaaslike administrateurs op 'n tussenliggende teiken, maak poortdeurstuur dit moontlik dat versoek na 'n finale bediener gestuur word. Deur netsh
te gebruik, kan 'n reël vir poortdeurstuur bygevoeg word, tesame met 'n Windows-firewallreël om die deurgestuurde poort toe te laat.
winrs.exe
winrs.exe
kan gebruik word om WinRM-versoeke deur te stuur, moontlik as 'n minder opspoorbare opsie as PowerShell-monitoring 'n bekommernis is. Die onderstaande bevel demonstreer die gebruik daarvan:
OpenSSH
Die installering van OpenSSH op die eerste bediener maak 'n omweg vir die dubbele-hop probleem moontlik, veral nuttig vir springkas scenarios. Hierdie metode vereis CLI-installasie en opstelling van OpenSSH vir Windows. Wanneer dit ingestel is vir Wagwoordverifikasie, maak dit dit moontlik vir die bemiddelende bediener om 'n TGT namens die gebruiker te verkry.
OpenSSH-installasiestappe
Laai die nuutste OpenSSH vrystelling zip af en skuif dit na die teikenbediener.
Pak die lêer uit en hardloop die
Install-sshd.ps1
skrip.Voeg 'n firewall-reël by om poort 22 oop te maak en verifieer dat SSH-diens hardloop.
Om Verbindingsreset
foute op te los, mag toestemmings bygewerk moet word om almal lees- en uitvoertoegang tot die OpenSSH-gids toe te laat.
Verwysings
Last updated