SSL Stripping Attacks: Faror och hur man undviker att attackeras

Idag använder de flesta webbplatser säkert HTTPS-protokoll för kommunikation mellan klienter och webbservern, tack vare detta protokoll som använder TLS och de kryptografiska algoritmer som ingår i den senare, är kommunikation krypterad punkt-till-punkt, dessutom också äktheten hos anslutningen och till och med dataintegriteten kontrolleras så att cyberbrottslingar inte kan ändra paketen i farten. Det finns dock en attack mot HTTPS-protokollet SSL-strippning , består denna attack av att "lyfta" TLS-krypteringen av kommunikationen så att en cyberkriminell kan se all kommunikation i klartext med HTTP. Vill du veta allt om SSL Stripping-attacken och hur du kan skydda dig själv för att förhindra att en cyberkriminell äventyrar din kommunikation?

SSL Stripping Attacks: Faror och hur man undviker att attackeras

Hur fungerar HTTPS-protokollet?

HTTPS-protokollet (Hypertext Transfer Protocol Secure) är den säkra versionen av det populära HTTP-protokollet (Hypertext Transfer Protocol). Detta protokoll finns i applikationslagret och är baserat på HTTP, men säkerheten för TLS-protokollet (på transportlagernivå) läggs till för att ge punkt-till-punkt-säkerhet i alla anslutningar, från klienter till webbservern. TLS-protokollet är ett av de mest använda för att tillhandahålla kommunikationssäkerhet, dessutom används det inte bara i HTTPS-anslutningar utan också i andra protokoll som FTPES (versionen av FTP, men med säkerhetslagret med TLS) och till och med virtuell privata nätverksprotokoll som OpenVPN. TLS-protokollet (och därför också HTTPS-protokollet på applikationslagernivå) använder olika kryptografiska algoritmer som ger oss följande egenskaper:

  • Sekretess : Sekretess i kryptografi betyder att all data är krypterad från slut till slut, och att endast källan och destinationen kommer att kunna "läsa" den informationen. Om en cyberbrottsling placerar sig mitt i kommunikationen (Man in the Middle attack) kommer han att kunna fånga informationen utan problem, men han kommer aldrig att kunna läsa den om han inte har den privata dekrypteringsnyckeln.
  • Äkthet : detta kännetecken för kryptografi garanterar oss att uppgifterna är giltiga från ursprunget, och att det inte har förekommit någon imitation av en tredje part.
  • Integritet : den här funktionen garanterar att all data från ursprung till destination inte har ändrats, om den hade ändrats på grund av en skadlig tredje part, kunde informationen upptäckas och kasseras.

La vida util de los certificados HTTPS será menor

För närvarande använder HTTPS-protokollet för HTTP / 2-versionen TLS-protokollet i sin version TLSv1.2 och även TLSv1.3, dessa två protokoll anses för närvarande säkra och inga sårbarheter har upptäckts som gör dem farliga att använda. TLSv1.3-versionen är mycket snabbare än den tidigare versionen, dessutom stöder den bara säkra krypteringssviter och tillåter inte konfigurering av mindre säkra krypteringssviter som TLSv1.2.

När det gäller portarna, medan HTTP-protokollet använder TCP-protokollet i transportlagret och port 80, använder HTTPS-protokollet TCP-porten 443. Under de senaste månaderna har QUIC-protokollet standardiserats för webbanslutningar, ett protokoll för HTTPS när HTTP / 2 och / eller HTTP / 3 används och som använder UDP-protokollet för att göra punkt-till-punkt-anslutningar, innehåller detta QUIC-protokoll redan säker kryptografi med de senaste säkra kryptografiska algoritmerna som Chacha20-Poly1305 eller AES -GCM.

När vi väl vet hur HTTPS fungerar och vilka protokoll vi har under i de olika TCP / IP-lagren kommer vi att se vad SSL Stripping-attacken består av för att dekryptera all HTTPS-kommunikation.

Vad är SSL Stripping-attacken?

