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
PlEXcalaison — Plex media server - PoC di escalation dei privilegi locali - CVE-2021-42835 | Kitploit
Strumenti/GitHubGitHub/netanelc305/plexcalaison
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingBinary Exploitation
GitHubnetanelc305/plexcalaison

PlEXcalaison

Plex media server - PoC di escalation dei privilegi locali - CVE-2021-42835

Vedi Repository
64 anni faNon ancora revisionato

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

Escalation dei privilegi locale PlEXcalasion - CVE-2021-42835

Plex Media Server per Windows precedente alla versione 1.25.0.5282 è vulnerabile a Time Of Check Time Of Use (TOCTOU) che consente agli utenti con privilegi bassi di ottenere privilegi SYSTEM.

Scoperto da

Tomer Peled, Netanel Cohen e Amir Shen, ricercatori di sicurezza di BugSec.

Dettagli

Plex per Windows utilizza PlexUpdateService.exe per installare nuovi aggiornamenti. Il servizio è in esecuzione nel contesto SYSTEM. Quando installa un aggiornamento, il servizio verifica prima l'integrità del file e la firma digitale; solo se i controlli hanno avuto successo, l'aggiornamento verrà installato.

In questo processo, dopo il controllo di integrità e firma, c'era un difetto di progettazione che gestiva il file di aggiornamento in modo improprio. Il file veniva chiuso e riaperto successivamente per l'installazione.

Questa vulnerabilità consente a un utente malintenzionato di sostituire il file di aggiornamento con uno dannoso non appena il servizio ha terminato di verificare l'integrità e la firma, con conseguente esecuzione di codice nel contesto SYSTEM.

Questo POC utilizza strumenti sviluppati da James Forshaw con lievi modifiche. L'originale può essere trovato qui - https://github.com/googleprojectzero/symboliclink-testing-tools

Per ottenere quanto sopra, abbiamo utilizzato una cartella Junction che inizialmente punta a una cartella contenente un file di aggiornamento valido e poi scambia verso una cartella contenente il file dannoso.

Abbiamo scoperto che l'ordine di accesso ai file era il seguente:

  1. Leggere il file di aggiornamento per verificarne la firma digitale
  2. Chiudere il file di aggiornamento.
  3. Leggere CACERT.pem
  4. Verificare la firma.
  5. Leggere nuovamente il file di aggiornamento
  6. Eseguire l'installazione

Abbiamo creato un punto di montaggio sulla cartella junction per puntare a una cartella che contiene il file di aggiornamento valido. Abbiamo impostato un opLock su cacert.pem con una funzione di callback; appena viene acceduto, cambiamo il punto di montaggio verso la cartella dannosa.

Inoltre, abbiamo creato un client RPC che attiverà l'aggiornamento.

Utilizzo

  1. Clona il repository e apri PlEXcalasion.sln in Visual Studio.
  2. Elimina il file Delete me.txt situato in TOCTOU\junction - È solo un segnaposto affinché git includa la cartella, questa cartella deve essere vuota!
  3. Modifica i percorsi:

PlexClient/PlexClient.cpp sostituisci ROOTDIR con il tuo percorso.

root@kitploit:~
const wchar_t* pszString = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction\\plex.exe"; // Path to the update file. 

PlEXcalaison/BaitAndSwitch/BaitAndSwitch.cpp sostituisci ROOTDIR con il tuo percorso.

root@kitploit:~
static LPCWSTR junction = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction";  // Path to junction folder , MAKE SURE IT IS EMPTY !
static LPCWSTR target1 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\valid"; // Path to folder contains the valid update file.
static LPCWSTR target2 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\malicious"; // Path to folder contains the malicious file - MUST BE THE SAME NAME AS THE UPDATE FILE.
static LPCWSTR cacert = L"C:\\Program Files (x86)\\Plex\\Plex Media Server\\Resources\\cacert.pem"; // Path to cacert.pem - can be found in plex directory.
  1. Compila la soluzione.
  2. Assicurati che PlexClient.exe sia stato creato e si trovi nella directory Rleases.
  3. Inserisci il file eseguibile che desideri eseguire come SYSTEM nella cartella dannosa e rinominalo in plex.exe (per il POC ho usato cmd.exe)
  4. Esegui BiteAndSwitch.exe

Pubblicazioni

https://ir-on.io/2021/12/02/local-privilege-plexcalation/

https://forums.plex.tv/t/security-regarding-cve-2021-42835/761510

Scarica lo strumento