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
CVE-2024-7479_CVE-2024-7481 — PoC per l'elevazione dei privilegi da utente a kernel in TeamViewer. CVE-2024-7479 e CVE-2024-7481. ZDI-24-1289 e ZDI-24-1290. TV-2024-1006. | Kitploit
Strumenti/GitHubGitHub/petergabaldon/cve-2024-7479_cve-2024-7481
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitBinary Exploitation
GitHubpetergabaldon/cve-2024-7479_cve-2024-7481

CVE-2024-7479_CVE-2024-7481

PoC per l'elevazione dei privilegi da utente a kernel in TeamViewer. CVE-2024-7479 e CVE-2024-7481. ZDI-24-1289 e ZDI-24-1290. TV-2024-1006.

Vedi Repository

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
137211 anno faRevisionato da Kitploit

CVE-2024-7479 & CVE-2024-7481

TeamViewer: elevazione di privilegi da utente a kernel

GitHub Repo stars

Questo repository contiene la proof of concept dell'exploit di una vulnerabilità in TeamViewer che consente a un utente senza privilegi di caricare un driver di kernel arbitrario nel sistema. Desidero ringraziare Zero Day Initiative per la collaborazione nella segnalazione e nella divulgazione responsabile della vulnerabilità.

Logo

  • https://www.cve.org/CVERecord?id=CVE-2024-7479
  • https://www.cve.org/CVERecord?id=CVE-2024-7481
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1289/
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1290/
  • https://www.teamviewer.com/en/resources/trust-center/security-bulletins/tv-2024-1006/

PoC Execution

Dettagli

I dettagli della ricerca che ha portato a queste vulnerabilità sono disponibili nella seguente serie di blog in tre parti sul mio blog. Coprono queste vulnerabilità in maggior dettaglio e mostrano anche dove ho sbagliato durante il processo. La terza parte è quella divertente :P.

  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-1/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-2/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-3/

Video della PoC 📺

I video dell'exploit sono disponibili qui:

  • https://youtu.be/lUkAMAK-TPI
  • https://youtu.be/3R0aBYd0Qn4
  • https://youtu.be/kOjjFgkJQoc

Riepilogo

Dopo essere riusciti a spoofare (solo una semplice autenticazione come dettagliato nel blog) un client TeamViewer valido durante la connessione all'IPC del servizio SYSTEM, è stato possibile attivare l'installazione di un driver arbitrario. TeamViewer non verificava la firma del driver installato.

Pertanto, grazie a TeamViewer, è stata possibile un'elevazione di privilegi da USER a KERNEL.

Uno dei migliori approcci è utilizzare la nota tecnica BYOD, Bring Your Own Vulnerable Driver per caricare un driver firmato valido nel kernel di Windows e poi sfruttarlo per eseguire azioni privilegiate dal livello utente, come cambiare il token di un processo arbitrario con uno privilegiato.

Quando TeamViewer è installato sul sistema, crea un servizio che gira come SYSTEM, TeamViewer_service.exe

Questo servizio è un helper per il client per alcune attività. Pertanto, il client non gira con privilegi elevati e alcune attività vengono delegate al servizio.

La comunicazione con il servizio (IPC) è implementata tramite socket (usando Overlapped I/O e IoCompletionPort). Di default, il servizio SYSTEM di TeamViewer è in ascolto su 5939/tcp in localhost.

TeamViewer non filtra il parametro inviato dal client per richiedere l'installazione del driver né il controllo della firma, ecc.

Quindi l'idea è: spoofiamo un client TV e chiediamo l'installazione di un VPN Driver ma indicando un altro INF. Ho riutilizzato lo stesso INF originale di TeamViewer ma in un altro percorso (non privilegiato), rinominando il driver "maligno" in teamviewervpn.sys, poiché è il nome del driver preso di mira dall'INF originale.

NOTA IMPORTANTE

Questo bypassa anche l'opzione di TeamViewer Le modifiche richiedono i diritti di amministratore su questo computer.

Questo controllo è efficace solo tramite GUI, poiché Opzioni di TeamViewer è disabilitato quando si fa clic sul pulsante con un utente senza privilegi. Ma è possibile connettersi al socket ed eseguire il caricamento arbitrario del driver.

NOTA IMPORTANTE II

L'exploit dipende dalla versione a causa del messaggio IPC in cui il client specifica il proprio PID e altri dati insieme alla versione. La versione del client deve corrispondere alla versione del servizio SYSTEM. L'exploit deve essere modificato (righe da 140 a 143) in Main.cpp in base alla versione di TeamViewer_service.exe presa di mira.

Quindi, in pratica, spoofiamo un client TeamViewer che si connette al servizio SYSTEM e richiediamo l'installazione di un driver arbitrario. Il servizio TeamViewer lo carica gentilmente nel Kernel.

Branch CVE-2024-7481

TeamViewer ha un altro messaggio IPC molto simile al primo che ho scoperto (invocato quando si fa clic su Installa driver VPN). Questo altro messaggio serve per installare il driver della stampante.

Quindi, essenzialmente, CVE-2024-7479 e CVE-2024-7481 sono la stessa cosa, ma TeamViewer ha commesso lo stesso errore due volte. I messaggi, sebbene diversi, sono molto simili. Hanno un Method Id IPC diverso.

Il risultato è lo stesso: un driver arbitrario può essere caricato.

E ricordate sempre: "Non è ciò che sono sotto la superficie, ma ciò che faccio a definirmi"

🦇

Linkedin badge Twitter badge

"Buy Me A Coffee"

Scarica lo strumento