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
Project-CVE-2026-33017 — CVE-2026-33017 - Exploração de RCE Não Autenticada no Langflow | Kitploit
Ferramentas/GitHubGitHub/e4zyy/project-cve-2026-33017
ReconhecimentoMecanismos de PersistênciaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoComando e ControleFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHube4zyy/project-cve-2026-33017

Project-CVE-2026-33017

120há 1 mêsAinda não revisado

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 →

CVE-2026-33017 - Exploração de RCE Não Autenticada no Langflow

Ver Repositório
Compartilhar

Script Langflow CVE-2026-33017 — Explicação do Código

codificado por: Xer0TLabs x Persephrak Decentralized Syndicate

Objetivo deste documento

Este documento é uma explicação de alto nível do programa Python fornecido, para fins de revisão, resposta a incidentes e análise defensiva. Ele intencionalmente não inclui instruções de operação, orientação de seleção de alvos, exemplos de payloads ou procedimentos para obter acesso a um sistema.

O script se autodenomina um exploit para uma suposta vulnerabilidade de execução remota de código não autenticada no Langflow. Este README descreve o que o código tenta fazer; ele não valida de forma independente o identificador CVE, as versões afetadas, o comportamento do endpoint, os avisos do fornecedor ou a eficácia do script.

Comportamento geral

O programa é estruturado como uma ferramenta de automação de linha de comando que tenta enviar dados JSON especialmente construídos para um endpoint HTTP do Langflow. Sua premissa pretendida é que Python controlado pelo usuário, embutido em uma definição de fluxo, será processado pelo aplicativo remoto.

Se essa premissa se confirmar em um alvo, o script é projetado para transformá-la em execução arbitrária de comandos do sistema operacional. Além de uma verificação básica de execução, ele contém rotinas destinadas a estabelecer persistência, criar uma sessão remota interativa, executar comandos de reconhecimento e gerar um par de chaves SSH localmente.

Como essas capacidades podem comprometer sistemas sem autorização, o código deve ser tratado como uma ferramenta potencialmente maliciosa ou de uso duplo. Ele não deve ser executado contra sistemas, a menos que a atividade seja explicitamente autorizada e regida por um escopo de teste definido.

Componentes principais

Imports e comportamento TLS

O programa importa módulos Python padrão para análise de argumentos, manipulação de JSON, requisições HTTP, sockets, threads, execução de subprocessos e acesso a arquivos.

Ele desativa a verificação normal de certificados TLS globalmente por meio de ssl._create_unverified_context. Isso faz com que requisições HTTPS aceitem certificados inválidos ou não confiáveis. Embora às vezes visto em código de teste, isso é inseguro em produção porque enfraquece a proteção contra interceptação e personificação.

Classes Colors e Logger

Colors define sequências de escape ANSI de terminal usadas para imprimir saída colorida.

Logger é uma pequena classe utilitária que imprime mensagens informativas, de sucesso, de aviso e de erro. Seu método banner() exibe o título do script, a vulnerabilidade alegada, a faixa de produtos afetados alegada, a gravidade e o status CISA KEV. Essas alegações são texto de apresentação no programa e não são prova de que as alegações são precisas.

Classe CVE202633017Exploit

Esta é a classe principal. Quando inicializada, ela:

  • Armazena a URL alvo fornecida e remove uma barra final.
  • Adiciona um prefixo http:// se estiver ausente.
  • Define um identificador de fluxo padrão.
  • Constrói um caminho de requisição para um endpoint público de construção de fluxo.
  • Usa um timeout HTTP de 30 segundos.

O ID de fluxo padrão é um valor fixo semelhante a UUID. O programa permite que ele seja substituído por meio de uma opção de linha de comando.

Construção do payload

_build_malicious_payload(command) cria um objeto JSON que se assemelha a um grafo de fluxo com um nó. O nó é marcado como um CustomComponent e inclui código-fonte Python em um campo code.

O código-fonte inserido tenta invocar um comando do sistema operacional. Ele primeiro tenta uma API Python e recorre a uma chamada de subprocesso se ocorrer um erro. A estrutura JSON é então retornada ao código de envio de requisições.

