Ícone do Lab

Pickle Jar

Você consegue explorar a desserialização insegura?

Médio Atualizado em 21 jun. 2026 Acesso Gratuito Solução (Pro)
Python Pickle Deserialization RCE Privilege Escalation Linux

A DataVault Inc. permite que usuários restaurem configurações de backup enviando arquivos .pkl. O serviço desserializa de forma confiante tudo o que você envia. Você consegue criar um pickle malicioso para obter um shell e escalar para root?

2
Flags
400
XP
45%
Taxa de Sucesso

A desserialização insegura é uma vulnerabilidade crítica de aplicações web que ocorre quando uma aplicação desserializa dados não confiáveis sem validação adequada. Em Python, o módulo pickle é uma biblioteca de serialização comum que é inerentemente insegura quando usada com dados fornecidos pelo usuário. A própria documentação do Python alerta explicitamente que o pickle nunca deve ser usado para desserializar dados de fontes não confiáveis, porém esse alerta é frequentemente ignorado em aplicações em produção, criando vulnerabilidades de segurança graves.

Entendendo a desserialização Python Pickle

O módulo pickle do Python serializa objetos em um fluxo de bytes e pode reconstruí-los posteriormente através da desserialização. O perigo está na capacidade do pickle de executar código arbitrário durante o processo de desserialização. Ao implementar o método __reduce__ em uma classe personalizada, um atacante pode definir funções e argumentos arbitrários que serão chamados quando o objeto for desserializado. Isso significa que um payload pickle malicioso pode executar comandos do sistema, estabelecer reverse shells ou realizar qualquer operação disponível para o usuário da aplicação - tornando-o um caminho direto para Execução Remota de Código (RCE).

Criando payloads Pickle maliciosos

Criar um exploit para uma vulnerabilidade de desserialização pickle envolve escrever uma classe Python com um método __reduce__ que retorna uma tupla contendo um callable (como os.system ou subprocess.Popen) e seus argumentos. Quando a aplicação desserializa esse objeto, o comando especificado é executado no servidor. Esta técnica é simples de implementar, exigindo apenas habilidades básicas de script Python, mas produz o impacto mais severo - execução de código arbitrário. A simplicidade do exploit torna a desserialização insegura particularmente perigosa.

Do RCE à comprometimento total do sistema

Após obter execução de código através da desserialização pickle, os atacantes tipicamente estabelecem um ponto de apoio mais estável através de reverse shells ou acesso SSH. A partir daí, técnicas de escalação de privilégios Linux - como explorar regras sudo mal configuradas, binários SUID ou arquivos de sistema graváveis - podem elevar o acesso até root. Entender a cadeia de ataque completa desde a desserialização insegura passando pela execução de código até a escalação de privilégios é essencial para profissionais de segurança que avaliam aplicações e serviços web baseados em Python.

O que você vai aprender

  • Compreender as vulnerabilidades de desserialização Python pickle e sua gravidade
  • Aprender a criar payloads pickle maliciosos usando o método __reduce__
  • Praticar a obtenção de Execução Remota de Código através de desserialização insegura
  • Explorar a enumeração de privilégios sudo em sistemas Linux
  • Desenvolver habilidades de escalação desde RCE de aplicação web até acesso root
  • Reconhecer alternativas seguras ao pickle para manipulação de dados serializados

Pré-requisitos

Basic Python scripting Web application fundamentals Linux command line Understanding of serialization concepts

Pronto para hackear este lab?

Crie uma conta gratuita e pratique cibersegurança.

Começar - É grátis
Comece Seu Desafio

Inicie sua máquina dedicada para começar a hackear

~1-2 min de configuração
Servidor dedicado
Instância privada
Potência padrão
Novo aqui? Veja o que fazer
1
Clique em "Start Lab" acima Você receberá sua própria máquina com um endereço IP
2
Explore o alvo Abra o IP no seu navegador e procure vulnerabilidades
3
Encontre e envie as flags Flags são textos secretos escondidos no sistema - cole-os abaixo para pontuar

Pronto para hackear este lab?

Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.

Começar a Hackear Grátis
13.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis