ALPACA – új technika a HTTPS elleni MITM-támadásokhoz

Több németországi egyetem kutatócsoportja kifejlesztett egy új MITM-támadást a HTTPS ellen, amely képes munkamenet-cookie-kat és egyéb érzékeny adatokat kinyerni, valamint tetszőleges JavaScript-kódot futtatni egy másik webhely kontextusában. A támadást ALPACA-nak hívják, és olyan TLS-kiszolgálókra alkalmazható, amelyek különböző alkalmazási rétegbeli protokollokat (HTTPS, SFTP, SMTP, IMAP, POP3), de általános TLS-tanúsítványokat használnak.

A támadás lényege, hogy ha rendelkezik egy hálózati átjáró vagy vezeték nélküli hozzáférési pont felett, akkor a támadó átirányíthatja a webes forgalmat egy másik hálózati portra, és megszervezheti a kapcsolat létrehozását egy olyan FTP-vel vagy levelezőszerverrel, amely támogatja a TLS titkosítást és használ egy A HTTP-kiszolgálóval közös TLS-tanúsítvány, és a felhasználó böngészője feltételezi, hogy létrejött a kapcsolat a kért HTTP-kiszolgálóval. Mivel a TLS protokoll univerzális, és nincs alkalmazásszintű protokollokhoz kötve, a titkosított kapcsolat létrehozása minden szolgáltatásnál azonos, és a nem megfelelő szolgáltatásra küldött kérés hibája csak a titkosított munkamenet létrehozása után állapítható meg a feldolgozás során. az elküldött kérés parancsait.

Ennek megfelelően, ha például egy eredetileg HTTPS-re címzett felhasználói kapcsolatot átirányít egy olyan levelezőszerverre, amely a HTTPS-kiszolgálóval megosztott tanúsítványt használ, a TLS-kapcsolat sikeresen létrejön, de a levelezőszerver nem tudja feldolgozni a továbbított üzenetet. HTTP parancsokat, és hibakóddal válaszol. Ezt a választ a böngésző a kért oldal válaszaként dolgozza fel, egy megfelelően kialakított titkosított kommunikációs csatornán keresztül.

Három támadási lehetőséget javasolnak:

  • „Feltöltés” ​​a hitelesítési paraméterekkel rendelkező cookie lekéréséhez. A módszer akkor alkalmazható, ha a TLS-tanúsítvánnyal lefedett FTP-szerver lehetővé teszi adatainak feltöltését és lekérését. Ebben a támadási változatban a támadó elérheti a felhasználó eredeti HTTP-kérésének egyes részeit, például a Cookie-fejléc tartalmát, ha például az FTP-kiszolgáló a kérést mentési fájlként értelmezi, vagy a bejövő kéréseket teljes egészében naplózza. A sikeres támadáshoz a támadónak valamilyen módon ki kell bontania a tárolt tartalmat. A támadás a Proftpd, a Microsoft IIS, a vsftpd, a filezilla és a serv-u rendszerekre alkalmazható.
  • „Letöltés” ​​a webhelyek közötti parancsfájlok (XSS) megszervezéséhez. A módszer azt jelenti, hogy a támadó egyes egyéni manipulációk eredményeként adatokat helyezhet el egy közös TLS-tanúsítványt használó szolgáltatásban, amelyet aztán felhasználói kérésre kiadhatnak. A támadás a fent említett FTP szerverekre, IMAP szerverekre és POP3 szerverekre (courier, cyrus, kerio-connect és zimbra) vonatkozik.
  • "Reflection" a JavaScript futtatásához egy másik webhely kontextusában. A módszer alapja a kérés kliens részére történő visszaküldése, amely a támadó által küldött JavaScript kódot tartalmazza. A támadás a fent említett FTP szerverekre, a cyrus, kerio-connect és zimbra IMAP szerverekre, valamint a sendmail SMTP szerverre vonatkozik.

ALPACA – új technika a HTTPS elleni MITM-támadásokhoz

Például amikor egy felhasználó megnyit egy támadó által felügyelt oldalt, ez az oldal kérést kezdeményezhet egy olyan webhelyről, ahol a felhasználó aktív számlával rendelkezik (például bank.com). MITM támadás során ez a bank.com webhelyhez intézett kérés átirányítható egy olyan e-mail szerverre, amely a bank.com-mal megosztott TLS-tanúsítványt használ. Mivel a levelezőszerver nem fejezi be a munkamenetet az első hiba után, a szolgáltatásfejlécek és parancsok, például a "POST / HTTP/1.1" és a "Host:" ismeretlen parancsként kerülnek feldolgozásra (a levelezőszerver az "500 unrecognized parancsot" adja vissza minden fejléc).

A levelezőszerver nem érti a HTTP protokoll tulajdonságait és számára a szolgáltatás fejlécek és a POST kérés adatblokkja ugyanúgy feldolgozásra kerül, így a POST kérés törzsében megadhat egy sort a következő paranccsal. a levelezőszerver. Például átadhatja a következőket: LEVELEK FELTŐL: alert(1); amelyre a levelezőszerver 501-es hibaüzenetet küld vissza alert(1); : rosszul formázott cím: alert(1); nem követheti

Ezt a választ a felhasználó böngészője kapja meg, amely a JavaScript kódot nem a támadó kezdetben megnyitott webhelyének kontextusában hajtja végre, hanem annak a bank.com webhelynek a környezetében, amelyre a kérést elküldték, mivel a válasz egy megfelelő TLS-munkameneten belül érkezett. , amelynek tanúsítványa megerősítette a bank.com válaszának hitelességét.

ALPACA – új technika a HTTPS elleni MITM-támadásokhoz

A globális hálózat átvizsgálása kimutatta, hogy általában körülbelül 1.4 millió webszervert érint a probléma, amelyeknél lehetséges a támadás végrehajtása a kérések keverésével különböző protokollok használatával. A valódi támadás lehetőségét 119 ezer olyan webszerver esetében határozták meg, amelyekhez egyéb alkalmazásprotokollokon alapuló TLS-szerverek is voltak.

Példák exploitokra készültek pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla és serv-u, IMAP és POP3 kiszolgálókhoz, dovecot, courier, Exchange, cyrus, kerio-connect és zimbra, SMTP szerverekhez postfix, exim, sendmail , mailenable, mdaemon és opensmtpd. A kutatók megvizsgálták annak lehetőségét, hogy csak FTP, SMTP, IMAP és POP3 szerverekkel kombinálva hajtsanak végre támadást, de elképzelhető, hogy a probléma más TLS-t használó alkalmazásprotokolloknál is előfordulhat.

ALPACA – új technika a HTTPS elleni MITM-támadásokhoz

A támadás blokkolása érdekében javasolt az ALPN (Application Layer Protocol Negotiation) bővítmény használata a TLS-munkamenet egyeztetésére, figyelembe véve az alkalmazásprotokollt, valamint az SNI (Server Name Indication) bővítményt a gazdagép nevéhez való kapcsolódáshoz. Több domain névre kiterjedő TLS-tanúsítványok. Az alkalmazás oldalon javasolt korlátozni a hibák számának korlátozását a parancsok feldolgozása során, amelyek után a kapcsolat megszakad. A támadás megakadályozására irányuló intézkedések kidolgozásának folyamata tavaly októberben kezdődött. Hasonló biztonsági intézkedéseket már tettek az Nginx 1.21.0 (mail proxy), a Vsftpd 3.0.4, a Courier 5.1.0, a Sendmail, a FileZill, a crypto/tls (Go) és az Internet Explorer verziókban.

Forrás: opennet.ru

Hozzászólás