Signering för små och medelstora företag: Stoppa nätverksövertagande attacker
Vikten av SMB-signering
När vi testar Windows-miljöer ser vi regelbundet att det krypterade lösenordet för en användare med höga behörigheter skickas över nätverket. I kombination med system där SMB-signering är inaktiverat kan en angripare eller illvillig person öka privilegierna inom nätverket genom att utföra en NTLM-reläattack,. Beroende på nätverksmiljön kan en angripare öka behörigheterna till den högsta nivån.
Förstå Net-NTLM
Windows använder många olika protokoll för autentisering. Ett av dessa protokoll är Net-NTLM. Detta protokoll används för att autentisera användare över nätverket. Det finns två versioner: Net-NTLMv1 och Net-NTLMv2. Båda versionerna beräknar en så kallad Net-NTLM-hash genom att omvandla användarens krypterade lösenord till en slumpmässig sträng som består av åtta byte. Net-NTLMv1 är uppenbart mindre säker än version 2 och har avaktiverats som standard sedan Windows Vista och Windows Server 2008.
Avlyssning av autentiseringsbegäran
Med hjälp av verktyget Responder kan vi fånga upp autentiseringsbegäran som skickas över nätverket. Ett exempel visas nedan:
En angripare kan försöka göra två saker med den här hashen:
- Försöka att knäcka lösenordet offline med hjälp av verktyg som John the Ripper eller Hashcat. Framgångsgraden beror dock på hur starkt lösenordet är. Ett starkt lösenord är inte lätt att knäcka.
- Utför en NTLM-reläattack mot alla interna system som inte tillämpar SMB-signering.
NTLM-reläattack
NTLM-reläattacken utnyttjar Net-NTLM-protokollet. En angripare snappar upp en legitim autentiseringsbegäran, ändrar innehållet och vidarebefordrar begäran till en dator som inte tillämpar SMB-signering. Detta autentiserar angriparen på målsystemet med hjälp av kontexten för den användare som skickade den ursprungliga autentiseringsbegäran. I värsta fall kan en angripare använda detta för att köra fjärrkod på systemet. En angripare kan också använda den här attacken för att få tillgång till nätverksresurser som angriparen normalt inte har tillgång till.
Utföra en NTLM-reläattack
För att utföra NTLM-reläattacken används tre verktyg: NetExec, Responder och ntlmrelayx. Eftersom en NTLM-reläattack endast fungerar på system där SMB-signering är inaktiverat, krävs en lista över system där SMB-signering är inaktiverat. Den här listan kan skapas med NetExec med följande kommando:
netexec smb 192.168.126.0/24 --gen-relay-list targets.txt
Detta kontrollerar adressintervallet för maskiner som har SMB aktiverat och SMB-signering inaktiverat. De IP-adresser som matchar skrivs till filen.
Därefter använder vi verktygen Responder och ntlmrelayx. Responder är ansvarigt för att fånga Net-NTLM-hashvärdet och vidarebefordra det till ntlmrelayx, som sedan autentiserar sig på den angivna värden via SMB med det hashvärde som det har mottagit. För att åstadkomma detta måste SMB- och HTTP-servern inaktiveras i Responders konfiguration. Detta kan göras genom att öppna konfigurationsfilen och ändra värdena bakom SMB och HTTP till ”Off”. Konfigurationsfilen ska se ut så här:
Därefter måste Responder startas på det aktiva nätverksgränssnittet, i det här fallet eth0. Detta kan göras genom att köra följande kommando:
responder -I eth0 -d -w
Slutligen använder vi verktyget ntlmrelayx för att extrahera innehållet i SAM-databasen från målsystemen. För att göra detta startar vi ntlmrelayx med följande kommando:
python3 ntlmrelayx.py -tf targets.txt
När ntlmrelayx tar emot en Net-NTLM-hash från Responder försöker den autentisera sig mot systemen i filen. Om autentiseringen lyckas försöker ntlmrelayx sedan att extrahera innehållet i SAM-databasen. För att göra detta måste den användare vars hash har fångats ha lokala administrationsrättigheter på målsystemet. Förutom att extrahera SAM-databasen är det också möjligt att utföra andra systemkommandon.
Konsekvenser av en NTLM-reläattack
Bilden nedan visar en lyckad NTLM-reläattack, där användaren hade lokala administratörsrättigheter på målsystemet och därmed kunde innehållet i SAM-databasen extraheras.
En angripare skulle nu ha tillgång till det krypterade lösenordet för den lokala administratören. Detta ger angriparen lokala administratörsrättigheter på systemet. Detta gör att angriparen kan extrahera de krypterade lösenorden för användare som har eller nyligen har haft en session, från minnet. Om detta inkluderar en domänadministratör kan en angripare höja behörigheterna till Domain Admin och därmed ta över hela domänen.
Vi ser regelbundet att lösenordet för den lokala administratörsanvändaren återanvänds på flera datorer. Det innebär att en angripare kan använda samma lösenord för att logga in på flera datorer som lokal administratör. Detta breddar attackvektorn och ökar sannolikheten för att angriparen kan utöka sina privilegier.
Rekommendation: Aktivera SMB-signering
System är mottagliga för en NTLM-reläattack eftersom mottagaren inte verifierar meddelandets innehåll och ursprung. Det mest effektiva sättet att åtgärda denna sårbarhet är genom att aktivera SMB-signering över hela företaget.
SMB-signering är en säkerhetsmekanism i SMB-protokollet. När den är aktiverad skickas varje SMB-meddelande med en signatur i SMB-headerfältet. Signaturen består av innehållet i SMB-meddelandet, krypterat med AES-algoritmen. Detta gör att mottagaren av SMB-meddelandet kan verifiera att innehållet i meddelandet inte har ändrats. Det verifierar också avsändarens identitet. Om innehållet i meddelandet inte stämmer överens med SMB-headern vet mottagaren att meddelandet har manipulerats. Mottagaren släpper sedan meddelandet. Detta gör det omöjligt att framgångsrikt utföra NTLM-reläattacken.
Hur aktiverar man SMB-signering?
SMB-signering kan aktiveras genom att innehållet i registervärdena EnableSecuritySignature och RequireSecuritySignature sätts till 1. Detta måste tillämpas på både LanManServer och LanManWorkstation. Detta kan göras på två sätt: via ett systemkommando eller via det grafiska programmet ”Local Group Policy Editor” (gpedit.msc).
- Kommandoraden:
Kör dessa kommandon för att uppdatera registervärden:
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters /v EnableSecuritySignature /t REG_DWORD /d 1
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters /v RequireSecuritySignature /t REG_DWORD /d 1
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters /v EnableSecuritySignature /t REG_DWORD /d 1
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters /v RequireSecuritySignature /t REG_DWORD /d 1
Starta om systemet för att verkställa ändringarna.
2. Group Policy Editor
Navigera till Computer Configuration > Windows Settings > Local Policies > Security Options
.
Aktivera följande policyer:
- Microsofts nätverksklient: Digitalt signerad kommunikation (alltid)
- Microsofts nätverksklient: Digitalt signera kommunikation (om servern samtycker)
- Microsofts nätverksserver: Digitalt signerad kommunikation (alltid)
- Microsofts nätverksserver: Digitalt signerad kommunikation (om klienten samtycker)
Starta om systemet för att verkställa ändringarna.
3. Linux-system:
Redigera Samba-konfigurationsfilen för att inkludera:
client signing = mandatory
server signing = mandatory
Starta om systemet för att verkställa ändringarna.
Slutsats
För att skydda ditt nätverk från NTLM-reläattacker är det viktigt att aktivera SMB-signering. Det säkerställer SMB-meddelandenas integritet och äkthet och minskar därmed en betydande säkerhetsbrist. Genom att implementera SMB-signering i hela nätverket kan du skydda dig mot potentiella angripare som utökar sina privilegier och tar över nätverket.
Relevanta resurser
Kom igång med Securances cybersäkerhetstjänster
Är du beredd att försvara din organisation mot cyberhot? Securance erbjuder robusta cybersäkerhetstjänster för att skydda era digitala tillgångar. Våra experter kan utföra omfattande säkerhetsbedömningar, implementera toppmoderna säkerhetsåtgärder och tillhandahålla kontinuerlig övervakning för att skydda ditt nätverk från potentiella attacker. Kontakta oss idag för att förbättra din cybersäkerhet och säkra din organisations framtid.
Vanliga frågor om SMB-signering
Vad är SMB-signering?
SMB-signering är en säkerhetsmekanism i SMB-protokollet (Server Message Block) som bidrar till att säkerställa äktheten och integriteten i SMB-kommunikation. Det lägger till en digital signatur i varje SMB-meddelande, vilket gör att mottagaren kan verifiera att meddelandet inte har manipulerats och bekräftar avsändarens identitet.
Varför är SMB-signering viktigt?
SMB-signering är viktigt eftersom det skyddar mot NTLM-reläattacker, som kan göra det möjligt för angripare att fånga upp och ändra SMB-meddelanden. Genom att aktivera SMB-signering kan organisationer förhindra obehörig åtkomst, dataförfalskning och upptrappning av behörigheter i sitt nätverk.
Hur kan angripare utnyttja att SMB-signering är inaktiverat?
När SMB-signering är inaktiverat kan angripare utföra NTLM-reläattacker. De fångar upp legitima autentiseringsbegäran, ändrar dem och skickar vidare dem till ett målsystem. Detta kan ge angriparen obehörig åtkomst och göra det möjligt för dem att utföra kommandon eller få tillgång till begränsad data.
Hur aktiverar man SMB-signering i Windows?
SMB-signering kan aktiveras i Windows genom att ställa in specifika registervärden eller använda Local Group Policy Editor. De registernycklar som krävs är EnableSecuritySignature och RequireSecuritySignature för både LanManServer och LanManWorkstation. Alternativt kan du navigera till Computer Configuration > Windows Settings > Local Policies > Security Options in the Local Group Policy Editor och aktivera relevanta principer.
Hur aktiverar jag SMB-signering på Linux?
På Linux-system kan SMB-signering aktiveras genom att redigera konfigurationsfilen för Samba. Under de globala inställningarna lägger du till raderna "client signing = mandatory" och "server signing = mandatory" och startar sedan om SMB-tjänsten för att tillämpa ändringarna.
Vilka verktyg används för att utföra en NTLM-reläattack?
Vanliga verktyg som används för att utföra en NTLM-reläattack är NetExec, Responder och ntlmrelayx. Dessa verktyg hjälper angripare att skapa en lista över mål, fånga upp autentiseringsbegäran och vidarebefordra dessa till system utan SMB-signering aktiverat.
Vilka är konsekvenserna av en framgångsrik NTLM-reläattack?
En framgångsrik NTLM-reläattack kan ge en angripare lokala administratörsrättigheter i ett målsystem. Detta gör det möjligt för angriparen att extrahera krypterade lösenord, få åtkomst till nätverksandelar och potentiellt eskalera privilegier till domänadministratör, vilket äventyrar hela nätverket.
Kan aktivering av SMB-signering skydda mot alla attacker?
Att aktivera SMB-signering är ett viktigt steg för att skydda mot NTLM-reläattacker, men det är inte vattentätt. Organisationer bör implementera en omfattande säkerhetsstrategi som inkluderar regelbundna uppdateringar, starka lösenordspolicyer och nätverksövervakning för att skydda mot ett brett spektrum av hot.