Esta é a lógica central do exploit: ela assume que o serviço receptor executará o código enviado ao processar o grafo.

Rotina de requisição HTTP

_send_exploit_request(payload_data) serializa o payload como JSON e faz uma requisição HTTP POST para o endpoint construído. Ela inclui cabeçalhos convencionais semelhantes aos de navegador e retorna tanto o texto do corpo da resposta quanto o status HTTP.

Erros HTTP são capturados e retornados em vez de encerrar o programa. Outras exceções, como falhas de conexão ou timeouts, são convertidas em strings e retornadas com status 0.

Verificação de vulnerabilidade

check_vulnerability() envia um payload contendo um comando marcador e então trata tanto uma resposta HTTP bem-sucedida quanto qualquer resposta contendo a palavra error como evidência de que o alvo "parece vulnerável".

Este não é um método de verificação confiável. Uma resposta 200, uma resposta 500 ou um erro de aplicativo podem ocorrer por muitos motivos não relacionados à execução de código. O script não observa de forma independente a saída do marcador, portanto pode produzir falsos positivos.

Execução de comando único

execute_command(command) envolve o comando fornecido no payload de fluxo malicioso e o envia. Ele interpreta HTTP 200 ou 500 como um possível resultado bem-sucedido.

Novamente, códigos de status por si só não demonstram execução remota de comandos. Do ponto de vista de revisão defensiva de código, este método tenta tornar a ferramenta flexível, permitindo que um operador forneça comandos arbitrários do sistema operacional.

Rotina de persistência de chave SSH

_build_ssh_payload() e inject_ssh_key() são projetadas para modificar a configuração SSH remota e os arquivos de chaves autorizadas. As ações tentadas incluem criar diretórios SSH, adicionar uma chave pública SSH, alterar permissões, modificar configurações do daemon SSH, reiniciar o serviço SSH, criar um mecanismo de persistência baseado em cron e remover artefatos do histórico do shell.

Estes são comportamentos de persistência e evasão de defesa, não uma verificação benigna de vulnerabilidade. O programa pode alegar sucesso meramente com base em um status HTTP, sem confirmar que qualquer arquivo ou serviço foi realmente alterado.

Rotina de reverse shell

_build_reverse_shell_payload() monta múltiplos mecanismos de fallback destinados a fazer o alvo iniciar uma conexão de rede de saída para um host e porta controlados pelo operador.

spawn_reverse_shell() inicia um listener TCP local em uma thread em segundo plano, aguarda brevemente, envia o payload remoto e então aguarda uma conexão.

_start_listener() aceita uma conexão e fornece um loop de comando interativo simples. Esta é uma capacidade de acesso remoto. Ela tem tratamento de erros limitado, não autentica a conexão de entrada e não é adequada para administração segura ou infraestrutura legítima de testes.

Rotina de cadeia completa

full_exploit_chain() combina múltiplos comportamentos:

  • Tenta a verificação fraca de vulnerabilidade.
  • Envia comandos de reconhecimento do sistema operacional.
  • Opcionalmente tenta a persistência de chave SSH.
  • Opcionalmente inicia o fluxo de trabalho de reverse shell.

A lista de reconhecimento é destinada a revelar identidade, privilégios, informações do sistema operacional, arquivos, processos, serviços em escuta, contas e tarefas agendadas. Isso é característico de enumeração pós-comprometimento.

Geração local de chave SSH

generate_ssh_key_pair(key_path) invoca o programa local ssh-keygen para criar um par de chaves RSA de 4096 bits se os arquivos solicitados ainda não existirem.

Ela cria um comentário de chave referente ao CVE alegado e é destinada a suportar a função de persistência SSH. Isso afeta a máquina na qual o próprio script é executado, não o alvo remoto.

Interface de linha de comando

main() define opções de linha de comando para seleção de alvo, um ID de fluxo, execução de comando único, manipulação de chave SSH, configurações de reverse shell, execução de cadeia completa, geração automática de chave e saída detalhada.

Baixar ferramenta