# T1021.005 - VNC
## Descrição
O **VNC (Virtual Network Computing)** é um sistema de compartilhamento de área de trabalho multiplataforma que usa o protocolo RFB (*Remote Framebuffer*) para transmitir tela, teclado e mouse entre máquinas via rede. Diferente do [[t1021-001-remote-desktop-protocol|Remote Desktop Protocol (RDP)]], que compartilha recursos do sistema, o VNC compartilha a sessão gráfica ativa - tornando as ações do adversário diretamente visíveis na tela da vítima (se não estiver usando sessão em segundo plano).
Adversários abusam do VNC para se movimentar lateralmente dentro de redes comprometidas, especialmente quando já possuem [[t1078-valid-accounts|Contas Válidas]] ou após instalarem um cliente VNC silencioso via [[s0266-trickbot|TrickBot]] ou [[s0670-warzonerat|WarzoneRAT]]. Uma vez conectados, conseguem abrir documentos, baixar arquivos, executar comandos arbitrários e realizar reconhecimento visual da máquina alvo.
> **Contexto Brasil/LATAM:** O VNC é amplamente utilizado em ambientes corporativos brasileiros para suporte remoto - especialmente em empresas de médio porte que adotam soluções como UltraVNC, TightVNC e RealVNC sem controles de autenticação adequados. Grupos como [[g0046-fin7|FIN7]] e [[g0117-fox-kitten|Fox Kitten]] exploram o VNC exposto na internet (porta 5900/TCP) em campanhas direcionadas ao setor financeiro e de energia na América Latina. A exposição de serviços VNC sem senha ou com senhas fracas é um vetor recorrente de acesso inicial documentado pelo [[sources|CERT.br]].
> **Técnica pai:** [[t1021-remote-services|T1021 - Remote Services]]
---
## Attack Flow
```mermaid
graph TB
A([Acesso Inicial]) --> B[Credenciais Obtidas<br/>t1078-valid-accounts]
B --> C[Descoberta de Hosts<br/>t1046-network-service-discovery]
C --> D{VNC Exposto?\nPorta 5900/TCP}
D -->|Sim| E[Conexão VNC<br/>com credenciais]
D -->|Não| F[Instala cliente VNC<br/>silencioso via malware]
F --> E
E --> G([T1021.005 - VNC<br/>Movimentação Lateral]):::highlight
G --> H[Exfiltração de Dados<br/>t1041]
G --> I[Execução Remota<br/>t1059]
G --> J[Persistência<br/>t1547]
classDef highlight fill:#e74c3c,color:#fff
```
---
## Como Funciona
**Passo 1 - Identificação do alvo VNC**
O adversário usa [[t1046-network-service-discovery|Network Service Discovery]] para localizar hosts com a porta 5900/TCP aberta. Ferramentas como `nmap`, `masscan` ou o próprio [[s0266-trickbot|TrickBot]] fazem varredura interna e reportam hosts VNC acessíveis. Em ambientes LATAM, é comum encontrar sistemas legados com VNC habilitado por times de suporte sem desativação posterior.
**Passo 2 - Autenticação e estabelecimento de sessão**
Com [[t1078-valid-accounts|credenciais válidas]] (obtidas via dump de memória, phishing ou reutilização de senhas), o adversário autentica na sessão VNC. Se não houver senha configurada (configuração padrão em algumas versões do UltraVNC), a conexão ocorre sem autenticação. Implementações vulneráveis do protocolo RFB também foram alvo de ataques de força bruta.
**Passo 3 - Controle remoto e pivô**
Com acesso à área de trabalho, o adversário interage diretamente com o sistema como se estivesse fisicamente presente: acessa arquivos, executa ferramentas de reconhecimento ([[t1082-system-information-discovery|System Information Discovery]]), instala implantes adicionais ([[s1160-latrodectus|Latrodectus]], [[s1014-danbot|DanBot]]) e pivota para outros sistemas da rede usando a sessão estabelecida.
---
## Detecção
### Event IDs relevantes (Windows)
| Event ID | Fonte | Descrição |
|----------|-------|-----------|
| 5156 | Security | Conexão de rede permitida pelo Windows Filtering Platform - filtrar porta 5900/TCP |
| 4624 | Security | Logon bem-sucedido - correlacionar com processos VNC (vncviewer.exe, winvnc.exe) |
| 4688 | Security | Criação de novo processo - detectar execução de binários VNC conhecidos |
| 7045 | System | Novo serviço instalado - instalação silenciosa de servidor VNC como serviço |
| 1 | Sysmon | Process Creaté - vncserver.exe, tvnserver.exe, uvnc_service.exe |
| 3 | Sysmon | Network Connection - processo VNC iniciando conexão de saída na porta 5900 |
### Sigma Rule
```yaml
title: Conexão VNC Não Autorizada Detectada
id: a3f21c84-9b2e-4d7a-bc11-e82f3c901234
status: experimental
description: >
Detecta conexões de entrada na porta 5900/TCP (VNC padrão) ou execução
de binários VNC conhecidos em hosts que não são servidores de suporte autorizados.
Relevante para ambientes corporativos brasileiros com uso de UltraVNC/TightVNC.
references:
- https://attack.mitre.org/techniques/T1021/005
author: RunkIntel
daté: 2026-03-24
tags:
- attack.lateral_movement
- attack.t1021.005
logsource:
category: network_connection
product: windows
detection:
selection_vnc_port:
DestinationPort:
- 5900
- 5901
- 5902
Initiated: 'false'
selection_vnc_process:
Image|endswith:
- '\vncviewer.exe'
- '\winvnc.exe'
- '\tvnviewer.exe'
- '\uvnc_service.exe'
- '\vncserver.exe'
filter_authorized:
SourceIp|cidr:
- '10.10.50.0/24' # Substituir pelo range de IPs de suporte autorizado
condition: (selection_vnc_port or selection_vnc_process) and not filter_authorized
falsepositives:
- Times de suporte TI usando VNC legítimo
- Ferramentas de gestão remota autorizadas
level: medium
```
---
## Mitigação
| ID | Mitigação | Aplicação em Organizações Brasileiras |
|----|-----------|---------------------------------------|
| [[m1042-disable-or-remove-feature-or-program\|M1042]] | Desabilitar/remover VNC | Remover VNC de todos os endpoints que não sejam servidores de suporte dedicados. Auditar instalações legadas - comum em empresas que migraram de suporte presencial para remoto durante a pandemia. |
| [[m1037-filter-network-traffic\|M1037]] | Filtrar tráfego de rede | Bloquear portas 5900-5910/TCP no perímetro e entre segmentos de rede. Usar VLANs para isolar servidores VNC autorizados. Aplicar regras no firewall corporativo (Check Point, Palo Alto, Fortinet). |
| [[m1047-audit\|M1047]] | Auditoria contínua | Realizar scans internos mensais para identificar servidores VNC expostos. Integrar ao processo de gerenciamento de vulnerabilidades (Tenable, Qualys). Auditar logs de acesso VNC com retenção mínima de 90 dias (exigência LGPD). |
| [[m1033-limit-software-installation\|M1033]] | Limitar instalação de software | Restringir instalação de clientes/servidores VNC via GPO. Usar allowlist de aplicações (CarbonBlack, Cortex XDR) para bloquear binários VNC não autorizados. |
---
## Threat Actors que Usam esta Técnica
### [[g0047-gamaredon|Gamaredon Group]]
Grupo APT vinculado à Rússia (FSB), ativo principalmente contra alvos ucranianos. Usa VNC como ferramenta de controle remoto persistente após comprometimento inicial via spear-phishing. Relevante para organizações brasileiras com parceiros ou filiais na Europa Oriental.
### [[g0046-fin7|FIN7]]
Grupo criminoso altamente sofisticado com histórico de ataques ao setor financeiro e varejista. Utiliza VNC em conjunto com [[s0484-carberp|Carberp]] e outros implantes para manter acesso persistente a sistemas de PDV e redes bancárias. Documentado em campanhas na América Latina.
### [[g0036-gcman|GCMAN]]
Grupo focado em instituições financeiras russas e de países do leste europeu. Usa VNC para acesso furtivo após comprometimento inicial, evitando ferramentas mais ruidosas. Técnica combinada com exfiltração via [[t1048-exfiltration-over-alternative-protocol|canais alternativos]].
### [[g0117-fox-kitten|Fox Kitten]]
Grupo iraniano (associado ao IRGC) com histórico de ataques a infraestrutura crítica. Explorou serviços VNC expostos em campanhas de acesso inicial e movimentação lateral, especialmente em ambientes de OT/ICS - setor relevante para o Brasil dado o parque industrial e energético da região.
---
## Software Associado
| Malware/Ferramenta | Tipo | Uso com VNC |
|---------------------|------|-------------|
| [[s0670-warzonerat\|WarzoneRAT]] | RAT | Inclui módulo VNC embutido para controle remoto furtivo |
| [[s0266-trickbot\|TrickBot]] | Banking Trojan/Loader | Módulo VNC para acesso remoto a sistemas bancários comprometidos |
| [[s1160-latrodectus\|Latrodectus]] | Loader | Implanta ferramentas de acesso remoto incluindo VNC após comprometimento |
| [[s1014-danbot\|DanBot]] | RAT | Usado por Fox Kitten com capacidades de acesso remoto via VNC |
| [[s0484-carberp\|Carberp]] | Banking Trojan | Usado por FIN7 em conjunto com VNC em ataques a sistemas financeiros |
| [[s0412-zxshell\|ZxShell]] | Backdoor | Backdoor multifuncional com suporte a controle remoto via VNC |
| [[s0279-proton\|Proton]] | macOS RAT | RAT macOS com capacidades de VNC para acesso remoto em endpoints Apple |
---
*Fonte: [MITRE ATT&CK - T1021.005](https://attack.mitre.org/techniques/T1021/005)*