När vi utför en ARP Spooping-attack och vi lägger en sniffer för att fånga all trafik, vad vi gör är att kapa all nätverkstrafik som genereras av en viss dator (offret). Om du använder osäkra protokoll som HTTP eller FTP kan vi enkelt se all din kommunikation, autentiseringsuppgifter och till och med sessioncookies. Av denna anledning är det så farligt att ansluta till allmänheten WiFi nätverk eller opålitliga nätverk, eftersom alla cyberbrottslingar kan utföra den här mannen i mitten attack och fånga all information.

Om vi ​​använder ett säkert protokoll som HTTPS kommer angriparen att kunna fånga all information utan problem, men han kommer inte att kunna läsa något av dess innehåll, det vill säga han kommer inte att kunna se autentiseringsuppgifter, sessionscookies eller absolut ingenting, eftersom all trafik är krypterad end-to-end (från klienter till webbservern). Tack vare TLS-protokollet och kryptografiska algoritmer som AES kommer vår information att vara konfidentiell, det vill säga den kommer att krypteras från slut till slut.

SSL Strippping-attacker består av att ställa in en HTTP / HTTPS-proxy för att "lyfta" detta krypterade HTTPS-protokoll, och offret använder HTTP-protokollet för att kunna fånga all information och se data inuti. Processen som måste utföras för att bryta mot en HTTPS-anslutning skulle vara följande:

  1. Genomför en ARP Spoofing-attack mot offret , för att vidarebefordra all nätverkstrafik till oss innan vi skickar den till routern, på detta sätt kommer vi att fånga all information som detta offer skickar och tar emot.
  2. Vi satte sniffaren på jobbet WireShark är till exempel ett mycket bra alternativ, det är en av de mest kompletta och lättanvända programvarorna och det är helt gratis.
  3. Kontrollera om vi fångar alla offrets trafik, på detta sätt kommer vi att se till att ARP Spoofing och sniffer fungerar korrekt. I det här fallet kan vi säkert bara se DNS, ICMP och annan trafik i klartext, men inte HTTPS-trafik eftersom den är krypterad från slut till slut.

När vi har genomfört dessa tre steg är det vi måste göra konfigurera en HTTP / HTTPS-proxy med gratisverktyg, till exempel, är Bettercap det bästa verktyget vi kan använda för att utföra denna typ av attack. När vi har konfigurerat den här HTTP / HTTPS-proxyen kommer det att hända följande:

  1. Offret kommer att försöka ansluta till webbarna via HTTPS-protokollet, men HTTP / HTTPS-proxyen som vi har konfigurerat kommer att berätta offret att anslutningen måste vara HTTP, därefter kan vår HTTP / HTTPS-proxy vidarebefordra informationen till webben real (Google, PayPal, Amazon etc.) via HTTPS. På detta sätt kommer angriparen att ha all information i klartext som kommer och går från offret och från den verkliga webbservern, som kontinuerligt omvandlas mellan HTTP och HTTPS och vice versa.
  2. Nätverkssniffer som vi tidigare hade aktiverat kommer att fånga all HTTP-trafik och visa oss i klartext användaruppgifterna, sessionskakor och allt offret gör.

Som du kan se är möjligheten att utföra en SSL Stripping-attack tillgänglig för alla som använder gratisverktyg som Bettercap för LinuxI den här artikeln har du faktiskt en komplett handledning för dig att göra säkerhetsrevisioner och kontrollera om ett visst mål kan använda det mot oss, eller om vi är skyddade mot denna typ av attack.

Hur kan jag skydda mig från den här attacken?

Den här typen av attacker används i stor utsträckning av cyberbrottslingar för att få all trafik från sina offer, särskilt i offentliga nätverk, oavsett om de är trådbundna nätverk eller offentliga WiFi-nätverk, av denna anledning är det avskräckt att ansluta till dessa typer av nätverk som vi inte hantera. Men om någon kan hacka in i vårt WiFi-nätverk, skulle vi vara i exakt samma scenario: vi är på samma lokala nätverk som cyberkriminella, de kan göra oss till en ARP Spoofing-attack och också till en SSL Stripping-attack. Av denna anledning är det så viktigt att hålla en lista över trådbundna enheter eller WiFi-enheter anslutna till vårt lokala nätverk, och då och då kontrollera att det inte finns några inkräktare, dessutom måste vi också se till att ingen kan komma in i vårt WiFi-nätverk , sätta en WPA2-kryptering -AES och inaktivera WPS (Wi-Fi Protected Setup).

