← back
CVE-2022-39197mediumunder attackCWE-79

CVE-2022-39197

80Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 6.1epss 46%
from disclosure to weapon0 days
Published on NVDSep 22
1st PoCJul 17
CISA KEV+189d
exploitation probability
46%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
22 public exploit(s)
Action required by CISAfederal deadline: 2023-04-20

Apply updates per vendor instructions.

Summary

Vulnerabilidade de Cross-Site Scripting (XSS) no Cobalt Strike Teamserver, presente em todas as versões até a 4.7 (inclusive). Um atacante que controla o campo username de um payload/beacon pode injetar HTML/script que é processado pelo teamserver, abrindo caminho para execução de código no lado do operador. Está no catálogo KEV da CISA com exploração confirmada, o que eleva a prioridade mesmo com CVSS moderado (6.1).

Technical detail

A falha (CWE-79, classificada pela CISA também com CWE-20 de validação de entrada insuficiente) está na forma como o Teamserver do Cobalt Strike processa e exibe metadados de configuração do Beacon — especificamente o campo username incorporado no payload. Esse campo é normalmente preenchido automaticamente pelo sistema operacional da máquina comprometida (o usuário sob o qual o Beacon está executando), mas nada impede que um atacante extraia a configuração de um payload existente, edite esse campo manualmente e reinjete a configuração modificada.

Como o teamserver renderiza esse valor em sua interface (provavelmente em logs, listagem de sessões ou console de operador) sem sanitização adequada, uma string malformada contendo HTML/JavaScript é interpretada e executada no contexto da interface do teamserver, e não apenas exibida como texto.

O atacante controla integralmente o conteúdo do campo username em um payload arbitrário — não precisa comprometer uma máquina real para isso, basta ter acesso a um payload gerado (ou a exemplos publicamente disponíveis) e a capacidade de modificar seus bytes de configuração antes de o Beacon se conectar ao teamserver.

How it’s exploited

O vetor exige que o atacante primeiro obtenha ou gere um payload do Cobalt Strike, extraia a configuração embutida e altere o campo username para um valor malformado contendo o payload XSS. Esse payload de configuração modificado então precisa fazer o Beacon se conectar (check-in) a um teamserver, momento em que o teamserver processa e renderiza o campo malicioso.

O pré-requisito prático mais relevante é que o alvo é o operador do teamserver (o red teamer ou o atacante que administra a infraestrutura C2), não uma vítima final da campanha — ou seja, é um ataque de "atacante contra atacante": quem cria/manipula o payload ataca quem opera o servidor que recebe a conexão. Isso é significativo no contexto de teamservers Cobalt Strike crackeados/piratas usados por grupos de crime, onde outro operador ou pesquisador pode injetar um payload malformado para comprometer o console de quem está gerenciando aquela infraestrutura maliciosa.

A interação do usuário (UI:R no vetor CVSS) reflete a necessidade de o operador visualizar a sessão/log onde o campo malformado é renderizado. A CISA descreve o resultado final como possibilidade de execução remota de código, indicando que o XSS pode ser encadeado para ações além da simples injeção de script na interface — não há detalhamento público de exploit completo aqui, apenas o mecanismo confirmado.

Versions

Affected
Cobalt Strike através da versão 4.7 (inclusive), conforme descrição oficial e CISA KEV.
Fixed in
Cobalt Strike 4.7.1, lançada como atualização out-of-band específica para esta correção.

How to protect

Atualizar para a versão 4.7.1 ou posterior do Cobalt Strike, lançada como correção fora do ciclo normal ("out-of-band update") especificamente para este problema. Não há paliativo de configuração documentado nas fontes disponíveis — a correção está no código de sanitização/renderização do teamserver, então versões anteriores a 4.7.1 permanecem expostas independentemente de configuração.

Como controle compensatório, restringir e monitorar quem tem acesso ao teamserver e à revisão de payloads/configurações de Beacon antes de aceitá-los como legítimos reduz a superfície, mas não elimina a falha em si — o ataque ocorre no momento em que o teamserver processa a configuração recebida.

Não há mitigação via WAF aplicável, já que o vetor não é HTTP tradicional voltado a usuários web, mas processamento interno de configuração de Beacon pelo teamserver.

How to detect

Não há assinatura de rede tradicional a procurar, já que o vetor é o conteúdo do campo username dentro da configuração de um Beacon/payload, não tráfego HTTP anômalo isolado. Analistas devem inspecionar configurações extraídas de payloads Cobalt Strike (via ferramentas de parsing de configuração de Beacon) buscando valores de username com caracteres de marcação HTML/JavaScript (``, `script`, event handlers) em vez de nomes de usuário plausíveis do sistema operacional — presença desses padrões é forte indicativo de tentativa de exploração ou de payload malformado propositalmente.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
An XSS (Cross Site Scripting) vulnerability was found in HelpSystems Cobalt Strike through 4.7 that allowed a remote attacker to execute HTML on the Cobalt Strike teamserver. To exploit the vulnerability, one must first inspect a Cobalt Strike payload, and then modify the username field in the payload (or create a new payload with the extracted information and then modify that username field to be malformed).
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.