Scanner de backdoors FiveM
Encontre o código que um resource vazado ou modificado não deveria ter: loaders escondidos atrás de espaços, código baixado e executado via HTTP, payloads ofuscados e leituras da sua chave de licença. Os seus arquivos nunca saem do seu navegador.
Solte o ZIP de um resource ou de um servidor
Um resource, uma pasta [categoria] ou a sua pasta resources inteira, até 300 MB. Todo arquivo Lua e JS é verificado.
A análise roda no seu navegador. Nenhum arquivo é enviado à RPScripts.
O que o scanner de backdoors verifica
- Código depois de uma longa sequência de espaços: um loader anexado a uma linha normal, invisível em qualquer editor (em arquivos Lua e JS).
- load() ou loadstring() sobre o corpo de uma resposta HTTP: quem controla esse servidor web pode executar qualquer código no seu.
- load() sobre texto que só é decodificado em tempo de execução: listas string.char, bytes escapados ou decodificadores base64.
- Strings longas ofuscadas: bytes escapados, blocos base64 ou hexadecimais e listas longas de string.char.
- Leituras de sv_licenseKey, rcon_password ou sv_tebexSecret, e da string de conexão do banco de dados em um arquivo que também envia requisições HTTP.
- Requisições HTTP para endereços IP diretos ou para endereços que só são decodificados em tempo de execução.
- os.execute e io.popen, gravações fora do resource e SaveResourceFile em outros resources.
- Executáveis (.exe, .bat, .ps1 …) e entradas de arquivo compactado que seriam extraídas fora da sua pasta.
Como um backdoor chega a um servidor FiveM
A maioria dos backdoors chega dentro de um resource: uma cópia vazada ou "grátis" de um script pago ou um pack de servidor que circula no Discord. O código visível funciona como prometido, então nada parece errado.
A carga costuma ser pequena. Um padrão comum empurra um loader milhares de espaços para a direita de uma linha normal, onde nenhum editor o mostra; outro baixa código com PerformHttpRequest e executa a resposta com load(). Assim que roda, ele pode se copiar para os seus outros resources com SaveResourceFile, por isso um script infectado raramente é o único.
O que um resultado significa
Código escondido atrás de espaços é o único achado sem uso legítimo. Trate esses arquivos como comprometidos.
Os outros achados são pistas, não veredictos. Um anticheat pode ler convars, um script de logs pode chamar um IP direto e algumas bibliotecas trazem dados em base64. Leia a linha marcada e decida.
Um resultado limpo significa que nenhum desses padrões foi encontrado nos arquivos que o scanner conseguiu ler. Ele não consegue ler código criptografado por escrow nem Lua compilado, e uma técnica nova de ofuscação pode passar pelas verificações de padrões. A lista "Não verificado" mostra exatamente o que ficou de fora.
Se o scanner encontrar um backdoor
- Pare o servidor, ou pelo menos o resource afetado.
- Analise a pasta resources inteira, não só o resource suspeito: o backdoor pode ter se copiado.
- Substitua os resources infectados por uma cópia limpa do autor original em vez de apagar linhas soltas.
- Troque sv_licenseKey (Cfx.re Portal), rcon_password, o seu segredo do Tebex, a senha do banco de dados e qualquer token de bot ou webhook do Discord nos seus arquivos.
- Confira no server.cfg e no txAdmin os admins e as linhas add_ace ou add_principal que você não adicionou, e no banco de dados os grupos de admin desconhecidos.
- Analise de novo antes de iniciar o servidor.
Perguntas frequentes
- Os meus arquivos são enviados?
- Não. O scanner lê o ZIP ou a pasta no seu navegador e executa cada verificação ali. Nada é enviado à RPScripts.
- Posso analisar o meu servidor inteiro?
- Sim. Escolha a sua pasta resources ou compacte-a em ZIP (até 300 MB). Todo arquivo Lua e JS de até 2 MB é verificado, até 120 MB de código no total. Assets de streaming como arquivos .ytd ou .yft não são código e são ignorados.
- Ele verifica resources protegidos por escrow?
- Não. O escrow da Cfx criptografa os arquivos protegidos e só o FXServer consegue descriptografá-los. O scanner verifica os arquivos que o resource deixa legíveis e lista as pastas com escrow em "Não verificado".
- Um resultado limpo garante que o meu servidor está seguro?
- Não. O scanner procura os padrões que backdoors conhecidos usam. Ele não consegue julgar código criptografado ou compilado e não substitui obter resources do autor original e manter os seus segredos privados.
- O scanner de backdoors é grátis?
- Sim. Não precisa de conta e não tem limite de análises.
Teste um resource antes de instalar
O FiveM Script Tester executa as mesmas verificações de segurança em um resource, além do manifest, do Lua, da API do framework e dos events, e o roda em um sandbox CfxLua.
O guia da Cfx.re sobre segurança do servidor explica como proteger os seus próprios events.
Mais ferramentas gratuitas
- Testador de scripts FiveMVerifique, simule e depure um recurso FiveM antes de instalá-lo.
- Criador e verificador de server.cfgInterface em inglêsCrie uma configuração de servidor ou verifique suas configurações atuais.
- Configurador de servidor FiveMEscolha framework, tipo de servidor, recursos e orçamento: um pack adequado ou um conjunto de scripts compatíveis.