Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
exploit-CVE-2023-3460 — # Analisi ed exploit di CVE-2023-3460, una critica escalation di privilegi nel plugin WordPress Ultimate Member, con ambiente di riproduzione e indicazioni di mitigazione. | Kitploit
Strumenti/GitHubGitHub/julienbrs/exploit-cve-2023-3460
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneLab e Pratica
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

# Analisi ed exploit di CVE-2023-3460, una critica escalation di privilegi nel plugin WordPress Ultimate Member, con ambiente di riproduzione e indicazioni di mitigazione.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
2 anni faNon ancora revisionato

title: "Sécurité des SI - CVE 2023-38408"

Analisi e sfruttamento della CVE-2023-3460

CVE IDCVSS ScoreDiscoveredAffected PluginVulnerability Type
CVE-2023-3460Critical07/04/2023Ultimate MemberUnauthorized Admin Access

Sommario

  • Introduzione
  • Meccanismo generale della vulnerabilità
    • Meccanismo di gestione dei ruoli in Wordpress
    • Implementazione errata di Ultimate Member
  • Obiettivo di sicurezza per CVE-2023-3460
    • Ipotesi
    • Utenti tipici
    • I beni da proteggere
    • Le minacce
    • Le funzioni di sicurezza
  • Architettura Tipica
  • Mitigazione della vulnerabilità
  • Sperimentazione della vulnerabilità
    • Riproduzione
    • Dettagli su exploit.py
  • Appendice
    • Glossario
    • Fonti

Introduzione

Questo studio si concentra sulla CVE¹-2023-3460, una vulnerabilità critica che colpisce il plugin "Ultimate Member" di Wordpress, consentendo un'escalation di privilegi non autorizzata. Questo plugin è ampiamente diffuso e utilizzato per la gestione dei profili su siti WordPress. Questa vulnerabilità presenta un rischio maggiore poiché consente a un attaccante di ottenere diritti di amministratore e quindi il controllo totale del sito. È per questo motivo che questa falla è stata classificata come critica e valutata 9.1 sulla scala CVSS dal NIST².

Meccanismo generale della vulnerabilità

La CVE-2023-3460 sfrutta una falla nella gestione dei ruoli e delle autorizzazioni da parte del plugin. In WordPress, la funzione WP_Capabilities³ viene utilizzata per gestire i ruoli e le autorizzazioni degli utenti. Questa funzione consente agli amministratori di definire capacità specifiche per ogni ruolo utente. Tuttavia, un uso improprio di questa funzione può portare a vulnerabilità di elevazione dei privilegi.

Nel caso di Ultimate Member, la vulnerabilità consente a un attaccante di aggirare la verifica delle capacità WP e ottenere un accesso a livello di amministratore al sito. Il plugin funziona utilizzando un elenco predefinito di chiavi di metadati utente che non dovrebbero essere manipolate dagli utenti. Tuttavia, questo approccio di sicurezza, basato su liste di blocco, è spesso insufficiente poiché lascia possibilità di aggiramento.

Meccanismo di gestione dei ruoli in Wordpress

WordPress gestisce i ruoli e le autorizzazioni degli utenti attraverso una struttura chiamata wp_capabilities. Questa struttura è una rappresentazione serializzata dei diversi ruoli e autorizzazioni concessi agli utenti. Ad esempio, un amministratore avrà un insieme di capacità diverso da un editore o da un collaboratore. Queste capacità sono memorizzate nel database WordPress sotto forma di array serializzati nella tabella wp_usermeta.

Implementazione errata di Ultimate Member

La falla CVE-2023-3460 ha origine nell'implementazione della gestione dei ruoli e delle autorizzazioni da parte di Ultimate Member. Il plugin opera utilizzando un elenco predefinito di chiavi di metadati utente che gli utenti non dovrebbero manipolare. Questo elenco viene utilizzato per verificare se gli utenti tentano di salvare queste chiavi durante la creazione di un account. Questo approccio è un anti-pattern di sicurezza comune, dove il blocco degli input noti come dannosi (liste di blocco) può sembrare intuitivo, ma si rivela più complesso del previsto e spesso lascia spazio a aggiramenti di sicurezza.

Qui, Ultimate Member utilizza una verifica insufficiente dei metadati inviati durante la registrazione degli utenti. Il plugin utilizza una funzione chiamata is_metakey_banned per verificare se i metadati inviati dall'utente sono consentiti. Questa funzione controlla se i metadati inviati sono presenti nell'elenco dei metadati vietati. Se è così, la funzione restituisce true e la registrazione dell'utente viene bloccata. Altrimenti, la funzione restituisce false e la registrazione dell'utente viene consentita.

Tuttavia, Wordpress accetta alcuni caratteri accentati come caratteri predefiniti. Se un utente invia metadati con caratteri accentati, la funzione is_metakey_banned non li rileverà e la registrazione dell'utente sarà consentita.

Obiettivo di sicurezza per CVE-2023-3460

Ipotesi

Sicurezza organizzativa

