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
exploit-CVE-2023-3460 — Exploração e análise do CVE-2023-3460, uma escalada de privilégios crítica no plugin Ultimate Member para WordPress, com ambiente de reprodução e orientações de mitigação. | Kitploit
Ferramentas/GitHubGitHub/julienbrs/exploit-cve-2023-3460
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoLabs e Prática
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

Exploração e análise do CVE-2023-3460, uma escalada de privilégios crítica no plugin Ultimate Member para WordPress, com ambiente de reprodução e orientações de mitigação.

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
Ver Repositório
há 2 anosAinda não revisado

title: "Segurança de SI - CVE 2023-38408"

Análise e exploração da CVE-2023-3460

CVE IDPontuação CVSSDescobertaPlugin AfetadoTipo de Vulnerabilidade
CVE-2023-3460Critical07/04/2023Ultimate MemberAcesso de Administrador Não Autorizado

Sumário

  • Introdução
  • Mecanismo geral da vulnerabilidade
    • Mecanismo de gestão de funções no WordPress
    • Má implementação do Ultimate Member
  • Alvo de segurança para CVE-2023-3460
    • Premissas
    • Utilizadores típicos
    • Os bens a proteger
    • As ameaças
    • As funções de segurança
  • Arquitetura Típica
  • Mitigação da vulnerabilidade
  • Experimentação da vulnerabilidade
    • Reprodução
    • Detalhes sobre exploit.py
  • Anexo
    • Glossário
    • Fontes

Introdução

Este estudo centra-se na CVE¹-2023-3460, uma vulnerabilidade crítica que afeta o plugin "Ultimate Member" do WordPress, permitindo uma escalada de privilégios não autorizada. Este plugin é amplamente utilizado para a gestão de perfis em sites WordPress. Esta vulnerabilidade apresenta um risco major porque permite a um atacante obter direitos de administrador e, portanto, o controlo total do site. É por isso que esta falha foi classificada como crítica e avaliada em 9.1 na escala CVSS pelo NIST².

Mecanismo geral da vulnerabilidade

A CVE-2023-3460 explora uma falha na gestão de funções e permissões pelo plugin. No WordPress, a função WP_Capabilities³ é utilizada para gerir as funções e permissões dos utilizadores. Esta função permite aos administradores definir capacidades específicas para cada função de utilizador. No entanto, uma má utilização desta função pode conduzir a vulnerabilidades de elevação de privilégios.

No caso do Ultimate Member, a vulnerabilidade permite a um atacante contornar a verificação das capacidades WP e obter um acesso de nível administrador ao site. O plugin funciona utilizando uma lista predefinida de chaves de metadados de utilizador que não deveriam ser manipuladas pelos utilizadores. No entanto, esta abordagem de segurança, baseada em listas de bloqueio, é frequentemente insuficiente, pois deixa possibilidades de contorno.

Mecanismo de gestão de funções no WordPress

O WordPress gere as funções e permissões dos utilizadores através de uma estrutura chamada wp_capabilities. Esta estrutura é uma representação serializada das diferentes funções e permissões concedidas aos utilizadores. Por exemplo, um administrador terá um conjunto de capacidades diferente de um editor ou de um colaborador. Estas capacidades são armazenadas na base de dados do WordPress sob a forma de arrays serializados na tabela wp_usermeta.

Má implementação do Ultimate Member

A falha CVE-2023-3460 tem origem na implementação da gestão de funções e permissões pelo Ultimate Member. O plugin opera utilizando uma lista predefinida de chaves de metadados de utilizador que os utilizadores não deveriam manipular. Esta lista é utilizada para verificar se os utilizadores tentam registar estas chaves durante a criação de uma conta. Esta abordagem é um anti-padrão de segurança comum, onde o bloqueio de entradas conhecidas como nocivas (listas de bloqueio) pode parecer intuitivo, mas revela-se mais complexo do que o esperado e deixa frequentemente espaço para contornos de segurança.

Aqui, o Ultimate Member utiliza uma verificação insuficiente dos metadados submetidos durante o registo de utilizadores. O plugin utiliza uma função chamada is_metakey_banned para verificar se os metadados submetidos pelo utilizador são permitidos. Esta função verifica se os metadados submetidos estão presentes na lista de metadados banidos. Se estiverem, a função retorna true e o registo do utilizador é bloqueado. Caso contrário, a função retorna false e o registo do utilizador é permitido.

No entanto, o WordPress aceita alguns caracteres acentuados como caracteres por defeito. Se um utilizador submeter metadados com caracteres acentuados, a função is_metakey_banned não os detetará e o registo do utilizador será permitido.

Alvo de segurança para CVE-2023-3460

Premissas

Segurança organizacional

O plugin Ultimate Member é amplamente utilizado em diversos ambientes, desde pequenos blogs pessoais a grandes sites de comércio eletrónico. Nenhuma premissa específica pode ser feita sobre as competências em segurança informática dos utilizadores finais ou dos administradores dos sites.

