Skicka hash

Inom datorsäkerhet är pass the hash en hackningsteknik som gör att en angripare kan autentisera till en fjärrserver eller tjänst genom att använda den underliggande NTLM- eller LanMan -hash för en användares lösenord, istället för att kräva det associerade klartextlösenordet som normalt är fallet. Det ersätter behovet av att stjäla klartextlösenordet för att få åtkomst med att stjäla hashen.

Attacken utnyttjar en implementeringssvaghet i autentiseringsprotokollet, där lösenordshashar förblir statiska från session till session tills lösenordet ändras nästa gång.

Denna teknik kan utföras mot vilken server eller tjänst som helst som accepterar LM- eller NTLM-autentisering, oavsett om den körs på en dator med Windows, Unix eller något annat operativsystem.

Beskrivning

På system eller tjänster som använder NTLM-autentisering skickas användarnas lösenord aldrig i klartext över tråden. Istället tillhandahålls de till det begärande systemet, som en domänkontrollant , som en hash som ett svar på ett autentiseringsschema för utmaning-svar .

Inbyggda Windows-applikationer ber användare om klartextlösenordet, anropar sedan API:er som LsaLogonUser som konverterar det lösenordet till ett eller två hashvärden (LM- eller NT-hasharna) och skickar det sedan till fjärrservern under NTLM-autentisering.

Om en angripare har hasharna för en användares lösenord behöver de inte klartextlösenordet; de kan helt enkelt använda hashen för att autentisera med en server och imitera den användaren. Med andra ord, ur en angripares perspektiv, är hashen funktionellt likvärdiga med de ursprungliga lösenorden som de genererades från.

Historia

Pass the hash -tekniken publicerades ursprungligen av Paul Ashton 1997 och bestod av en modifierad Samba SMB- klient som accepterade hash för användarlösenord istället för klartextlösenord. Senare versioner av Samba och andra tredjepartsimplementationer av SMB- och NTLM-protokollen inkluderade också funktionaliteten.

Denna implementering av tekniken baserades på en SMB-stack skapad av en tredje part (t.ex. Samba och andra), och led av denna anledning av en rad begränsningar ur ett hackers perspektiv, inklusive begränsad eller partiell funktionalitet: SMB-protokollet har har fortsatt att utvecklas under åren, innebär detta att tredje parter som skapar sin egen implementering av SMB-protokollet måste implementera ändringar och tillägg till protokollet efter att de har introducerats av nyare versioner av Windows och SMB (historiskt genom reverse engineering, vilket är mycket komplext och tidskrävande). Detta innebär att även efter att ha utfört NTLM-autentisering framgångsrikt med pass the hash- teknik, kanske verktyg som Sambas SMB-klient inte har implementerat den funktionalitet som angriparen kanske vill använda. Detta gjorde att det var svårt att attackera Windows-program som använder DCOM eller RPC.

Dessutom, eftersom angripare var begränsade till att använda tredjepartsklienter när de utförde attacker, var det inte möjligt att använda inbyggda Windows-program, som Net.exe eller Active Directory Users and Computers- verktyget bland annat, eftersom de frågade angriparen eller användaren att ange klartextlösenordet för att autentisera, och inte motsvarande lösenordshashvärde.

2008 publicerade Hernan Ochoa ett verktyg som heter "Pass-the-Hash Toolkit" som gjorde det möjligt för "passa hashen" att utföras på Windows. Det gjorde det möjligt för användarnamn, domännamn och lösenords-hashar som cachades i minnet av den lokala säkerhetsmyndigheten att ändras under körning efter att en användare autentiserades - detta gjorde det möjligt att "passera hashen" med vanliga Windows-applikationer och därigenom undergräva grundläggande autentiseringsmekanismer inbyggda i operativsystemet.

Verktyget introducerade också en ny teknik som gjorde det möjligt att dumpa lösenordshaschar som cachelagrades i minnet av processen lsass.exe (inte i beständig lagring på disk), som snabbt blev allmänt använd av penetrationstestare (och angripare). Denna hash-insamlingsteknik är mer avancerad än tidigare använda tekniker (t.ex. dumpning av den lokala Security Accounts Manager- databasen (SAM) med pwdump och liknande verktyg), främst eftersom hashvärden som lagras i minnet kan inkludera autentiseringsuppgifter för domänanvändare (och domänadministratörer) som loggat in i maskinen. Till exempel kan hasharna för autentiserade domänanvändare som inte lagras permanent i den lokala SAM också dumpas. Detta gör det möjligt för en penetrationstestare (eller angripare) att äventyra en hel Windows-domän efter att ha äventyrat en enda dator som var medlem i den domänen. Dessutom kan attacken implementeras omedelbart och utan något krav på dyra datorresurser för att utföra en brute force attack.