Il plugin Ultimate Member è ampiamente utilizzato in vari ambienti, che vanno da piccoli blog personali a grandi siti di e-commerce. Nessuna ipotesi specifica può essere fatta sulle competenze in sicurezza informatica degli utenti finali o degli amministratori dei siti.

Sicurezza fisica

I server che ospitano i siti WordPress sono generalmente situati in data center sicuri. Per i siti personali, la sicurezza fisica dipende dall'ambiente individuale dell'utente.

Sicurezza logica

Si presume che il plugin Ultimate Member sia installato e configurato correttamente secondo le istruzioni ufficiali. Il sito WordPress è considerato mantenuto aggiornato, con misure di sicurezza di base in atto.

Utenti tipici

  • Amministratori del sito: Gestiscono la configurazione del plugin e la sicurezza globale del sito.
  • Utenti del sito: Si registrano e interagiscono con il sito tramite il plugin Ultimate Member.
  • Sviluppatori: Personalizzano ed estendono le funzionalità del plugin per esigenze specifiche.

I beni da proteggere

  • B1 Riservatezza dei dati utente: Informazioni personali e credenziali di accesso.
  • B2 Integrità del sito web: Prevenzione contro modifiche non autorizzate del contenuto o della struttura del sito.
  • B3 Integrità del plugin Ultimate Member: Codice sorgente e funzionalità del plugin.

Le minacce

  • M1 Accesso non autorizzato: Un attaccante ottiene privilegi di amministratore tramite la vulnerabilità.
  • M2 Iniezione di codice dannoso: Modifica del comportamento del sito tramite l'iniezione di codice.
  • M3 Fuga di dati: Accesso non autorizzato ai dati riservati degli utenti.
  • M4 Deterioramento della reputazione: Conseguenze negative sulla reputazione dovute a una compromissione del sito.

Copertura dei beni da parte delle minacce

7.5 Le funzioni di sicurezza

  • F1 Gestione sicura dei ruoli: Meccanismi robusti per la gestione dei ruoli e delle autorizzazioni.
  • F2 Validazione degli input: Controlli rigorosi dei dati inviati per prevenire l'iniezione di dati dannosi.
  • F3 Aggiornamenti e patch di sicurezza: Aggiornamento regolare del plugin per correggere le vulnerabilità note.
  • F4 Formazione e sensibilizzazione: Informare amministratori e utenti sulle migliori pratiche di sicurezza.

Architettura Tipica

Server Web:

  • Ospita il sito WordPress.
  • Tipicamente, un server Apache o Nginx su una macchina Linux (può variare a seconda dell'hosting o delle preferenze dell'amministratore).
  • Connesso a Internet per consentire l'accesso al sito web.

Sistema di Gestione del Database (SGBD):

  • Solitamente MySQL o MariaDB.
  • Memorizza i dati del sito WordPress, inclusi i dati utente gestiti da Ultimate Member.

WordPress con Plugin Ultimate Member:

  • WordPress installato con il plugin Ultimate Member per la gestione dei profili utente, la registrazione e la gestione dei ruoli.
  • Può includere altri plugin e temi, che possono interagire con Ultimate Member.

Rete e Sicurezza:

  • Firewall e altre misure di sicurezza di rete per proteggere il server.
  • SSL/TLS per proteggere le comunicazioni tra client e server.

Utenti/Amministratori:

  • Gli amministratori del sito che gestiscono e mantengono il sito WordPress e il plugin Ultimate Member.
  • Gli utenti finali che si registrano e interagiscono con il sito.

Servizi Esterni (opzionale):

  • Servizi di posta elettronica per notifiche e gestione degli account.
  • Integrazioni con social network o altre piattaforme per connettività e funzionalità estese.

Mitigazione della vulnerabilità

Come amministratore, ecco misure concrete che possono essere adottate per mitigare i rischi associati a questa vulnerabilità.

1. Restrizione dei Metadati Modificabili

Validazione degli Input Utente: Implementare validazioni lato server per verificare tutti gli input utente, in particolare quelli che modificano i metadati come wp_capabilities. Utilizzare espressioni regolari o liste di validazione (whitelist) piuttosto che liste di blocco per controllare gli input.

2. Protezione dei Moduli di Registrazione

CAPTCHA e Limiti di Frequenza: Integrare CAPTCHA e limiti di frequenza sui moduli di registrazione per prevenire attacchi automatizzati. Verifiche Lato Client: Sebbene le validazioni lato client non siano sufficienti da sole, possono aiutare a prevenire attacchi automatizzati e migliorare l'esperienza utente.

3. Monitoraggio e Analisi dei Log

Sorveglianza dei Log: Implementare un sistema di monitoraggio dei log per rilevare qualsiasi modifica sospetta dei ruoli utente o tentativi di iniezione di metadati. Questo può essere fatto utilizzando strumenti di analisi dei log.

4. Utilizzo di Soluzioni di Sicurezza Web Avanzate

Firewall per Applicazioni Web (WAF): Configurare un WAF⁴ per bloccare attacchi noti e sconosciuti, inclusi gli attacchi di iniezione di codice dannoso. Sistemi di Rilevamento delle Intrusioni (IDS/IPS)⁵: Implementare un IDS/IPS per rilevare tentativi di sfruttamento della vulnerabilità.