Denna SSL Stripping-attack kan inte hindra dem från att göra det mot oss om vi befinner oss i samma lokala nätverk som angriparen, men vad vi kan göra är att förhindra att den blir effektiv, det vill säga från att kunna "lyfta" HTTPS-anslutningen, så att sekretessen fortsätter att upprätthållas och vi kan navigera säkert. För närvarande finns det flera metoder som vi kan använda för att skydda oss mot dessa attacker, vissa är beroende av webbadministratören och andra är uteslutande beroende av oss.

Att webben har HSTS aktiverat

HSTS eller även känd som HTTP Strict Transport Säkerhet, är en policy som finns på webbservrar som tvingar oss att använda HTTPS i vår webbläsare för att kommunicera med servern. Tidigare har vi förklarat att HTTP / HTTPS proxyserver kan kommunicera via HTTPS utan problem med webbservern, men om en webbplats har HSTS aktiverad kommer en cookie att sparas i webbläsaren vilket indikerar att den webbläsaren aldrig kan använda HTTP-protokollet för att kommunicera med webbservern, på detta sätt kommer vi att ha punkt-till-punkt-säkerhet, även om någon inkräktar genom att sätta en HTTP / HTTPS-proxy för att "lyfta" HTTPS för vår kommunikation med webben.

Idag är många webbservrar på olika webbsidor korrekt konfigurerade med denna säkerhetspolicy för att skydda sina användare. Dessa kakor som lagras i klienternas webbläsare upphör att gälla, men vad som görs är att säga att varaktigheten är högst (ett år), för att skydda klienterna så länge som möjligt.

Den negativa delen av HSTS är att om det är första gången vi besöker en webbplats och de gör en SSL-strippning, kommer den här funktionen inte att kunna skydda oss. Skyddet är från det andra besöket eftersom kakan redan har laddats ner, såvida vi inte har en lista med förinstallerade webbplatser i vår webbläsare, som händer med de "stora" som Google och andra tjänster. Vi kunde själva skapa en lista med webbplatser för HSTS-förinladdning som tillhandahålls av Google som en del av Chromium-projektet.

I Apache-webbservern måste vi införliva följande direktiv:

  • Rubrik alltid inställd Strict-Transport-Security «max-age = 31536000; includeSubDomains »

I Nginx-webbservern måste vi införliva följande direktiv:

  • add_header Strict-Transport-Security «max-age = 31536000; includeSubDomains »

Vi skulle också kunna indikera för dessa direktiv "förladdningen" i slutet för att ange att den är förladdad i webbläsaren och för att kunna gå in på webben utan problem.

För att kontrollera om en viss webbplats har HSTS aktiverad kan du alltid komma åt Qualys SSL Labs officiella webbplats där du kan analysera alla webbplatser du vill ha. Innan vi avslutar måste vi ange att detta HSTS-skydd också kan kringgås, baserat på DNS Spoofing för att vidarebefordra offret till en annan domän under vår kontroll som är densamma som originalet, i syfte att "lura" honom, Bettercap inkluderar också denna funktion.

Använd ett VPN

En annan metod för att undvika denna typ av angrepp på HTTPS-anslutningar är att använda en VPN service. Ett virtuellt privat nätverk eller VPN är ansvarig för att kryptera all punkt-till-punkt-kommunikation i en tunnel, därför skulle en angripare som gör oss till en ARP Spoofing-attack och sätter en sniffer, bara se all krypterad trafik, han kunde inte se någon ytterligare protokoll, eftersom DNS-upplösningar också går in i VPN-tunneln. Det är möjligt att cyberkriminella försöker "kasta" denna VPN-tunnel, i själva verket kunde han uppnå det genom att injicera paket och få VPN-tjänsten att sluta fungera för säkerhet, men vi måste komma ihåg att VPN har en funktion som heter Kill-Switch. Kill-switch-funktionaliteten låter dig helt blockera internettrafik i händelse av att VPN-tunneln faller eller har någon form av problem, på det här sättet kommer vi att försäkra oss om att våra data inte filtreras eller kan göra oss till någon annan typ av attacker. Det är alltid bättre att stanna utan internetanslutning än att få information stulen.

