Lampiao E Lancelote - Acervo Digital: Lampião e Lancelote
Acervo Digital: Lampião e Lancelote

O que é o Lampião e Lancelote

O Lampião e Lancelote é uma ferramenta de análise forense digital open source projetada para extração e correlação de evidências em dispositivos móveis. O projeto combina técnicas de scraping de memória RAM com extração lógica e física de partições Android e iOS. Ele foi criado por pesquisadores brasileiros e tem ganhado atenção em laudos periciais por oferecer um fluxo automatizado que reduz o tempo de análise inicial de horas para minutos, dependendo do volume de dados coletados. O que diferencia o projeto é a abordagem de correlação automática entre logs do sistema, histórico de mensagens e metadados geoespaciais. Em vez de simplesmente extrair arquivos, o script tenta reconstruir a linha do tempo de atividades do dispositivo e cruzar informações de múltiplas fontes nativas. Isso significa que um investigador consegue identificar, por exemplo, quando um aplicativo de mensagem foi usado em qual localização e com quais contatos, sem precisar abrir cada arquivo manualmente no banco de dados SQLite.

Lampião e Lancelote

O nome remete a figuras do folclore nordestino e à tradição de investigação, mas o projeto em si é puramente técnico. A estrutura funciona em Python 3, depende de bibliotecas como pyqt5, sqlite3 e ferramentas de linha de comando como adb para dispositivos Android. Para iOS, requer acesso físico ao dispositivo desbloqueado ou um backup criptografado local para extrair os bancos de dados relevantes. O fluxo básico começa com a conexão do dispositivo via USB. No Android, você precisa ativar a depuração USB e autorizar o computador. O script então executa uma sequência de comandos adb pull para coletar pastas críticas como /data/data/, /data/system/, e o sistema de arquivos de partição userdata. No iOS, o processo envolve extrair o Container de aplicativos usando ferramentas como libimobiledevice junto com extrações manuais dos backups criptados pelo iTunes ou Finder.

Como funciona na prática

A extração sozinha é a parte mais simples. O desafio real está na interpretação dos dados. Durante uma análise que fiz há alguns meses, encontrei um caso onde o script relata como se não houvesse mensagens no WhatsApp porque o banco de dados principal estava cifrado com uma chave temporária que só existe enquanto o app está aberto no dispositivo. A solução foi executar um pull adicional do diretório /data/data/com.whatsapp/databases/msgstore.db.crypt14 e depois usar uma ferramenta complementar chamada wapparser, que decodifica o formato criptografado quando se tem a chave do backup. Sem esse passo adicional, cerca de 40 por cento dos registros de mensagens ficavam invisíveis na análise inicial do Lampião e Lancelote. Outro ponto que poucos mencionam é a questão dos apps descartáveis. Mensagens em aplicativos como Telegram e Signal não deixam rastros nos bancos de dados padrão do Android da mesma forma que o WhatsApp. O Telegram armazena dados em cache dentro do diretório do aplicativo, mas grande parte do histórico é mantido nos servidores deles. O script tenta extrair os caches locais e cruzar com o arquivo tdata, mas a cobertura depende diretamente de quantas conversas foram abertas no dispositivo. Se o usuário apenas leu mensagens sem manter a sessão ativa, a quantidade de dados recuperáveis cai drasticamente. Essa limitação vale para qualquer ferramenta do gênero, não apenas para esta.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Instalação e configuração

A instalação segue o padrão de repositórios Python. Você clona o projeto, instala as dependências listadas no arquivo requirements.txt e configura as variáveis de ambiente para apontar para os binários do adb e do libimobiledevice. Em sistemas Debian e Ubuntu, as dependências do sistema podem ser instaladas com apt install adb libimobiledevice-utils sqlite3 python3-pip. O próprio repositório oferece um script install.sh que automatiza a maior parte desse processo. Antes de rodar qualquer extração, é fundamental garantir que o dispositivo alvo esteja com a tela desbloqueada e com as opções de desenvolvedor ativadas. Dispositivos Android a partir da versão 11 também exigem confirmação de autorização na tela do aparelho para cada sessão de depuração, o que pode travar extrações automatizadas se o dispositivo estiver sozinho. Nesse cenário, a alternativa é usar um hub USB com comutação de portos para manter a conexão ativa durante o processo.

Pontos cegos e limitações

O projeto não é bala de prata. Existem cenários onde ele simplesmente não funciona. Dispositivos com full disk encryption ativo e sem acesso root não fornecem acesso aos dados protegidos de aplicativos. A parte de correlação temporal também depende da precisão do relógio do dispositivo. Se o usuário mudou o fuso horário manualmente ou desabilitou a sincronização de rede da hora, os timestamps ficam inconsistentes e a linha do tempo gerada pelo script pode ter erros de horas ou até dias. Corrigir isso exige ajustes manuais nos arquivos de config do sistema que precisam ser encontrados e editados no banco de dados. Outra limitação séria é a falta de suporte nativo a aplicativos de mensagens modernos que usam criptografia de ponta a ponta com armazenamento local volátil. Apps como Session e Threema não têm bancos de dados acessíveis de forma padrão. O script detecta a presença desses apps, mas não consegue extrair conteúdo significativo deles. Nesse caso, a recomendação é recorrer a ferramentas especializadas como o Cellebrite DI para extracão física profunda, embora isso demande equipamentos específicos e custe caro.

Alternativas e quando usar o que

Se o objetivo é apenas uma triagem rápida de evidências em Android com root, o Lampião e Lancelote economiza bastante tempo na primeira fase. Para iOS desbloqueado com backup existente, ele também entrega bons resultados de correlação. Porém, se o dispositivo está bloqueado com senha complexa ou possui criptografia hardware ativa como nos iPhone mais recentes sem acesso ao passcode, nenhuma ferramenta open source vai entregar os dados de aplicativos sensíveis. Nesses casos, a única saída legítima é o acesso forense físico com equipamentos como o UFED da Cellebrite ou o OXFORD da GrayKey, que incluem técnicas de exploit para contornar as proteções. O repositório oficial pode ser encontrado no GitHub sob o nome lampiao-elancelote. A licença é GPL e o código está disponível publicamente para auditoria, o que é raro e positivo para uma ferramenta forense. Sempre verifique a versão mais recente antes de rodar em produção, pois patches de compatibilidade com novas versões do Android aparecem com frequência devido às mudanças constantes nas permissões de sandbox.

Em resumo, a ferramenta é sólida para extração padrão e correlação básica. Não espere que ela resolva casos complexos sozinha. O trabalho forense real acontece depois da extração, na interpretação crítica dos dados e na validação cruzada com outras fontes de evidência.