5. Gestione delle Autorizzazioni e dei Ruoli

Revisione dei Ruoli Utente: Esaminare regolarmente i ruoli assegnati agli utenti per rilevare qualsiasi elevazione di privilegi anomala. Restrizione delle Autorizzazioni: Limitare le autorizzazioni concesse per impostazione predefinita ai nuovi utenti e richiedere una validazione amministrativa per l'assegnazione di ruoli elevati, seguendo il principio del minimo privilegio. Vedi dettagli su questo principio qui.

6. Aggiornamenti e Patch di Sicurezza

Applicazione Rapida degli Aggiornamenti: Effettuare aggiornamenti di sicurezza regolari per i plugin e WordPress stesso.

7. Sensibilizzazione e Formazione degli Sviluppatori

Formare gli sviluppatori sulle buone pratiche di sicurezza citate in precedenza e sensibilizzarli sui rischi/impatti di una cattiva implementazione.

Sperimentazione della vulnerabilità

Riproduzione

Un Makefile è disponibile per aiutarti a lanciare lo sfruttamento della falla. Puoi usarlo come segue:

  • make up per avviare Wordpress con tutte le installazioni necessarie. Dopo un periodo di attesa, avvierà un server Wordpress, lo configurerà e installerà la versione 2.6.5 del plugin Ultimate Member. Ti sarà quindi possibile connetterti a Wordpress sulla pagina Login con le credenziali admin:password. Andando sulla scheda Users, potrai vedere che è presente solo l'utente admin. one_admin

    Nota: se hai docker-compose e non docker compose puoi modificare il Makefile di conseguenza (variabile DOCKER_COMPOSE= docker-compose).

Poi, puoi lanciare lo sfruttamento della falla:

  • make exploit Potrai quindi connetterti a Wordpress su Login con le credenziali fornite dall'exploit e osservare nella scheda Users che è stato creato un nuovo utente con il ruolo Administrator.

    two_admin

  • make down per fermare il server Wordpress e cancellare i dati.

Dettagli su exploit.py

  • make exploit lancia lo script exploit.py. Questo script agisce in più fasi: Dettagli Tecnici dell'Exploit

1. Verifica della Vulnerabilità: Prima di procedere allo sfruttamento, lo script verifica se la versione del plugin Ultimate Member installata sul sito target è vulnerabile, cioè inferiore alla versione 2.6.7.

2. Recupero del Nonce di Sicurezza: Lo script recupera un nonce di sicurezza³ dalla pagina di registrazione del sito target. Questo nonce è necessario affinché la richiesta di registrazione venga accettata da WordPress. Il nonce viene recuperato analizzando il codice HTML della pagina di registrazione.

3. Sfruttamento della Vulnerabilità: Lo script invia quindi una richiesta POST alla pagina di registrazione, includendo un parametro manipolato (wp_càpabilities[administrator]=1). Questo parametro utilizza un carattere accentato (à) per aggirare i controlli di sicurezza del plugin e serializzare erroneamente i dati, assegnando così il ruolo di amministratore al nuovo utente creato.

4. Conferma dell'Exploit: Dopo l'invio della richiesta, lo script verifica se l'operazione è riuscita analizzando la risposta del server.

Appendice

Glossario

  1. CVE (Common Vulnerabilities and Exposures) : Sistema di referenziamento internazionale per le vulnerabilità di sicurezza informatica. Maggiori informazioni.
  2. nvd.nist.gov : Database di riferimento per le vulnerabilità di sicurezza informatica. Sito ufficiale.
  3. WP_Capabilities : Attributo serializzato di WordPress utilizzato per gestire ruoli e autorizzazioni degli utenti. Scopri di più sui ruoli e capacità di Wordpress, e come usarli
  4. Nonce di Sicurezza : Token utilizzato nelle comunicazioni informatiche per prevenire alcune forme di attacchi, come gli attacchi di tipo CSRF. Dettagli qui.
  5. WAF (Firewall per Applicazioni Web) : Strumento di sicurezza per monitorare e filtrare il traffico HTTP tra un server web e Internet. Approfondimento.
  6. IDS/IPS (Sistemi di Rilevamento e Prevenzione delle Intrusioni) : Dispositivi o applicazioni che monitorano una rete o sistemi per rilevare attività dannose. Spiegazioni complementari.
  7. Cross-Site Request Forgery (CSRF) : Attacco che forza un utente connesso a eseguire azioni indesiderate su un'applicazione web. Scopri di più.

Fonti

Scarica lo strumento
MinacceB1 (Riservatezza dei dati utente)B2 (Integrità del sito web)B3 (Integrità del plugin Ultimate Member)
M1 Accesso non autorizzatoXXX
M2 Iniezione di codice dannosoXX
M3 Fuga di datiX
M4 Deterioramento della reputazioneX
NomeLink
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
Versione del pacchetto usato per lo sfruttamento 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
Patch dell'exploithttps://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
Review dell'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/