ALPACA - unha nova técnica para ataques MITM en HTTPS

Un equipo de investigadores de varias universidades de Alemaña desenvolveu un novo ataque MITM contra HTTPS que pode extraer cookies de sesión e outros datos sensibles, así como executar código JavaScript arbitrario no contexto doutro sitio. O ataque chámase ALPACA e pódese aplicar a servidores TLS que implementan diferentes protocolos de capa de aplicación (HTTPS, SFTP, SMTP, IMAP, POP3), pero usan certificados TLS comúns.

A esencia do ataque é que se ten control sobre unha pasarela de rede ou un punto de acceso sen fíos, o atacante pode redirixir o tráfico web a outro porto de rede e organizar o establecemento dunha conexión cun servidor FTP ou de correo que admita o cifrado TLS e use un Certificado TLS común co servidor HTTP e o navegador do usuario asumirá que se estableceu unha conexión co servidor HTTP solicitado. Dado que o protocolo TLS é universal e non está vinculado a protocolos de nivel de aplicación, o establecemento dunha conexión cifrada para todos os servizos é idéntico e o erro ao enviar unha solicitude ao servizo incorrecto só se pode determinar despois de establecer unha sesión cifrada mentres se procesa o comandos da solicitude enviada.

En consecuencia, se, por exemplo, redirixe unha conexión de usuario dirixida orixinalmente a HTTPS a un servidor de correo que utiliza un certificado compartido co servidor HTTPS, a conexión TLS establecerase con éxito, pero o servidor de correo non poderá procesar a información transmitida. Comandos HTTP e devolverá unha resposta cun código de erro. Esta resposta será procesada polo navegador como resposta do sitio solicitado, transmitida dentro dunha canle de comunicación cifrada correctamente establecida.

Propóñense tres opcións de ataque:

  • "Cargar" para recuperar unha cookie con parámetros de autenticación. O método é aplicable se o servidor FTP cuberto polo certificado TLS permite cargar e recuperar os seus datos. Nesta variante de ataque, o atacante pode lograr a retención de partes da solicitude HTTP orixinal do usuario, como o contido da cabeceira Cookie, por exemplo, se o servidor FTP interpreta a solicitude como un ficheiro gardado ou rexistra as solicitudes entrantes por completo. Para atacar con éxito, o atacante necesita extraer dalgún xeito o contido almacenado. O ataque é aplicable a Proftpd, Microsoft IIS, vsftpd, filezilla e serv-u.
  • "Descarga" para organizar cross-site scripting (XSS). O método implica que o atacante, como resultado dalgunhas manipulacións individuais, pode colocar datos nun servizo que utiliza un certificado TLS común, que despois pode emitirse en resposta a unha solicitude do usuario. O ataque é aplicable aos servidores FTP, servidores IMAP e servidores POP3 mencionados anteriormente (courier, cyrus, kerio-connect e zimbra).
  • "Reflexión" para executar JavaScript no contexto doutro sitio. O método baséase en devolver ao cliente parte da solicitude, que contén o código JavaScript enviado polo atacante. O ataque é aplicable aos servidores FTP mencionados anteriormente, aos servidores cyrus, kerio-connect e zimbra IMAP, así como ao servidor SMTP de sendmail.

ALPACA - unha nova técnica para ataques MITM en HTTPS

Por exemplo, cando un usuario abre unha páxina controlada por un atacante, esta páxina pode iniciar unha solicitude de recurso desde un sitio no que o usuario ten unha conta activa (por exemplo, bank.com). Durante un ataque MITM, esta solicitude dirixida ao sitio web bank.com pódese redirixir a un servidor de correo electrónico que utilice un certificado TLS que se comparte con bank.com. Dado que o servidor de correo non finaliza a sesión despois do primeiro erro, as cabeceiras do servizo e as ordes como "POST / HTTP/1.1" e "Host:" procesaranse como comandos descoñecidos (o servidor de correo devolverá "500 comandos non recoñecidos" para cada cabeceira).

O servidor de correo non entende as características do protocolo HTTP e para el as cabeceiras do servizo e o bloque de datos da solicitude POST son procesadas do mesmo xeito, polo que no corpo da solicitude POST podes especificar unha liña cun comando para o servidor de correo. Por exemplo, pode pasar: MAIL FROM: alert(1); ao que o servidor de correo devolverá unha mensaxe de erro 501 alert(1); : enderezo mal formado: alerta(1); pode non seguir

Esta resposta será recibida polo navegador do usuario, que executará o código JavaScript no contexto non do sitio web inicialmente aberto do atacante, senón do sitio web de bank.com ao que se enviou a solicitude, xa que a resposta chegou dentro dunha sesión TLS correcta. , cuxo certificado confirmaba a autenticidade da resposta de bank.com.

ALPACA - unha nova técnica para ataques MITM en HTTPS

Unha exploración da rede global mostrou que, en xeral, uns 1.4 millóns de servidores web están afectados polo problema, para o que é posible realizar un ataque mesturando solicitudes utilizando diferentes protocolos. Determinouse a posibilidade dun ataque real para 119 mil servidores web para os que había servidores TLS acompañantes baseados noutros protocolos de aplicación.

Preparáronse exemplos de exploits para servidores ftp pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla e serv-u, servidores IMAP e POP3 dovecot, courier, exchange, cyrus, kerio-connect e zimbra, servidores SMTP postfix, exim, sendmail , mailenable, mdaemon e opensmtpd. Os investigadores estudaron a posibilidade de realizar un ataque só en combinación con servidores FTP, SMTP, IMAP e POP3, pero é posible que o problema tamén se produza para outros protocolos de aplicacións que utilizan TLS.

ALPACA - unha nova técnica para ataques MITM en HTTPS

Para bloquear o ataque, proponse utilizar a extensión ALPN (Application Layer Protocol Negotiation) para negociar unha sesión TLS tendo en conta o protocolo da aplicación e a extensión SNI (Server Name Indication) para vincularse ao nome de host no caso de utilizar Certificados TLS que abarcan varios nomes de dominio. No lado da aplicación, recoméndase limitar o número de erros ao procesar comandos, despois de que a conexión finaliza. O proceso de desenvolvemento de medidas para bloquear o ataque comezou en outubro do ano pasado. Xa se tomaron medidas de seguridade similares en Nginx 1.21.0 (proxy de correo), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) e Internet Explorer.

Fonte: opennet.ru

Engadir un comentario