ALPACA – uma nova técnica para ataques MITM em HTTPS

Uma equipe de pesquisadores de várias universidades na Alemanha desenvolveu um novo ataque MITM ao HTTPS que pode extrair cookies de sessão e outros dados confidenciais, bem como executar código JavaScript arbitrário no contexto de outro site. O ataque é denominado ALPACA e pode ser aplicado a servidores TLS que implementam diferentes protocolos de camada de aplicação (HTTPS, SFTP, SMTP, IMAP, POP3), mas utilizam certificados TLS comuns.

A essência do ataque é que se ele tiver controle sobre um gateway de rede ou ponto de acesso sem fio, o invasor pode redirecionar o tráfego da web para outra porta de rede e organizar o estabelecimento de uma conexão com um servidor FTP ou de e-mail que suporte criptografia TLS e use um Certificado TLS comum ao servidor HTTP e o navegador do usuário assumirá que uma conexão foi estabelecida com o servidor HTTP solicitado. Como o protocolo TLS é universal e não está vinculado a protocolos de nível de aplicação, o estabelecimento de uma conexão criptografada para todos os serviços é idêntico e o erro de enviar uma solicitação para o serviço errado só pode ser determinado após estabelecer uma sessão criptografada durante o processamento do comandos da solicitação enviada.

Da mesma forma, se, por exemplo, você redirecionar uma conexão de usuário originalmente endereçada a HTTPS para um servidor de e-mail que usa um certificado compartilhado com o servidor HTTPS, a conexão TLS será estabelecida com sucesso, mas o servidor de e-mail não será capaz de processar o transmitido. Comandos HTTP e retornará uma resposta com código de erro. Esta resposta será processada pelo navegador como uma resposta do site solicitado, transmitida dentro de um canal de comunicação criptografado corretamente estabelecido.

Três opções de ataque são propostas:

  • “Upload” para recuperar um Cookie com parâmetros de autenticação. O método é aplicável se o servidor FTP coberto pelo certificado TLS permitir fazer upload e recuperar seus dados. Nesta variante de ataque, o invasor pode conseguir a retenção de partes da solicitação HTTP original do usuário, como o conteúdo do cabeçalho do Cookie, por exemplo, se o servidor FTP interpretar a solicitação como um arquivo salvo ou registrar inteiramente as solicitações recebidas. Para atacar com sucesso, o invasor precisa extrair de alguma forma o conteúdo armazenado. O ataque é aplicável a Proftpd, Microsoft IIS, vsftpd, filezilla e serv-u.
  • “Download” para organizar scripts entre sites (XSS). O método implica que o invasor, como resultado de algumas manipulações individuais, pode colocar dados em um serviço que usa um certificado TLS comum, que pode então ser emitido em resposta a uma solicitação do usuário. O ataque é aplicável aos servidores FTP, servidores IMAP e servidores POP3 mencionados acima (courier, cyrus, kerio-connect e zimbra).
  • "Reflexão" para executar JavaScript no contexto de outro site. O método baseia-se no retorno ao cliente de parte da solicitação, que contém o código JavaScript enviado pelo invasor. O ataque é aplicável aos servidores FTP mencionados acima, aos servidores IMAP cyrus, kerio-connect e zimbra, bem como ao servidor SMTP sendmail.

ALPACA – uma nova técnica para ataques MITM em HTTPS

Por exemplo, quando um usuário abre uma página controlada por um invasor, essa página pode iniciar uma solicitação de recurso de um site onde o usuário possui uma conta ativa (por exemplo, bank.com). Durante um ataque MITM, esta solicitação endereçada ao site bank.com pode ser redirecionada para um servidor de e-mail que usa um certificado TLS compartilhado com bank.com. Como o servidor de e-mail não encerra a sessão após o primeiro erro, cabeçalhos de serviço e comandos como "POST / HTTP/1.1" e "Host:" serão processados ​​como comandos desconhecidos (o servidor de e-mail retornará "500 comando não reconhecido" para cada cabeçalho).

O servidor de e-mail não entende os recursos do protocolo HTTP e para ele os cabeçalhos de serviço e o bloco de dados da solicitação POST são processados ​​​​da mesma forma, portanto, no corpo da solicitação POST você pode especificar uma linha com um comando para o servidor de correio. Por exemplo, você pode passar: MAIL FROM: alert(1); para o qual o servidor de e-mail retornará uma mensagem de erro 501 alert(1); : endereço malformado: alerta(1); pode não seguir

Esta resposta será recebida pelo navegador do usuário, que executará o código JavaScript no contexto não do site inicialmente aberto do invasor, mas do site bank.com para o qual a solicitação foi enviada, já que a resposta veio dentro de uma sessão TLS correta , cujo certificado confirmou a autenticidade da resposta do bank.com.

ALPACA – uma nova técnica para ataques MITM em HTTPS

Uma varredura na rede global mostrou que, em geral, cerca de 1.4 milhão de servidores web são afetados pelo problema, para os quais é possível realizar um ataque misturando solicitações em diferentes protocolos. Foi determinada a possibilidade de um ataque real para 119 mil servidores web para os quais existiam servidores TLS acompanhantes baseados em outros protocolos de aplicação.

Exemplos de explorações foram preparados 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 pesquisadores estudaram a possibilidade de realizar um ataque apenas em combinação com servidores FTP, SMTP, IMAP e POP3, mas é possível que o problema também ocorra para outros protocolos de aplicação que utilizam TLS.

ALPACA – uma nova técnica para ataques MITM em HTTPS

Para bloquear o ataque, propõe-se a utilização da extensão ALPN (Application Layer Protocol Negotiation) para negociar uma sessão TLS levando em consideração o protocolo da aplicação e a extensão SNI (Server Name Indication) para vincular ao nome do host no caso de usar Certificados TLS cobrindo vários nomes de domínio. Do lado do aplicativo, é recomendado limitar o número de erros no processamento de comandos, após o qual a conexão é encerrada. O processo de desenvolvimento de medidas para bloquear o ataque começou em outubro do ano passado. Medidas de segurança semelhantes já foram tomadas no Nginx 1.21.0 (proxy de correio), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) e Internet Explorer.

Fonte: opennet.ru

Adicionar um comentário