Segurança física

Os servidores que alojam os sites WordPress estão geralmente localizados em centros de dados seguros. Para sites pessoais, a segurança física depende do ambiente individual do utilizador.

Segurança lógica

Assume-se que o plugin Ultimate Member está instalado e configurado corretamente de acordo com as instruções oficiais. O site WordPress é suposto ser mantido atualizado, com medidas de segurança básicas em vigor.

Utilizadores típicos

  • Administradores do site: Gerem a configuração do plugin e a segurança global do site.
  • Utilizadores do site: Registam-se e interagem com o site através do plugin Ultimate Member.
  • Programadores: Personalizam e estendem as funcionalidades do plugin para necessidades específicas.

Os bens a proteger

  • B1 Confidencialidade dos dados do utilizador: Informações pessoais e credenciais de login.
  • B2 Integridade do site Web: Prevenção contra modificações não autorizadas do conteúdo ou da estrutura do site.
  • B3 Integridade do plugin Ultimate Member: Código-fonte e funcionalidades do plugin.

As ameaças

  • M1 Acesso não autorizado: Um atacante obtém privilégios de administrador através da vulnerabilidade.
  • M2 Injeção de código malicioso: Modificação do comportamento do site através da injeção de código.
  • M3 Fuga de dados: Acesso não autorizado aos dados confidenciais dos utilizadores.
  • M4 Deterioração da reputação: Consequências negativas na reputação devido a um comprometimento do site.

Cobertura dos bens pelas ameaças

7.5 As funções de segurança

  • F1 Gestão segura de funções: Mecanismos robustos para a gestão de funções e permissões.
  • F2 Validação de entradas: Verificações rigorosas dos dados submetidos para impedir a injeção de dados maliciosos.
  • F3 Atualizações e patches de segurança: Atualização regular do plugin para corrigir vulnerabilidades conhecidas.
  • F4 Formação e sensibilização: Informar os administradores e utilizadores sobre as melhores práticas de segurança.

Arquitetura Típica

Servidor Web:

  • Aloja o site WordPress.
  • Tipicamente, um servidor Apache ou Nginx numa máquina Linux (pode variar conforme o fornecedor de alojamento ou as preferências do administrador).
  • Ligado à Internet para permitir o acesso ao site web.

Sistema de Gestão de Base de Dados (SGBD):

  • Habitualmente MySQL ou MariaDB.
  • Armazena os dados do site WordPress, incluindo os dados de utilizador geridos pelo Ultimate Member.

WordPress com Plugin Ultimate Member:

  • WordPress instalado com o plugin Ultimate Member para a gestão de perfis de utilizador, registo e gestão de funções.
  • Pode incluir outros plugins e temas, que podem interagir com o Ultimate Member.

Rede e Segurança:

  • Firewall e outras medidas de segurança de rede para proteger o servidor.
  • SSL/TLS para proteger as comunicações entre o cliente e o servidor.

Utilizadores/Administradores:

  • Os administradores do site que gerem e mantêm o site WordPress e o plugin Ultimate Member.
  • Os utilizadores finais que se registam e interagem com o site.

Serviços Externos (opcional):

  • Serviços de email para notificações e gestão de contas.
  • Integrações com redes sociais ou outras plataformas para conectividade e funcionalidades alargadas.

Mitigação da vulnerabilidade

Enquanto administrador, eis medidas concretas que podem ser tomadas para mitigar os riscos associados a esta vulnerabilidade.

1. Restrição dos Metadados Modificáveis

Validação das Entradas do Utilizador: Implementar validações no lado do servidor para verificar todas as entradas do utilizador, especialmente aquelas que modificam metadados como wp_capabilities. Utilizar expressões regulares ou listas de validação (whitelists) em vez de listas de bloqueio para controlar as entradas.

2. Proteção dos Formulários de Registo

CAPTCHA e Limites de Taxa: Integrar CAPTCHAs e limites de taxa nos formulários de registo para prevenir ataques automatizados. Verificações no Lado do Cliente: Embora as validações no lado do cliente não sejam suficientes por si só, podem ajudar a prevenir ataques automatizados e a melhorar a experiência do utilizador.

3. Monitorização e Análise de Registos

Monitorização dos Logs: Implementar um sistema de monitorização de logs para detetar qualquer modificação suspeita das funções de utilizador ou tentativas de injeção de metadados. Isto pode ser feito utilizando ferramentas de análise de logs.

4. Utilização de Soluções de Segurança Web Avançadas

Firewall de Aplicação Web (WAF): Configurar um WAF⁴ para bloquear ataques conhecidos e desconhecidos, incluindo ataques por injeção de código malicioso. Sistemas de Deteção de Intrusão (IDS/IPS)⁵: Implementar um IDS/IPS para detetar tentativas de exploração da vulnerabilidade.

