Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-59712_CVE-2025-59713 — # Exploit PoC do Snipe-IT para CVE-2025-59712 e CVE-2025-59713 | Kitploit
Ferramentas/GitHubGitHub/synacktiv/cve-2025-59712_cve-2025-59713
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubsynacktiv/cve-2025-59712_cve-2025-59713

CVE-2025-59712_CVE-2025-59713

# Exploit PoC do Snipe-IT para CVE-2025-59712 e CVE-2025-59713

Ver Repositório
2348há 0 anosAinda não revisado

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 →
Compartilhar

PoC para CVE-2025-59712 e CVE-2025-59713

Este PoC fornece um script automatizado para explorar CVE-2025-59712 (XSS no cabeçalho User-Agent) e CVE-2025-59713 (desserialização insegura).

Contexto

Estas duas vulnerabilidades foram descobertas pela Synacktiv durante uma pesquisa de vulnerabilidades no software Snipe-IT. O Snipe-IT é um sistema de gestão de ativos open-source baseado em Laravel, projetado para ajudar organizações a rastrear e gerir seus ativos físicos e digitais.

Um artigo técnico pode ser encontrado no aviso de segurança dedicado no site da Synacktiv.

Modos

Este script fornece três subcomandos, correspondentes aos modos de exploração: xss, rce e fullchain.

XSS

Este subcomando explora a CVE-2025-59712, que permite a um utilizador com privilégios reduzidos injetar JavaScript arbitrário na página HTML renderizada ao aceder à rota /reports/activity. Isto só pode ser feito por um administrador ou por um utilizador com permissões explícitas de visualização de relatórios. A injeção é possível devido à sanitização inadequada do campo User-Agent quando um utilizador atualiza as suas informações de perfil.

Para isso, fará primeiro login como o utilizador com privilégios reduzidos e depois injetará o código JavaScript definido no ficheiro fornecido através da flag --javascript.

$ python3 exploit.py xss --help

 Usage: exploit.py xss [OPTIONS]

 Execute XSS attack only with custom JavaScript payload

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --login       -l       TEXT                    Low-privileged username [required]                                                                                                         │
│ *  --password    -p       TEXT                    Low-privileged password [required]                                                                                                         │
│ *  --new-name    -n       TEXT                    New name for low-privileged user [required]                                                                                                │
│ *  --javascript  -js      TEXT                    Path to custom JavaScript file [required]                                                                                                  │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

[!IMPORTANTE]
Durante a pesquisa de segurança, os testes foram realizados numa versão do Snipe-IT que, por predefinição, exibia o campo User-Agent no qual o JavaScript malicioso é injetado. Desde o commit 10e5d88, a propriedade User-Agent não é exibida por predefinição quando a tabela de registo de ações é renderizada. O administrador que irá acionar o XSS precisa, portanto, de ter marcado a caixa User-Agent nas opções de visualização para versões do Snipe-IT posteriores a este commit.

RCE

Este subcomando explora a CVE-2025-59713, que permite execução remota de código quando são conhecidas as credenciais de um administrador ou superadministrador. Para tal, são executados os seguintes passos:

  1. É acionada uma cópia de segurança da instância Snipe-IT.
  2. A cópia de segurança gerada é descarregada, editada em memória e enviada de volta para o Snipe-IT. A edição da cópia de segurança inclui instruções SQL adicionais no ficheiro db-dumps/mysql-snipeit.sql, que criam um novo campo personalizado e editam o último registo de ação com um objeto JSON contendo a cadeia de pop do Laravel durante a restauração.

[!DICA] Por predefinição, o Snipe-IT inclui o ficheiro .env na cópia de segurança. Se o script o detetar, o valor de APP_KEY é exibido e o ficheiro .env é guardado no diretório ./output (pode ser especificada uma localização personalizada para esse ficheiro com --output-dir).

  1. É acionada uma restauração a partir da cópia de segurança editada, que executará as instruções SQL adicionadas.

[!CUIDADO] Restaurar uma cópia de segurança desconecta todos os utilizadores ligados à instância.

  1. Assim que a restauração estiver concluída, a rota /api/v1/reports/activity é chamada, o que aciona a desserialização e executa a cadeia de pop do Laravel.
$ python3 exploit.py rce --help

 Usage: exploit.py rce [OPTIONS]

 Execute RCE attack only (requires existing admin account)

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --admin-user  -au      TEXT                    Admin username [required]                                                                                                                  │
│ *  --admin-pass  -ap      TEXT                    Admin password [required]                                                                                                                  │
│    --output-dir  -od      PATH                    Output dir for .env file [default: /home/ninja/Téléchargements/snipe-it-advisory/exploit/output]                                           │
│    --shell-ip    -si      TEXT                    Reverse shell IP address                                                                                                                   │
│    --shell-port  -sp      INTEGER                 Reverse shell port                                                                                                                         │
│    --command     -c       TEXT                    Custom command (overrides reverse shell)                                                                                                   │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Baixar ferramenta