ALPACA - een nieuwe techniek voor MITM-aanvallen op HTTPS

Een team van onderzoekers van verschillende universiteiten in Duitsland heeft een nieuwe MITM-aanval op HTTPS ontwikkeld die sessiecookies en andere gevoelige gegevens kan extraheren, en willekeurige JavaScript-code kan uitvoeren in de context van een andere site. De aanval heet ALPACA en kan worden toegepast op TLS-servers die verschillende applicatielaagprotocollen implementeren (HTTPS, SFTP, SMTP, IMAP, POP3), maar gebruikmaken van algemene TLS-certificaten.

De essentie van de aanval is dat als hij controle heeft over een netwerkgateway of draadloos toegangspunt, de aanvaller het webverkeer kan omleiden naar een andere netwerkpoort en het opzetten van een verbinding kan organiseren met een FTP- of mailserver die TLS-encryptie ondersteunt en gebruik maakt van een TLS-certificaat gemeenschappelijk met de HTTP-server, en de browser van de gebruiker gaat ervan uit dat er een verbinding tot stand is gebracht met de aangevraagde HTTP-server. Omdat het TLS-protocol universeel is en niet gebonden is aan protocollen op applicatieniveau, is het tot stand brengen van een gecodeerde verbinding voor alle services identiek en kan de fout bij het verzenden van een verzoek naar de verkeerde service alleen worden vastgesteld nadat een gecodeerde sessie tot stand is gebracht tijdens het verwerken van de opdrachten van het verzonden verzoek.

Als u bijvoorbeeld een gebruikersverbinding die oorspronkelijk aan HTTPS was geadresseerd, omleidt naar een mailserver die gebruikmaakt van een certificaat dat wordt gedeeld met de HTTPS-server, wordt de TLS-verbinding met succes tot stand gebracht, maar kan de mailserver de verzonden berichten niet verwerken. HTTP-opdrachten en retourneert een antwoord met foutcode. Dit antwoord wordt door de browser verwerkt als een antwoord van de opgevraagde site, verzonden binnen een correct opgezet gecodeerd communicatiekanaal.

Er worden drie aanvalsopties voorgesteld:

  • “Uploaden” om een ​​cookie met authenticatieparameters op te halen. De methode is van toepassing als u via de FTP-server die onder het TLS-certificaat valt, de gegevens ervan kunt uploaden en ophalen. Bij deze aanvalsvariant kan de aanvaller delen van het oorspronkelijke HTTP-verzoek van de gebruiker behouden, zoals de inhoud van de Cookie-header, bijvoorbeeld als de FTP-server het verzoek interpreteert als een opslagbestand of binnenkomende verzoeken volledig registreert. Om met succes aan te vallen, moet de aanvaller op de een of andere manier de opgeslagen inhoud extraheren. De aanval is toepasbaar op Proftpd, Microsoft IIS, vsftpd, filezilla en serv-u.
  • “Download” voor het organiseren van cross-site scripting (XSS). De methode houdt in dat de aanvaller, als resultaat van enkele individuele manipulaties, gegevens in een dienst kan plaatsen die gebruik maakt van een gemeenschappelijk TLS-certificaat, dat vervolgens kan worden uitgegeven als reactie op een gebruikersverzoek. De aanval is van toepassing op de bovengenoemde FTP-servers, IMAP-servers en POP3-servers (courier, cyrus, kerio-connect en zimbra).
  • "Reflectie" om JavaScript uit te voeren in de context van een andere site. De methode is gebaseerd op het terugsturen naar het clientgedeelte van het verzoek, dat de JavaScript-code bevat die door de aanvaller is verzonden. De aanval is van toepassing op de bovengenoemde FTP-servers, de cyrus-, kerio-connect- en zimbra IMAP-servers, evenals de sendmail SMTP-server.

ALPACA - een nieuwe techniek voor MITM-aanvallen op HTTPS

Wanneer een gebruiker bijvoorbeeld een pagina opent die wordt beheerd door een aanvaller, kan deze pagina een verzoek om een ​​bron initiëren vanaf een site waarop de gebruiker een actieve account heeft (bijvoorbeeld bank.com). Tijdens een MITM-aanval kan dit aan de bank.com-website gerichte verzoek worden omgeleid naar een e-mailserver die gebruikmaakt van een TLS-certificaat dat wordt gedeeld met bank.com. Omdat de mailserver de sessie niet beëindigt na de eerste fout, worden serviceheaders en commando's zoals "POST / HTTP/1.1" en "Host:" verwerkt als onbekende commando's (de mailserver retourneert "500 unrecognized command" voor elke kop).

De mailserver begrijpt de kenmerken van het HTTP-protocol niet en daarvoor worden de serviceheaders en het datablok van het POST-verzoek op dezelfde manier verwerkt, dus in de hoofdtekst van het POST-verzoek kunt u een regel specificeren met een commando om de mailserver. U kunt bijvoorbeeld doorgeven: MAIL VAN: alert(1); waarnaar de mailserver een 501-foutmelding retourneert alert(1); : verkeerd ingedeeld adres: alert(1); mag niet volgen

Dit antwoord wordt ontvangen door de browser van de gebruiker, die de JavaScript-code uitvoert in de context van niet de aanvankelijk geopende website van de aanvaller, maar van de website bank.com waarnaar het verzoek is verzonden, aangezien het antwoord binnen een correcte TLS-sessie kwam. , waarvan het certificaat de authenticiteit van het antwoord van bank.com bevestigde.

ALPACA - een nieuwe techniek voor MITM-aanvallen op HTTPS

Uit een scan van het wereldwijde netwerk bleek dat in het algemeen ongeveer 1.4 miljoen webservers door het probleem worden getroffen, waarvoor het mogelijk is een aanval uit te voeren door verzoeken met behulp van verschillende protocollen te mixen. Voor 119 duizend webservers waarbij bijbehorende TLS-servers op basis van andere applicatieprotocollen aanwezig waren, werd de mogelijkheid van een echte aanval vastgesteld.

Er zijn voorbeelden van exploits voorbereid voor ftp-servers pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla en serv-u, IMAP- en POP3-servers dovecot, courier, exchange, cyrus, kerio-connect en zimbra, SMTP-servers postfix, exim, sendmail , mailable, mdaemon en opensmtpd. Onderzoekers hebben de mogelijkheid onderzocht om een ​​aanval alleen uit te voeren in combinatie met FTP-, SMTP-, IMAP- en POP3-servers, maar het is mogelijk dat het probleem zich ook voordoet bij andere applicatieprotocollen die gebruik maken van TLS.

ALPACA - een nieuwe techniek voor MITM-aanvallen op HTTPS

Om de aanval te blokkeren, wordt voorgesteld om de ALPN-extensie (Application Layer Protocol Negotiation) te gebruiken om te onderhandelen over een TLS-sessie, rekening houdend met het applicatieprotocol, en de SNI-extensie (Server Name Indication) om te binden aan de hostnaam in het geval van gebruik TLS-certificaten voor meerdere domeinnamen. Aan de applicatiekant wordt aanbevolen om de limiet op het aantal fouten bij het verwerken van opdrachten te beperken, waarna de verbinding wordt verbroken. Het proces van het ontwikkelen van maatregelen om de aanval te blokkeren begon in oktober vorig jaar. Soortgelijke beveiligingsmaatregelen zijn al genomen in Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) en Internet Explorer.

Bron: opennet.ru

Voeg een reactie