För närvarande finns det flera VPN-protokoll som WireGuard, OpenVPN eller IPSec IKEv2, alla är säkra och vi kan använda dem för att hindra någon från att fånga upp kommunikation och lyfta krypteringen av HTTPS-protokollet. Av denna anledning, om du ska ansluta till trådbundna nätverk eller offentliga eller osäkra WiFi-nätverk, rekommenderas det att du alltid använder den här typen av VPN. Vi kan konfigurera VPN-servrar själva i vårt lokala hemnätverk, om vi har en NAS-server kommer det att ha VPN-applikationer och till och med vissa hemroutrar som t.ex. ASUS, AVM FRITZ! Box och till och med D-Link eller NETGEAR har denna typ av servrar för att ansluta oss till Internet säkert, eftersom de omdirigerar trafik.

Om du inte har möjlighet eller kunskap om att installera och konfigurera en VPN-server i ditt hem är vår rekommendation att du använder VPN-tjänster som WARP från Cloudflare, som är helt gratis och fungerar riktigt bra, du kan bli hög hastigheter nedladdning och uppladdning och mycket låg latens. Andra alternativ som du kan använda är betalda VPN-tjänster, eftersom de har applikationer för alla operativsystem, flera servrar spridda över hela världen och viktiga funktioner som Kill-switch bland många andra.

Utför en SSH-tunnling

Ett annat sätt att skydda dig mot SSL Stripping-attacker är att utföra en SSH-tunnel med omdirigering av trafik. Denna teknik består i att ansluta till en fjärransluten SSH-server som är betrodd och att ställa in en SOCKS-proxy för att senare konfigurera den i webbläsaren. På detta sätt omdirigerar vi webbläsartrafik via SSH-servern där vi har anslutit. För att göra det måste vi följa följande steg:

  • Konfigurera en SSH-server på ett säkert sätt, byt portar, bra autentisering och en bra chiffersvit.
  • Aktivera TCP vidarebefordran på SSH-servern, annars kan vi inte vidarebefordra internettrafik, även om vi ansluter.
  • Konfigurera denna SSH-server i program som PuTTY och aktivera vidarebefordran eller vidarebefordran, i en specifik SOCKS5-proxy.
  • Konfigurera den här lokala proxyen som vi just har skapat i webbläsaren, så att all trafik strömmar genom SSH-servern till Internet.

Den här metoden är exakt samma som VPN-servern, använder en “server” för att ansluta till den säkert och går sedan till Internet via HTTPS utan att någon kan lyfta denna kryptering.

Slutsatser

Även om HTTPS-anslutningar är säkra, kan en angripare under vissa omständigheter "lyfta" den säkerheten för att få användaruppgifter och även sessionscookies, vilket gör HTTPS-anslutningar mindre säkra. Denna typ av attack kan dock endast utföras under vissa omständigheter, till exempel att angriparen och offret befinner sig i samma lokala nätverk, oavsett om de är trådbundna eller trådlösa, och att de webbplatser som användaren besöker inte har HSTS-protokollet aktiverat. Det är mycket viktigt att veta på vilka webbplatser vi har HSTS-protokollet tillgängligt, vara lugn när vi navigerar genom den webbplatsen, för om någon utför en attack mot oss kommer webbplatsen automatiskt att berätta att en säker anslutning inte har gjorts och att anslutningen inte kommer att upprättas, vilket skyddar oss från att utbyta mer data.

Om vi ​​ansluter till Internet i offentliga nätverk via en VPN eller gör en SSH-tunnling kan vi vara lugna eftersom de inte kommer att kunna fånga upp kommunikation och bryta mot dem, av denna anledning är användningen av dessa tekniker så viktig när vi är utanför av våra betrodda nätverk. Det spelar ingen roll om VPN- eller SSH-servern finns i vårt hem, på en VPS-server som vi anställer, och även om vi använder betalda VPN-tjänster som de vi alla känner till, är det viktigaste att skydda oss mot en angripare som är i vårt lokala nätverk och undvik denna typ av SSL Stripping-attack.