Bug generalizado e facilmente explorável do Windows RDP facilita roubo de dados
A maioria das versões do Windows corre o risco de invasores remotos e sem privilégios abusarem do RDP de dentro para sequestrar cartões inteligentes e obter acesso não autorizado ao sistema de arquivos.
Os pipes do Remote Desktop Protocol (RDP) têm um bug de segurança que pode permitir que qualquer usuário Joe-Schmoe padrão e sem privilégios acesse as máquinas de outros usuários conectados. Se explorado, pode levar a problemas de privacidade de dados, movimento lateral e escalada de privilégios, alertaram os pesquisadores.
Os invasores internos podem, por exemplo, visualizar e modificar os dados da área de transferência de outras pessoas ou se passar por outros usuários conectados usando cartões inteligentes.
A vulnerabilidade, rastreada como CVE-2022-21893 , não foi divulgada em meio ao mega despejo de atualizações de segurança do Patch Tuesday de ontem, mas é mais do que digno de escrutínio, de acordo com um relatório de terça-feira da CyberArk. A empresa descobriu o bug escondido nos Serviços de Área de Trabalho Remota do Windows.
Além do mais, é um problema generalizado. O bug remonta pelo menos ao Windows Server 2012 R2, escreveu o arquiteto de software e campeão de segurança da CyberArk Gabriel Sztejnworcel, levando a empresa a concluir que as versões mais recentes do Windows – incluindo edições de cliente e servidor – são afetadas.
“Podemos dizer que a maioria das versões do Windows em uso hoje são afetadas”, confirmou.
Também é fácil de explorar. A Microsoft disse que uma exploração da vulnerabilidade seria de baixa complexidade. levando a uma classificação de criticidade CVSS de 7,7 em 10, tornando-o “importante” em gravidade.
Entendendo o encanamento de tubos da RDP
O artigo de Sztejnworcel entra em grandes detalhes sobre como o ataque funciona, mas alguns conceitos básicos sobre o encanamento RDP incluem o fato de que o RDP divide uma única conexão em várias conexões lógicas chamadas canais virtuais para lidar com diferentes tipos de dados. Alguns canais são responsáveis pela funcionalidade principal do RDP, como dados gráficos e de entrada, e outros canais lidam com extensões de protocolo, como área de transferência, unidade e redirecionamento de impressora.
“Há também uma API para trabalhar com canais virtuais que permite escrever um aplicativo que se comunica com clientes RDP por meio de canais virtuais personalizados”, explicou a CyberArk, apontando para uma postagem no blog que explica os fundamentos do protocolo RDP.
A vulnerabilidade envolve a superfície de ataque apresentada por pipes nomeados, que são um método comum para comunicação entre processos no Windows e que funcionam em um modelo cliente/servidor.
Ambos os lados especificam o nome do pipe no formato: \\.\pipe\name (para o servidor ou para um cliente que se conecta a um pipe local nomeado); ou \\hostname\pipe\name (para um cliente que se conecta a um pipe nomeado remoto). Tanto o cliente quanto o servidor usam as funções WriteFile e ReadFile para trocar dados após a conexão ser estabelecida.
É comum ter um processo de servidor que lida com vários clientes criando várias instâncias de servidor de pipe, o que significa que o processo do servidor chamará CreateNamedPipe várias vezes com o mesmo nome de pipe, explicou a CyberArk.
“Cada vez, ele receberá uma nova instância do servidor”, de acordo com o artigo. “Quando um cliente se conecta a um servidor de pipe nomeado, ele se conecta a uma instância. Se houver várias instâncias disponíveis, o cliente se conectará àquela que foi criada primeiro [FIFO, ou primeiro a entrar, primeiro a sair].”
Mas como cada chamada para CreateNamedPipe é independente, processos potencialmente maliciosos podem criar instâncias de servidor de pipe com o mesmo nome. “Combinando isso com o comportamento FIFO, podemos começar a ver como isso pode levar a vários problemas”, continuou Sztejnworcel.
Um processo pode criar instâncias de pipe-server com o nome de um pipe server existente, se o descritor de segurança da primeira instância permitir, disse ele. E, de fato, é isso que o descritor de segurança TSVCPIPE faz: ele “permite que qualquer usuário crie instâncias de servidor de pipe com o mesmo nome”, disse ele, enquanto os dados são enviados pelos pipes “em texto não criptografado e sem nenhuma verificação de integridade. ”
O ataque
Com esse pano de fundo em mente, a CyberArk descreveu este ataque básico:
- Um invasor se conecta a uma máquina remota via RDP
- O invasor lista os pipes nomeados abertos e encontra o nome completo do pipe TSVCPIPE
- O invasor cria uma instância de servidor de pipe com o mesmo nome e aguarda uma nova conexão
- Quando uma nova conexão chega, o RDS cria sua própria instância de servidor de pipe para a sessão e um cliente de pipe que tentará se conectar a ela
- Por causa do FIFO, o cliente pipe se conectará à instância do servidor pipe atacante em vez daquela criada pelo serviço RDS
- O invasor se conecta como cliente à instância real do servidor pipe RDS
- O invasor detém ambas as extremidades da conexão; eles podem atuar como man-in-the-middle (MitM), passando os dados para frente e para trás, visualizando e (opcionalmente) modificando-os
A CyberArk reuniu esses passos para criar um ataque MitM, demonstrado em um vídeo em seu relatório, que imprime os dados que passam pelos tubos. Como mostra o vídeo, os pesquisadores conseguiram ver dados da área de transferência que podem conter imagens, arquivos ou texto que podem conter dados pessoais ou dados confidenciais, como senhas, “o que costuma ser o caso em sessões RDP”, disse Sztejnworcel.
Acessando unidades redirecionadas de outros usuários, cartões inteligentes
Mas onde está a diversão em imprimir apenas dados brutos? A CyberArk disse que vasculhar todas as informações produzidas por sua ferramenta de exploração inicial era “tediosa e impraticável”, então os pesquisadores decidiram direcionar o canal de redirecionamento de dispositivo (RDPDR): um dos vários outros canais que usam esses canais, cada um com seu próprio protocolo.
Observação: o próprio RDPDR foi uma das ferramentas usadas para explorar uma vulnerabilidade anterior do Windows RDP, CVE-2019-0708, que é a falha wormable do Microsoft BlueKeep que deixou um milhão de dispositivos vulneráveis a um ataque cibernético do tipo WannaCry em 2019.
“O canal RDPDR é usado para redirecionar dispositivos como drives e cartões inteligentes da máquina cliente para a sessão remota”, explicou a CyberArk. “Se um usuário se conectar usando um cartão inteligente (ou apenas redirecionar seu cartão inteligente para usá-lo de dentro da sessão), o invasor também poderá assumir o cartão inteligente do usuário e usá-lo como se estivesse conectado à sua máquina.”
A redação continuou: “Quando a vítima insere o número PIN do cartão inteligente, uma solicitação de controle de E/S é enviada ao cartão inteligente pelo canal com o número PIN em texto simples, para que o invasor possa vê-lo. O invasor agora pode se conectar a qualquer recurso, na mesma máquina ou em outras máquinas, usando o cartão inteligente e o número PIN da vítima, representando efetivamente o contexto de segurança da vítima. Caso a vítima faça login com uma conta privilegiada, isso leva à escalação de privilégios.”
Os ataques RDP são tão antigos quanto a sujeira, mas essa nova vulnerabilidade adiciona uma reviravolta, mostrando “um exemplo de um vetor de ataque não convencional direcionado ao RDP. Em vez de acessar o lado de entrada do servidor/cliente, como costuma acontecer, abusamos do mecanismo interno do servidor RDP como ponto de entrada”, resumiu o relatório.
Embora os pesquisadores da CyberArk tenham optado por se concentrar no redirecionamento de unidades e cartões inteligentes, eles disseram acreditar que a mesma técnica funcionaria com outros tipos de dispositivos, protocolos e canais, como impressoras, áudio, dispositivos USB e redirecionamento de autenticação (via Remote Credential Guarda).
Eles estão “fortemente” recomendando a aplicação do patch que a Microsoft lançou na terça-feira, já que “quase todas as versões do Windows são afetadas”. Eles também sugeriram que os desenvolvedores de aplicativos que usam canais virtuais personalizados “devem verificar se são vulneráveis e realizar sua própria avaliação de segurança”.
Uma nova maneira de atirar no velho pato sentado RDP
Em julho passado, escrevendo para o Threatpost, especialistas da prática de risco cibernético da Kroll analisaram as complexidades de configurar o RDP para trabalho remoto, observando que o próprio protocolo “não é uma configuração segura” e, portanto, requer “medidas de segurança adicionais para manter estações de trabalho e servidores protegidos.”
Eles disseram que, sem protocolos de segurança adequados, “as organizações enfrentam vários riscos potenciais, incluindo o aumento do risco de ataques cibernéticos”.
Matt Dunn, diretor-gerente associado da Kroll, escreveu que os alvos típicos dos ataques RDP “tendem a ser pequenas empresas, porque muitas vezes carecem dos recursos necessários para se proteger e responder a essas ameaças”.
Os cibercriminosos gostam de atacar vulnerabilidades RDP por vários motivos, com os objetivos mais comuns, incluindo ataques distribuídos de negação de serviço (DDoS) e entrega de ransomware.
À medida que o trabalho remoto aumentou, os cibercriminosos observaram o aumento da adoção do RDP – não é difícil de fazer, já que uma simples pesquisa no Shodan revela milhares de servidores vulneráveis acessíveis pela Internet, juntamente com milhões de portas RDP expostas. De fato, entre o primeiro e o quarto trimestre de 2020, os ataques contra o RDP aumentaram 768% , observou Dunn, enquanto um relatório de outubro de 2020 publicado pela Kroll identificou que 47% dos ataques de ransomware foram precedidos pelo comprometimento do RDP.
Bud Broomhead, CEO da Viakoo, observou que as vulnerabilidades do RDP “permitem algumas das piores atividades cibercriminosas, incluindo o plantio de deepfakes, exfiltração de dados e falsificação de identidade e credenciais”.
Ele disse ao Threatpost na quarta-feira que, embora o RDP seja necessário para a manutenção normal do sistema, ele não pode ser executado sozinho. “Defesas adicionais, como estabelecer uma estrutura de confiança zero e ter um método automatizado de implementação rápida de correções de firmware, são necessárias para garantir que o RDP seja usado com segurança”, disse ele por e-mail.
A descoberta da vulnerabilidade do RDP pela CyberArk ressalta “uma importante realidade operacional”, de acordo com Tim Wade, diretor técnico da equipe de CTO da Vectra. Ou seja, como ele disse sucintamente ao Threatpost na quarta-feira, “compartilhar memória e computação com um adversário é um negócio extremamente arriscado!”
Fonte: https://threatpost.com/