Denna verktygslåda har senare ersatts av "Windows Credential Editor", som utökar det ursprungliga verktygets funktionalitet och operativsystemstöd. Vissa antivirusleverantörer klassificerar verktygslådan som skadlig programvara.

Haschskörd

Innan en angripare kan utföra en pass-the-hash-attack måste de skaffa lösenordshasharna för målanvändarkontona. För detta ändamål kan penetrationstestare och angripare skörda lösenordshaschar med ett antal olika metoder:

  • Cachade hash eller autentiseringsuppgifter för användare som tidigare har loggat in på en maskin (till exempel på konsolen eller via RDP) kan läsas från SAM av alla som har administratörsnivå. Standardbeteendet för cache-hashar eller autentiseringsuppgifter för offlineanvändning kan inaktiveras av administratörer, så den här tekniken kanske inte alltid fungerar om en maskin har blivit tillräckligt hård.
  • Dumpning av den lokala användarens kontodatabas ( SAM ). Den här databasen innehåller bara användarkonton som är lokala för den specifika maskinen som komprometterades. Till exempel, i en domänmiljö SAM- databasen för en maskin inte att innehålla domänanvändare, bara användare som är lokala på den maskinen som troligen inte kommer att vara särskilt användbara för att autentisera till andra tjänster på domänen. Men om samma lokala administrativa kontolösenord används i flera system kan angriparen fjärråtkomst till dessa system med hjälp av hasharna för det lokala användarkontot.
  • Sniffa LM- och NTLM-utmanings-svarsdialoger mellan klient och servrar, och senare brute-forcing fångad krypterad hash (eftersom hasharna som erhålls på detta sätt är krypterade, är det nödvändigt att utföra en brute-force attack för att få de faktiska hasharna).
  • Dumpning av autentiserade användares autentiseringsuppgifter lagrade av Windows i minnet av lsass.exe-processen. Inloggningsuppgifterna som dumpas på detta sätt kan inkludera domänanvändare eller administratörer, till exempel de som är inloggade via RDP . Denna teknik kan därför användas för att erhålla autentiseringsuppgifter för användarkonton som inte är lokala för den komprometterade datorn, utan som snarare kommer från säkerhetsdomänen som maskinen är medlem i.

Begränsningar

Alla system som använder LM- eller NTLM-autentisering i kombination med vilket kommunikationsprotokoll som helst (SMB, FTP, RPC, HTTP etc.) är utsatta för denna attack. Exploateringen är mycket svår att försvara sig mot, på grund av möjliga utnyttjanden i Windows och applikationer som körs på Windows som kan användas av en angripare för att höja sina privilegier och sedan utföra hash-insamlingen som underlättar attacken. Dessutom kan det bara krävas att en dator i en Windows-domän inte är korrekt konfigurerad eller saknar en säkerhetskorrigering för en angripare att hitta en väg in. Ett brett utbud av penetrationstestverktyg är dessutom tillgängliga för att automatisera processen att upptäcka en svaghet på en maskin.

Det finns inget enskilt försvar mot tekniken, därför gäller standardförsvar på djupet – till exempel användning av brandväggar , intrångsskyddssystem , 802.1x-autentisering , IPsec , antivirusprogramvara , minskning av antalet personer med förhöjda privilegier, proaktiv säkerhetskorrigering etc. Att förhindra att Windows lagrar cachade autentiseringsuppgifter kan begränsa angripare till att hämta hash från minnet, vilket vanligtvis innebär att målkontot måste vara inloggat på maskinen när attacken utförs. Genom att tillåta domänadministratörer att logga in på system som kan vara komprometterade eller opålitliga skapas ett scenario där administratörernas hash blir måltavla för angripare; begränsa domänadministratörsinloggningar till betrodda domänkontrollanter kan därför begränsa möjligheterna för en angripare. Principen om minsta privilegium föreslår att ett tillvägagångssätt med minsta användaråtkomst (LUA) bör användas, genom att användare inte ska använda konton med fler privilegier än nödvändigt för att slutföra uppgiften. Att konfigurera system för att inte använda LM eller NTLM kan också stärka säkerheten, men nyare utnyttjar kan vidarebefordra Kerberos-biljetter på liknande sätt. Att begränsa omfattningen av felsökningsprivilegier på systemet kan frustrera vissa attacker som injicerar kod eller stjäl hash från minnet av känsliga processer.

Begränsat administratörsläge är en ny funktion i Windows-operativsystemet som introducerades 2014 via säkerhetsbulletinen 2871997, som är utformad för att minska attackens effektivitet.

Se även

Anteckningar

externa länkar