# VersaMem
> Tipo: **web shell em memoria modular** · S1154 · [MITRE ATT&CK](https://attack.mitre.org/software/S1154/) · Utilizado por [[g1017-volt-typhoon|Volt Typhoon]] em 2024
## Visão Geral
[[s1154-versamem|VersaMem]] e um web shell sofisticado em Java desenvolvido e utilizado pelo [[g1017-volt-typhoon|Volt Typhoon]] (também rastreado como Bronze Silhouette), grupo APT chines especializado em pre-posicionamento silencioso em infraestrutura critica ocidental. O malware foi descoberto pelo time Black Lotus Labs da Lumen Technologies em agosto de 2024, durante investigação da exploração zero-day da vulnerabilidade [[cve-2024-39717|CVE-2024-39717]] em servidores Versa Director.
O VersaMem opera inteiramente em memoria - nunca grava componentes de payload no disco - tornando a detecção por soluções de segurança baseadas em arquivo práticamente ineficaz. O malware foi inicialmente carregado no VirusTotal em 7 de junho de 2024 com o nome `VersaTest.png`, disfarado como imagem PNG, e permaneceu com zero deteccoes por ferramentas antivirus no dia de sua divulgacao pública em agosto de 2024. O nome interno atribuido pelos proprios atacantes e `Director_tomcat_memShell`, revelando sua função precisa: um memory shell no processo Apache Tomcat do Versa Director.
A técnica central do VersaMem e o uso da **Java Instrumentation API e Javassist** para injetar código malicioso no espaco de memoria do processo do servidor web Tomcat em execução no Versa Director. Uma vez injetado, o web shell realiza dois hooks criticos: (1) sobrescreve o método `setUserPassword` do Versa para interceptar credenciais de autenticação em texto claro no momento do login, e (2) hookeia o filtro de requisicoes `doFilter` do Catalina para inspecionar todo trafego HTTP inbound e carregar módulos Java adicionais recebidos do operador. Essa combinacao permite tanto coleta passiva de credenciais quanto execução ativa de payloads arbitrarios.
A operação de supply chain e o aspecto mais estratégico: ao comprometer um MSP ou ISP via VersaMem, o [[g1017-volt-typhoon|Volt Typhoon]] obtinha credenciais de autenticação que permitiam acesso silencioso a redes de dezenas de organizacoes cliente gerenciadas por esse provedor. O FBI disrupted a bonet KV-Botnet do Volt Typhoon em fevereiro de 2024; o VersaMem representa a continuidade das operações do grupo contra infraestrutura de rede estratégica.
**Plataformas:** Network Devices (Versa Director SD-WAN)
## Como Funciona
O VersaMem implementa um ataque de supply chain via web shell em memoria no servidor de gerenciamento SD-WAN:
1. **Acesso ao porto de gerenciamento exposto** - O [[g1017-volt-typhoon|Volt Typhoon]] identifica servidores Versa Director com porta 4566 (destinada a emparelhamento de alta disponibilidade entre nos Versa) exposta públicamente; acesso nao autorizado via cliente NCS cria conta com privilegios Provider-Data-Center-Admin
2. **Exploração de CVE-2024-39717** - A vulnerabilidade na função "Change Favicon" do GUI do Versa Director permite upload de arquivo malicioso com extensao `.png`; o arquivo e um JAR Java disfarado, nao uma imagem real; o Versa o executa ao processar a requisicao de upload
3. **Injecao via Java Instrumentation API** - O JAR VersaMem usa a Java Instrumentation API para se anexar ao processo JVM do Apache Tomcat em execução; Javassist modifica dinâmicamente o bytecode de classes Java existentes em memoria sem criar novos arquivos em disco
4. **Hook de autenticação** - O método `setUserPassword` do Versa e substituido por versao maliciosa que captura a senha em texto claro antes de processar a autenticação; credenciais capturadas sao criptografadas com AES, codificadas em Base64 e armazenadas em `/tmp/.temp.data` para recuperacao posterior
5. **Hook do filtro de requisicoes** - O método `doFilter` do filtro Catalina e hookado para inspecionar cada requisicao HTTP inbound; o web shell filtra requisicoes especiais do operador que carregam módulos Java adicionais como bytecode, executados em memoria sem gravacao em disco
6. **Execução de payloads arbitrarios** - Módulos Java injetados via filtro hookado permitem ao operador executar comandos arbitrarios no servidor comprometido, estabelecer persistência adicional, ou pivotar para redes de clientes usando as credenciais capturadas
7. **Cleanup de arquivos temporarios** - O VersaMem deleta arquivos temporarios relacionados ao PID do processo web principal após instalacao, eliminando artefatos de instalacao que poderiam revelar o comprometimento
```mermaid
graph TB
A["Porta 4566 exposta<br/>Versa Director acessivel externamente"] --> B["CVE-2024-39717<br/>Upload de JAR disfarado como PNG"]
B --> C["Java Instrumentation API<br/>VersaMem se anexa ao processo Tomcat"]
C --> D["Hook setUserPassword<br/>Captura credenciais em texto claro"]
C --> E["Hook doFilter Catalina<br/>Inspeciona todo trafego HTTP inbound"]
D --> F["Credenciais AES+Base64<br/>Salvas em /tmp/.temp.data"]
E --> G["Módulos Java inbound<br/>Executados em memoria sob demanda"]
F --> H["Acesso a clientes do MSP<br/>Supply chain via credenciais válidas"]
G --> H
```
## Timeline
```mermaid
timeline
title VersaMem - Exploração e Descoberta
2024-06-03 : VersaMem compilado - bundle Maven criado
2024-06-07 : VersaMem carregado ao VirusTotal como VersaTest.png
: Zero deteccoes - totalmente evasivo
2024-06-12 : Primeira exploração identificada em servidores Versa EUA
: SOHO devices como proxy para acesso
2024-07-20 : Black Lotus Labs (Lumen) reporta vulnerabilidade ao Versa
2024-07-26 : Versa notifica clientes privativamente
2024-08-23 : CISA adiciona CVE-2024-39717 ao catalogo KEV
2024-08-27 : Versa Networks publica advisory - patch disponível
: Black Lotus Labs publica análise técnica completa
: 163 instancias Versa Director ainda expostas publicamente
2024-09 : MITRE ATT&CK registra VersaMem como S1154
: Campanha documentada: C0039 Versa Director Zero Day Exploitation
```
## TTPs MITRE ATT&CK
| Tática | Técnica | Uso |
|--------|---------|-----|
| Acesso inicial | [[t1190-exploit-public-facing-application\|T1190]] | CVE-2024-39717 no Versa Director GUI |
| Persistência | [[t1505-003-web-shell\|T1505.003]] | VersaMem como web shell em memoria |
| Acesso credencial | [[t1056-004-credential-api-hooking\|T1056.004]] | Hook em setUserPassword captura senhas em claro |
| Coleta | [[t1040-network-sniffing\|T1040]] | Hook em doFilter inspeciona requisicoes HTTP |
| Execução | [[t1059-command-and-scripting-interpreter\|T1059]] | JAR executado via Apache Tomcat JVM |
| Coleta | [[t1074-001-local-data-staging\|T1074.001]] | Credenciais armazenadas em /tmp/.temp.data |
| Evasão | [[t1027-013-encryptedencoded-file\|T1027.013]] | Credenciais cifradas AES antes de staging |
| Evasão | [[t1070-004-file-deletion\|T1070.004]] | Deleta arquivos temporarios de instalacao |
| Execução | [[t1129-shared-modules\|T1129]] | Javassist modifica bytecode de módulos Java em memoria |
| C2 | [[t1573-002-asymmetric-cryptography\|T1573.002]] | HTTPS para C2 dos dispositivos SOHO comprometidos |
| C2 | [[t1071-001-web-protocols\|T1071.001]] | Comúnicação via HTTPS porta 443 |
## Relevância LATAM/Brasil
O [[g1017-volt-typhoon|Volt Typhoon]] e o grupo chinese com foco mais declarado em pre-posicionamento estratégico em infraestrutura critica ocidental - explicitamente preparando capacidade para disruptiva sabotagem em caso de conflito. Para o Brasil:
- **MSPs e ISPs brasileiros com Versa Director**: Provedores de servicos gerenciados que utilizam Versa Director para entregar SD-WAN a clientes corporativos e governamentais sao alvos primarios da classe de ataque VersaMem; comprometimento de um MSP brasileiro poderia expor dezenas de organizacoes cliente
- **Infraestrutura de telecomúnicacoes**: O Volt Typhoon tem historico de comprometer infraestrutura de backbone de internet; o foco em ISPs e diretamente aplicavel a operadoras de Internet no Brasil
- **Governo e empresas com servicos gerenciados**: Orgaos federais e estaduais brasileiros que terceirizam gerenciamento de rede para MSPs com Versa Director devem considerar VersaMem como ameaça real a sua cadeia de fornecimento
- **CVE-2024-39717 em KEV**: A presenca no catalogo CISA KEV confirma exploração ativa - sistemas Versa Director nao atualizados para versao 22.1.4 permanecem vulneraveis
## Detecção
- **Patch urgente**: Atualizar Versa Director para versao 22.1.4 ou posterior; aplicar hardening de firewall e segmentacao de rede conforme documentacao Versa Networks
- **Porta 4566**: Bloquear acesso externo as portas 4566 e 4570 - essas portas sao destinadas exclusivamente a emparelhamento HA entre nos Versa e NUNCA devem estar expostas públicamente
- **Arquivo de credenciais**: Inspecionar `/tmp/.temp.data` em servidores Versa Director - presenca deste arquivo e indicador direto de comprometimento pelo VersaMem
- **Upload suspeito**: Verificar o diretorio `/var/versa/vnms/web/custom_logo/` por arquivos nao-PNG; executar `file -b --mime-type <arquivo.png>` - arquivos legítimos retornam `image/png`
- **Processos Java**: Monitorar processo Tomcat do Versa Director por carregamento incomum de bytecode em memoria; inspecionar via Java Management Extensions (JMX) por agentes de instrumentacao nao-autorizados
- **Trafego SOHO**: Alertar sobre sessoes TCP na porta 4566 originadas de dispositivos SOHO (IPs residenciais) seguidas de grandes sessoes HTTPS na porta 443 - assinatura documentada de exploração bem-sucedida
## Referências
- [MITRE ATT&CK - S1154 VersaMem](https://attack.mitre.org/software/S1154/)
- [Lumen Black Lotus Labs - Versa Director Zero Day (2024)](https://blog.lumen.com/uncovering-the-versa-director-zero-day-exploitation/)
- [The Hacker News - Volt Typhoon Versa Director (2024)](https://thehackernews.com/2024/08/chinese-volt-typhoon-exploits-versa.html)
- [HelpNet Security - CVE-2024-39717 Analysis (2024)](https://www.helpnetsecurity.com/2024/08/27/CVE-2024-39717-exploited/)
- [MITRE ATT&CK - Campaign C0039 (2024)](https://attack.mitre.org/campaigns/C0039/)