
Esplorazione delle vulnerabilità WebLogic da principiante a esperto.
Abstract: Negli ultimi anni, le vulnerabilità di deserializzazione di Weblogic sono state scoperte e analizzate concentrandosi sul punto di innesco della deserializzazione. Tuttavia, esistono molti punti che coinvolgono la deserializzazione ma che non possono essere sfruttati in tempo reale, e vengono facilmente trascurati durante la normale ricerca sulle vulnerabilità. Nel settore ci sono state ulteriori discussioni sulle vulnerabilità "post-deserializzazione", in cui vulnerabilità apparentemente non sfruttabili possono in realtà essere sfruttate tramite tecniche successive. Ad esempio, se la vulnerabilità non viene innescata dopo un'operazione bind() o rebind(), si possono provare altri metodi come lookup() o per attivarla.
Usando questo approccio, abbiamo scoperto due vulnerabilità Weblogic post-deserializzazione (CVE-2023-21931, CVE-2023-21839), che sono state ufficialmente confermate da Oracle. In questo articolo, useremo queste due vulnerabilità Weblogic come esempi per condividere il processo di pensiero alla base dello sfruttamento delle vulnerabilità post-deserializzazione. Crediamo che ci siano molte vulnerabilità simili che verranno scoperte gradualmente in futuro, e speriamo che questo articolo possa fornire qualche spunto ai ricercatori.
lookupLink()Abstract: La vulnerabilità di serializzazione di Weblogic dipende principalmente dai protocolli T3 e IIOP, che presentano molti problemi nell'interazione comunicativa, come il cross-language e la trasmissione in rete, che possono portare molti inconvenienti al rilevamento e allo sfruttamento delle vulnerabilità. Nella filosofia di WhiteHat Labs, il rilevamento e lo sfruttamento delle vulnerabilità è un lavoro creativo che dovrebbe essere implementato nel modo più conciso ed efficiente per garantire la cross-platform e la praticità della vulnerabilità. Pertanto, abbiamo implementato una soluzione di comunicazione cross-language per il protocollo IIOP per risolvere il problema delle vulnerabilità di serializzazione.
Abstract: Questo articolo tratta le seguenti vulnerabilità: CVE-2021-2135, CVE-2021-2394, CVE-2020-2555, CVE-2020-2883, CVE-2020-14645, CVE-2020-14825, CVE-2020-14841, CVE-2020-14756. Negli ultimi anni, le vulnerabilità di deserializzazione nel componente WebLogic Coherence sono state segnalate frequentemente. Tuttavia, non esiste una sintesi pubblica delle vulnerabilità storiche di deserializzazione nel componente WebLogic Coherence, il che rende difficile per coloro che vogliono imparare o comprendere le vulnerabilità di deserializzazione nel componente WebLogic Coherence. Pertanto, questo articolo fornisce una sintesi e un'analisi delle vulnerabilità storiche di deserializzazione nel componente WebLogic Coherence.
Abstract: Il 21 luglio 2021, Oracle ha rilasciato una serie di aggiornamenti di sicurezza, che coinvolgono 342 vulnerabilità nei suoi prodotti, tra cui Weblogic Server, Database Server, Java SE, MySQL, ecc. Tra queste, c'è una vulnerabilità ad alto rischio nel prodotto Oracle WebLogic Server, con numero di vulnerabilità CVE-2021-2394 e punteggio CVSS di 9.8. Colpisce più versioni di WebLogic e può essere sfruttata da remoto con bassa difficoltà usando i protocolli T3 e IIOP.
Abstract: La vulnerabilità RCE di deserializzazione CVE-2020-14645 in Weblogic, divulgata di recente, è un bypass della patch di CVE-2020-2883. CVE-2020-2883 essenzialmente chiamava metodi arbitrari tramite ReflectionExtractor, che poi eseguivano comandi arbitrari usando il metodo exec dell'oggetto Runtime. La patch ha inserito ReflectionExtractor nella blacklist, quindi è stata costruita una nuova catena di sfruttamento usando UniversalExtractor. UniversalExtractor può chiamare arbitrariamente i metodi get e is, il che porta allo sfruttamento del caricamento dinamico remoto delle classi JDNI. UniversalExtractor è esclusivo della versione 12.2.1.4.0 di Weblogic, e questo articolo lo analizza basandosi su quella versione.
Abstract: Il 15 luglio 2020, Oracle ha rilasciato un gran numero di patch di sicurezza, tra cui la vulnerabilità CVE-2020-14644 è stata valutata con una gravità di 9.8, colpendo le versioni 12.2.1.3.0, 12.2.1.4.0 e 14.1.1.0.0. Questo articolo si basa su codice proof-of-concept (POC) pubblicamente disponibile su internet per la riproduzione e l'analisi. Alla fine, abbiamo ottenuto defineClass + istanziazione senza restrizioni, che ha portato all'esecuzione remota di codice (RCE).
Se hai un problema di tipo funzionale, puoi aprire una issue su GitHub o nel gruppo di discussione qui sotto: