Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/rpscripts/fivem-backdoor-scanner
Herramientas DefensivasAnálisis EstáticoEscáneres de VulnerabilidadesAnálisis de CódigoScripting y AutomatizaciónAnálisis de MalwareDevSecOpsDetección de SecretosSeguridad de Cadena de Suministro

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubrpscripts/fivem-backdoor-scanner

fivem-backdoor-scanner

Encuentra puertas traseras en recursos de FiveM antes de iniciarlos: cargadores ocultos, load() remoto, payloads ofuscados, tokens filtrados. CLI, paso de CI, biblioteca.

Ver RepositorioSitio web
136hace 3 díasAún no revisado
Compartir

Escáner de backdoors para FiveM

Comprueba los recursos de FiveM en busca de backdoors antes de iniciarlos. Lee los archivos .lua y .js, analiza el Lua y busca los patrones que utilizan los backdoors conocidos de FiveM: un cargador oculto tras miles de espacios, código descargado por HTTP y pasado a load(), payloads ofuscados, lecturas de tu clave de licencia o contraseña RCON, y tokens dejados en los archivos. También marca ejecutables y rutas inseguras en un paquete.

No se ejecuta nada ni se sube nada. Las mismas reglas que la versión de navegador gratuita en RPScripts, que además acepta un ZIP o una carpeta de servidor completa mediante arrastrar y soltar.

Uso

Node.js 18 o superior. No requiere instalación:

npx github:rpScripts/fivem-backdoor-scanner ./resources

Escanea un único recurso, varias carpetas, un ZIP (hasta 300 MB), u obtén JSON para tus propias herramientas:

npx github:rpScripts/fivem-backdoor-scanner ./resources/[shops]/my_shop ./resources/[jobs]
npx github:rpScripts/fivem-backdoor-scanner ./downloaded-pack.zip
npx github:rpScripts/fivem-backdoor-scanner ./resources --json > report.json

Código de salida 0 = no se encontró nada, 1 = hallazgos, 2 = uso incorrecto, 3 = no se pudo ejecutar un escaneo (ruta faltante, ZIP que no es legible o que supera los 300 MB). Eso lo hace utilizable como un paso de CI:

# .github/workflows/backdoor-scan.yml
on: [push, pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - run: npx --yes github:rpScripts/fivem-backdoor-scanner ./resources

Qué comprueba

CódigoGravedadEncuentra
LAB-SEC-107errorCódigo desplazado fuera de la vista tras más de 400 espacios o tabulaciones (el truco del cargador de una conocida familia de puertas traseras)
LAB-SEC-101advertenciaload() / loadstring() sobre el cuerpo de una respuesta HTTP
LAB-SEC-102advertenciaload() sobre texto decodificado en tiempo de ejecución (string.char, bytes escapados, decodificadores base64/hex)
LAB-SEC-103advertenciaDatos ofuscados: cadenas largas de bytes escapados, base64/hex de más de 400 caracteres, listas largas de string.char
LAB-SEC-104advertenciaLee sv_licenseKey, rcon_password, sv_tebexSecret o la cadena de MySQL en un archivo que envía HTTP
LAB-SEC-105advertenciaPeticiones HTTP a una IP pública sin procesar o a una dirección decodificada en tiempo de ejecución
LAB-SEC-106advertenciaos.execute, io.popen, escrituras fuera del propio recurso, SaveResourceFile en otros recursos
LAB-SEC-108advertenciaUn token de bot de Discord con forma real, un webhook de Discord, una clave de licencia de Cfx o un token de GitHub en los archivos
LAB-PKG-004advertencia.exe, .dll, .bat, .cmd, .ps1, .sh, .vbs, .jar, .scr en una carpeta o archivo comprimido (se espera .dll junto a un *.net.dll, un recurso de C#)
LAB-PKG-005advertenciaEntrada de archivo comprimido con .., una ruta absoluta o una letra de unidad: extraerla puede escribir fuera de la carpeta de destino

Las advertencias son patrones, no pruebas: un logger de webhook puede llamar legítimamente a una IP sin procesar. Lee la línea reportada y decide. Un error (LAB-SEC-107) significa tratar el paquete como comprometido. Cada hallazgo incluye severity, confidence, method, un texto de corrección y referencias; los textos están en rules/catalog.json, las versiones en rules/CHANGELOG.md. Los códigos de regla nunca cambian de significado.

Veredictos

  • hidden: se encontró código oculto.
  • suspicious: al menos una advertencia.
  • partial: no se encontró nada, pero algunos archivos no pudieron comprobarse por completo (carpetas .fxap cifradas con escrow, Lua compilado, Lua que no se pudo analizar, JavaScript donde solo se ejecutan las comprobaciones de texto, archivos de más de 2 MB, archivos comprimidos dentro de la subida).
  • clean: todos los archivos Lua se analizaron y comprobaron, no se encontró nada.

Los hallazgos siempre prevalecen sobre la cobertura. Un resultado limpio cubre solo estos patrones. No demuestra que un recurso sea seguro.

Límites

  • El código protegido con escrow solo puede leerlo FXServer, por lo que ningún escáner puede comprobarlo.
  • Las comprobaciones de Lua necesitan un análisis sintáctico. Se admite la sintaxis de CfxLua (+=, ?., <const>, hashes con comillas invertidas, /* */).
  • JavaScript recibe las comprobaciones de código oculto y credenciales, no las reglas de Lua.
  • Los archivos comprimidos dentro de un ZIP (.zip, .rar, .7z) se listan, no se descomprimen. Solo se lee .zip.
  • 2 MB por archivo y 120 MB de código en total. Las entradas ZIP cuya cabecera, tamaño o CRC no coincidan con el directorio central, o que un extractor escribiría con otro nombre, se reportan como ilegibles, nunca como limpias.
  • node_modules y .git se omiten en un escaneo de carpeta. Las carpetas stream se escanean.

Uso como biblioteca

import { scanFiles, scanPath, securityRules } from "fivem-backdoor-scanner";

const one = securityRules("server.lua", source); // { findings, parsed }
const report = await scanPath("./resources"); // folder, ZIP or file
const inMemory = scanFiles({ "server.lua": source });
console.log(report.verdict, report.findings);

Contribución

¿Encontraste una puerta trasera que el escáner pasa por alto, o un falso positivo en un recurso conocido? Abre un issue con el patrón (nunca un payload activo ni un token); consulta CONTRIBUTING.md. Para reportar una familia sin publicarla, consulta SECURITY.md.

git clone https://github.com/rpScripts/fivem-backdoor-scanner.git
cd fivem-backdoor-scanner && npm ci && npm test

Mantenido por RPScripts. Licencia MIT. El software se proporciona "tal cual", sin garantía de ningún tipo.

Descargar herramienta