Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
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

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

há 9h 40mAinda 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 →
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.

O código realiza apenas validação limitada. Por exemplo, os modos de reverse shell e cadeia completa exigem um host e porta locais. Ele não valida autorização, escopo, propriedade do alvo, segurança da URL ou se o alvo é realmente uma instância do Langflow.

Preocupações de confiabilidade e qualidade do código

  • A verificação de vulnerabilidade não prova execução de código e pode rotular incorretamente um alvo como vulnerável.
  • O script desativa a verificação de certificados, expondo suas próprias requisições à interceptação.
  • Ele trata erros de servidor como possível sucesso, tornando os resultados ambíguos.
  • Vários módulos e variáveis importados não são usados ou são apenas parcialmente usados.
  • A variável encoded_key é calculada, mas nunca usada.
  • A lógica de persistência SSH assume caminhos, gerenciadores de serviços, permissões e layouts de configuração que podem não existir.
  • A construção de comandos e o uso de aspas são frágeis e podem falhar com caracteres especiais.
  • O listener de reverse shell é simplista, carece de autenticação e não é confiável para I/O interativo.
  • O fluxo de trabalho de cadeia completa envia ações potencialmente destrutivas ou altamente intrusivas sem confirmação robusta ou rollback.
  • O script não contém registro de auditoria, aplicação de escopo, limitação de taxa ou salvaguardas apropriadas para uma ferramenta de teste autorizada.

Relevância defensiva

Equipes de segurança que revisam este código devem tratar o seguinte como indicadores de tentativa de exploração ou atividade pós-comprometimento:

  • Atividade HTTP POST direcionada a um endpoint público de API de construção de fluxo.
  • Definições de fluxo contendo código-fonte inesperado de componentes personalizados.
  • Processos filhos iniciados pela conta de serviço do Langflow.
  • Modificações inesperadas em arquivos de chaves autorizadas SSH, configuração do daemon SSH, entradas cron ou arquivos de histórico do shell.
  • Conexões TCP de saída incomuns originadas do host Langflow.
  • Execução de comandos de descoberta do sistema pelo processo ou conta de serviço do Langflow.

Para decisões de remediação, confie nos avisos oficiais de segurança do Langflow, nas notas de versão e no processo de gerenciamento de vulnerabilidades da sua organização, em vez das declarações de versão e gravidade embutidas neste script.

Manuseio responsável

Não execute nem redistribua este programa como uma ferramenta de implantação ou acesso. Se ele foi encontrado em um sistema, preserve-o como evidência, registre hashes e timestamps, restrinja o acesso à cópia, inspecione os logs relevantes de serviço e rede e siga o processo de resposta a incidentes da organização.

Para uma avaliação legítima e autorizada, use um escopo por escrito, um plano de validação não destrutivo, uma condição de parada documentada e um relatório focado em remediação. Evite persistência, reverse shells, alterações de credenciais, exclusão de histórico ou qualquer ação que possa interromper sistemas ou deixar acesso não autorizado para trás.

Baixar ferramenta