Scanner Python para detectar e remover backdoors em servidores FiveM
Protege seu servidor contra código malicioso, arquivos JavaScript ofuscados e injeções em arquivos de configuração.
Desenvolvido com ❤️ por Ryu Garage
- 🔎 Detecção Automática: Escaneia recursivamente todo o diretório do servidor
- 🛡️ Múltiplos Padrões: Detecta código XOR ofuscado, arquivos suspeitos e injeções em
fxmanifest.lua - 🧹 Limpeza Inteligente: Remove apenas código malicioso, preservando arquivos legítimos
- 📊 Relatórios Detalhados: Gera relatórios completos de todas as detecções
- ⚙️ Modo Interativo e Automático: Escolha como deseja executar a limpeza
- 🔒 Seguro: Não modifica arquivos legítimos, apenas remove código malicioso
- Padrão:
x=(e,k=3)=>[...e].map(c=>String.fromCharCode(c.charCodeAt()^k)) - Padrão alternativo:
x=s=>eval(s.replace(/\\u([0-9a-f]{4})/g,...)) - Execução maliciosa:
globalThis[x("fubo")]
- Arquivos ocultos (nomes começando com ponto):
.eventHandler.js,.snapshot.js,.env.js - Arquivos que tentam se passar por arquivos do Git:
gitignore.js,gitattributes.js,gitconfig.js
- Linhas maliciosas com padrão:
--[[server.lua]]seguido de muitos espaços e arquivo.js - Exemplo:
--[[server.lua]] 'temp/.env.local.js'
Antes de usar o scanner, certifique-se de ter:
- ✅ Python 3.6 ou superior instalado
- Verifique se está instalado:
python --versionoupython3 --version - Se não tiver, baixe em: https://www.python.org/downloads/
- Importante: Durante a instalação, marque a opção "Add Python to PATH"
- Verifique se está instalado:
- ✅ Windows (para usar os arquivos
.bat) ou qualquer sistema com Python - ✅ Acesso de leitura/escrita ao diretório do servidor
- ✅ Permissões administrativas (recomendado, para poder deletar arquivos protegidos)
O scanner DEVE estar na pasta raiz do servidor FiveM, no mesmo nível das pastas resources, artifacts, teste, etc.
Por quê? O scanner escaneia a pasta pai (onde está resources, artifacts, etc.), por isso ele precisa estar na pasta raiz do servidor.
E:\Bases\ ← PASTA RAIZ DO SERVIDOR
├── resources\ ← Pasta de recursos
├── artifacts\ ← Pasta de artefatos
├── teste\ ← Outras pastas do servidor
├── server.cfg ← Arquivos de configuração
├── server.bat ← Scripts do servidor
└── scanner_backdoor\ ← 📁 PASTA DO SCANNER (AQUI!)
├── scan_backdoor.py
├── scan_backdoor.bat
├── scan_backdoor_auto.bat
├── scan_backdoor_auto_delete.py
├── README.md
└── INSTRUCOES.txt
E:\Bases\
├── resources\
│ └── scanner_backdoor\ ← ❌ ERRADO! Não coloque aqui
-
Baixe ou clone este repositório
- Se baixou como ZIP, extraia o arquivo
- Se clonou, você já tem a pasta
scanner_backdoor
-
Mova a pasta
scanner_backdoorpara a pasta raiz do seu servidor FiveM- A pasta raiz é onde estão as pastas
resources,artifacts,server.cfg, etc. - IMPORTANTE: A pasta
scanner_backdoordeve estar no mesmo nível que a pastaresources - Não coloque dentro de
resourcesou em qualquer outra pasta
- A pasta raiz é onde estão as pastas
-
Verifique se Python está instalado:
python --version # ou python3 --version- Se aparecer um erro, instale o Python primeiro
-
Teste o scanner (opcional):
cd scanner_backdoor python scan_backdoor.py --dry-run
Se seu servidor está em C:\FiveM\MeuServidor\, a estrutura deve ser:
C:\FiveM\MeuServidor\
├── resources\
├── artifacts\
├── server.cfg
└── scanner_backdoor\ ← Coloque aqui!
├── scan_backdoor.py
└── scan_backdoor.bat
-
O scanner detecta sua localização: Quando você executa o script, ele identifica que está dentro da pasta
scanner_backdoor -
Escaneia a pasta pai: O scanner sobe um nível (pasta pai) e escaneia tudo que está lá, incluindo:
resources/(e todas as subpastas)artifacts/(e todas as subpastas)teste/(e todas as subpastas)- Qualquer outra pasta no mesmo nível
-
Detecta padrões maliciosos: Procura por:
- Código XOR ofuscado em arquivos
.js - Arquivos com nomes suspeitos (começando com ponto ou imitando arquivos Git)
- Linhas maliciosas em arquivos
fxmanifest.lua
- Código XOR ofuscado em arquivos
-
Gera relatório: Cria um arquivo de relatório na pasta raiz do servidor com todos os achados
-
Remove (se confirmado): Deleta arquivos maliciosos e limpa linhas suspeitas de
fxmanifest.lua
-
Navegue até a pasta
scanner_backdoor:cd scanner_backdoor -
Execute o scanner (escolha um dos modos abaixo)
-
Aguarde o scan terminar - O scanner mostrará o progresso
-
Revise os resultados - Veja o relatório gerado
Este é o modo mais seguro, pois pergunta antes de cada ação.
Windows:
# Opção 1: Duplo clique no arquivo
scan_backdoor.bat
# Opção 2: Pelo terminal
cd scanner_backdoor
scan_backdoor.batLinux/Mac:
cd scanner_backdoor
python scan_backdoor.pyO que acontece:
- ✅ O scanner inicia e mostra um banner
- ✅ Escaneia todo o diretório raiz do servidor (onde está a pasta
scanner_backdoor) - ✅ Mostra arquivos maliciosos encontrados (se houver)
- ✅ Mostra linhas maliciosas em
fxmanifest.lua(se houver) - ✅ Pergunta antes de deletar cada arquivo: "Deseja deletar [arquivo]? (s/n)"
- ✅ Pergunta antes de limpar cada
fxmanifest.lua: "Deseja limpar [arquivo]? (s/n)" - ✅ Remove apenas o que você confirmar
- ✅ Gera relatório detalhado na pasta raiz do servidor
Vantagens:
- Você tem controle total sobre o que é deletado
- Pode revisar cada arquivo antes de remover
- Mais seguro para uso em produção
Este modo remove automaticamente tudo que encontrar, sem perguntar.
Windows:
# Opção 1: Duplo clique no arquivo
scan_backdoor_auto.bat
# Opção 2: Pelo terminal
cd scanner_backdoor
scan_backdoor_auto.batLinux/Mac:
cd scanner_backdoor
python scan_backdoor_auto_delete.pyO que acontece:
- ✅ O scanner inicia e mostra um banner
- ✅ Escaneia todo o diretório raiz do servidor
- ✅ Mostra arquivos maliciosos encontrados
- ✅ Deleta automaticamente todos os arquivos maliciosos encontrados
- ✅ Remove automaticamente todas as linhas maliciosas de
fxmanifest.lua - ✅ Gera relatório detalhado
- Este modo NÃO PERGUNTA antes de deletar
- Use apenas se tiver certeza do que está fazendo
- SEMPRE faça backup antes de usar este modo
- Recomendado apenas para uso após testar com o modo interativo
Este modo apenas simula o scan, sem fazer nenhuma alteração. Perfeito para testar!
Como usar:
cd scanner_backdoor
python scan_backdoor.py --dry-run
# ou
python scan_backdoor.py -nO que acontece:
- ✅ Escaneia todo o diretório
- ✅ Mostra o que seria deletado (mas não deleta)
- ✅ Mostra o que seria limpo (mas não limpa)
- ✅ Gera relatório mostrando o que seria feito
- ✅ Nenhum arquivo é modificado ou deletado
Quando usar:
- Para testar o scanner pela primeira vez
- Para verificar se há backdoors sem fazer alterações
- Para revisar o que seria removido antes de executar de verdade
scanner_backdoor/
├── scan_backdoor.py # Script Python principal
├── scan_backdoor.bat # Executável Windows (modo interativo)
├── scan_backdoor_auto.bat # Executável Windows (modo automático)
├── scan_backdoor_auto_delete.py # Script Python (modo automático)
├── README.md # Este arquivo
├── README_SCANNER.md # Documentação técnica completa
└── INSTRUCOES.txt # Instruções rápidas
O scanner gera relatórios em formato texto com:
- Data e hora da varredura
- Diretório escaneado
- Número de arquivos e diretórios verificados
- Lista completa de arquivos maliciosos encontrados
- Arquivos
fxmanifest.luacom linhas maliciosas - Resultado da remoção/limpeza
Formato do arquivo: relatorio_scan_YYYYMMDD_HHMMSS.txt
Você pode personalizar o scanner editando scan_backdoor.py:
# Extensões de arquivo para verificar
CHECK_EXTENSIONS = ['.js', '.lua']
# Pastas para ignorar
IGNORE_PATHS = [
'node_modules',
'.git',
'__pycache__',
'.vscode',
'.idea',
]
# Tamanho máximo de arquivo para verificar (em bytes)
MAX_FILE_SIZE = 50000 # 50KBO scanner:
- ✅ Não modifica arquivos legítimos
- ✅ Apenas detecta padrões específicos de backdoor
- ✅ Gera relatório antes de deletar
- ✅ Pode ser executado em modo dry-run para simulação
- ✅ Remove apenas linhas maliciosas de
fxmanifest.lua, preservando o resto do arquivo
- Backup: Sempre faça backup antes de executar o scanner
- Modo Automático: O modo automático deleta arquivos sem confirmação
- Permissões: Alguns arquivos podem requerer permissões administrativas
- Teste Primeiro: Execute em modo dry-run antes de usar em produção
# Verifique se Python está instalado
python --version
# Se não estiver instalado, baixe em: https://www.python.org/- Execute como administrador (Windows)
- Use
sudo(Linux/Mac)
- Verifique se o arquivo não está em uso
- Feche editores que possam estar usando o arquivo
- Tente executar como administrador
- Verifique se o arquivo não está com permissões de somente leitura
- Verifique se o scanner está na pasta raiz do servidor
- A pasta
scanner_backdoordeve estar no mesmo nível queresources,artifacts, etc. - Não deve estar dentro de
resourcesou qualquer outra pasta
- A pasta
- Certifique-se de que está executando a partir da pasta
scanner_backdoor- Use
cd scanner_backdoorantes de executar
- Use
- O scanner escaneia a pasta pai (onde está
resources,artifacts, etc.)- Se você colocar o scanner em outro lugar, ele não vai escanear o servidor corretamente
- Verifique se o caminho está correto:
# No Windows, verifique onde você está: cd # Deve mostrar algo como: E:\Bases\LongBeach\scanner_backdoor
python scan_backdoor.py "C:\caminho\para\servidor"python scan_backdoor.py
# O scanner perguntará antes de cada açãopython scan_backdoor_auto_delete.py
# Remove automaticamente tudo que encontrarContribuições são bem-vindas! Sinta-se à vontade para:
- Reportar bugs
- Sugerir novas funcionalidades
- Enviar pull requests
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido para proteger servidores FiveM contra backdoors e código malicioso.
🔗 Links Úteis:
Proteção e Segurança para Servidores FiveM
Desenvolvido com ❤️ para a comunidade FiveM
⭐ Se este projeto foi útil, considere dar uma estrela!