5. Gestão de Permissões e Funções

Revisão das Funções de Utilizador: Examinar regularmente as funções atribuídas aos utilizadores para detetar qualquer elevação de privilégios anormal. Restrição de Permissões: Limitar as permissões concedidas por defeito aos novos utilizadores e exigir validação administrativa para a atribuição de funções elevadas, seguindo o princípio do menor privilégio. Ver detalhes sobre este princípio aqui.

6. Atualizações e Patches de Segurança

Aplicação Rápida das Atualizações: Fazer atualizações de segurança regulares para os plugins e para o próprio WordPress.

7. Sensibilização e Formação dos Programadores

Formar os programadores nas boas práticas de segurança mencionadas anteriormente e sensibilizá-los para os riscos / impactos de uma má implementação.

Experimentação da vulnerabilidade

Reprodução

Um Makefile está disponível para o ajudar a lançar a exploração da falha. Pode utilizá-lo da seguinte forma:

  • make up para lançar o WordPress com todas as instalações necessárias. Após um tempo de espera, isto iniciará um servidor WordPress, configurá-lo-á e instalará a versão 2.6.5 do plugin Ultimate Member. Ser-lhe-á então possível ligar-se ao WordPress na página Login com as credenciais admin:password. Ao ir ao separador Users, poderá ver que apenas o utilizador admin está presente. one_admin

    Nota: se tiver docker-compose e não docker compose, pode modificar o Makefile em conformidade (variável DOCKER_COMPOSE= docker-compose).

Depois, pode lançar a exploração da falha:

  • make exploit Poderá então ligar-se ao WordPress em Login com as credenciais fornecidas pelo exploit e observar no separador Users que um novo utilizador foi criado com a função Administrator.

    two_admin

  • make down para parar o servidor WordPress e eliminar os dados.

Detalhes sobre exploit.py

  • make exploit executa o script exploit.py. Este script atua em várias etapas: Detalhes Técnicos do Exploit

1. Verificação da Vulnerabilidade: Antes de proceder à exploração, o script verifica se a versão do plugin Ultimate Member instalada no site alvo é vulnerável, ou seja, inferior à versão 2.6.7.

2. Recuperação do Nonce de Segurança: O script recupera um nonce de segurança³ da página de registo do site alvo. Este nonce é necessário para que o pedido de registo seja aceite pelo WordPress. O nonce é recuperado analisando o código HTML da página de registo.

3. Exploração da Vulnerabilidade: O script submete então um pedido POST à página de registo, incluindo um parâmetro manipulado (wp_càpabilities[administrator]=1). Este parâmetro utiliza um caractere acentuado (à) para contornar os controlos de segurança do plugin e serializar incorretamente os dados, atribuindo assim a função de administrador ao novo utilizador criado.

4. Confirmação do Exploit: Após o envio do pedido, o script verifica se a operação foi bem-sucedida analisando a resposta do servidor.

Anexo

Glossário

  1. CVE (Common Vulnerabilities and Exposures): Sistema de referência internacional para vulnerabilidades de segurança informática. Mais informações.
  2. nvd.nist.gov: Base de dados de referência para vulnerabilidades de segurança informática. Site oficial.
  3. WP_Capabilities: Atributo serializado do WordPress utilizado para gerir funções e permissões de utilizadores. Saiba mais sobre as funções e capacidades do WordPress, e como utilizá-las
  4. Nonce de Segurança: Token utilizado em comunicações informáticas para impedir certas formas de ataques, tais como ataques do tipo CSRF. Detalhes aqui.
  5. WAF (Firewall de Aplicação Web): Ferramenta de segurança para monitorizar e filtrar o tráfego HTTP entre um servidor web e a Internet. Aprofundamento.
  6. IDS/IPS (Sistemas de Deteção e Prevenção de Intrusão): Dispositivos ou aplicações que monitorizam uma rede ou sistemas para detetar atividades maliciosas. Explicações complementares.
  7. Cross-Site Request Forgery (CSRF): Ataque que força um utilizador autenticado a executar ações indesejadas numa aplicação web. Saiba mais.

Fontes

Baixar ferramenta
AmeaçasB1 (Confidencialidade dos dados do utilizador)B2 (Integridade do site Web)B3 (Integridade do plugin Ultimate Member)
M1 Acesso não autorizadoXXX
M2 Injeção de código maliciosoXX
M3 Fuga de dadosX
M4 Deterioração da reputaçãoX
NomeLink
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
Versão do pacote utilizado para a exploração 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
Patch do exploithttps://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
Review do exploithttps://thesecmaster.com/how-to-fix-cve-2023-3460-a-privilege-escalation-vulnerability-in-ultimate-member-wordpress-plugin/
OWASP Top 10 Application Security Riskshttps://owasp.org/www-project-top-ten/