Quatro programas populares de acesso remoto que utilizam o protocolo VNC foram considerados inseguros em um total de 37 vulnerabilidades de segurança encontradas, onde muitas das quais passaram despercebidas nos últimos 20 anos, permitindo que atacantes remotos comprometam todo o sistema da vítima.
O protocolo VNC
O (Virtual Network Computing) é um protocolo opensource de compartilhamento de desktop gráfico baseado no RFB (Remote FrameBuffer), que permite aos usuários controlar remotamente outro computador, semelhante ao serviço de RDP da Microsoft.
A implementação de um sistema VNC inclui um “componente de servidor”, que é executado no computador que está compartilhando a área de trabalho, bem como um “componente de cliente”, que é executado no computador que acessará a área de trabalho compartilhada.
Em outras palavras, o VNC permite que você utilize o mouse e o teclado para controlar um computador remoto, como se estivesse sentado na frente dele.
Existem vários programas VNC, gratuítos e comerciais, compatíveis com sistema operacionais amplamente utilizados, como por exemplo, o Linux, Windows, MacOS e Android.
O perigo do VNC
Considerando que atualmente existem quase de 600 mil servidores VNC acessíveis remotamente pela Internet e quase 32% dos quais estão conectados a sistemas de automação industrial, os pesquisadores de segurança cibernética da Kaspersky auditaram estas quatro implementações opensource amplamente utilizadas do VNC:
- LibVNC – é uma biblioteca, ou seja, um conjunto de pedaços de código prontos, nos quais os desenvolvedores podem utilizar para criar aplicativos. O LibVNC é utilizado, por exemplo, em sistemas que permitem conexões remotas a máquinas virtuais, bem como em dispositivos móveis com o iOS e Android.
- TightVNC 1.X – um aplicativo recomendado pelos fornecedores de sistemas de automação industrial para conectar-se a uma interface homem-máquina (HMI);
- TurboVNC – uma implementação VNC para trabalho remoto com objetos gráficos, 3D e de vídeo;
- UltraVNC – uma variante do VNC criada especificamente para Windows; também é amplamente utilizado na automação industrial para conexão com HMIs.

Após analisar estes programas, os pesquisadores descobriram um total de 37 novas vulnerabilidades de corrupção de memória no software cliente e servidor nestas implementações do VNC: 22 foram encontradas no UltraVNC, 10 no LibVNC, 4 no TighVNC e apenas 1 no TurboVNC.
Todos os bugs estão vinculados ao uso incorreto da memória. A exploração deles leva apenas a defeitos e negação de serviço, um resultado relativamente favorável. Em casos mais graves, os invasores podem obter acesso não autorizado às informações no dispositivo ou liberar malware no sistema da vítima.
Kaspersky
As vulnerabilidades

Algumas das vulnerabilidades descobertas também podem levar a ataques de execução remota de código (RCE), o que significa que um invasor pode explorar estas falhas para executar código arbitrário no sistema da vítima e obter controle sobre ele.
Como o aplicativo no lado cliente recebe mais dados e contém componentes de decodificação de dados nos quais os desenvolvedores geralmente cometem erros durante a programação, então a maioria das vulnerabilidades afetam a versão do cliente do VNC.
Por outro lado, o do servidor contém relativamente uma pequena base de código com quase nenhuma funcionalidade complexa, o que reduz as chances de vulnerabilidades de corrupção de memória.
No entanto, a equipe descobriu alguns bugs exploráveis no lado do servidor, incluindo uma falha de estouro de buffer de pilha no TurboVNC Server, permitindo a execução remota de código no servidor.
Mas explorar esta falha requer credenciais de autenticação para conectar-se ao servidor VNC ou controlar o cliente antes que a conexão seja estabelecida.
Portanto, como uma medida de proteção contra ataques que exploram vulnerabilidades do servidor, recomenda-se que os clientes não se conectem a servidores VNC não confiáveis ou não testados, além dos administradores protegerem seus servidores com uma senha forte e exclusiva…
A Kaspersky relatou as vulnerabilidades aos desenvolvedores dos softwares afetados, todos os quais lançaram patches para produtos, exceto para o TightVNC 1.x, que não é mais suportado por seus criadores. É recomendável que os usuários atualizem para a versão 2.x.
Conclusão
Sinceramente, de verdade, soluções que implementam o protocolo VNC nunca que inspiraram confiança. São muitos furos de segurança “a perder de vista”. Isso desde o início. Para a sua empresa utilize soluções como Remote Control (da Manage Engine), LogmeIn, Remote Desktop Manager, dentre outras.
Para o seu computador pessoal utilize o Chrome Remote Control (https://remotedesktop.google.com), TeamViewer (https://www.teamviewer.com/en/trust-center/security/).
Soluções de acesso remoto confiáveis para a sua empresa
- Remote Control – https://www.manageengine.com/desktop-management-msp/remote-control.html
- LogmeIn – https://www.logmein.com/pt/pro/security-information
- Remote Desktop Manager – https://remotedesktopmanager.com/features
Mas lembre-se, nenhuma solução é 100% segura. Obviamente soluções corporativas também possuem falhas, mas se quer um pouco mais segurança em seu ambiente corporativo, utilize soluções corporativas.
Fontes do post e imagem utilizada:
https://thehackernews.com/2019/11/vnc-remote-software-hacking.html
https://www.kaspersky.com/blog/vnc-vulnerabilities/31462/
https://www.shodan.io/search?query=”rfb”
Fonte da imagem utilizada no post
https://thehackernews.com/2019/11/vnc-remote-software-hacking.html