
Versione : prima della 210.9.28693.62001
Riepilogo: ho scoperto una vulnerabilità in Tencent PC Manager in cui i file e le directory sotto C:\Windows\Temp vengono gestiti in modo non sicuro. Un attaccante può sfruttare attacchi tramite collegamenti simbolici (symlink) per indurre un processo con privilegi SYSTEM a eliminare file arbitrari, con conseguente escalation locale dei privilegi. Nello specifico, un processo denominato LegacyKB_ioa_win.exe viene avviato periodicamente quando si utilizza il componente "ioa". Durante il funzionamento, crea una directory TencentDownload nella cartella Temp, scarica file al suo interno e successivamente esegue eliminazioni come SYSTEM. A causa di una validazione insufficiente dei percorsi e di una logica di eliminazione non sicura, questo comportamento può essere abusato per eliminare file scelti dall'attaccante con privilegi SYSTEM.
È stato osservato che il processo "LegacyKB_*.exe" esegue le seguenti operazioni con privilegi SYSTEM :
Quando è disponibile una nuova versione o un hotfix, il componente iOA scarica ed esegue un file Legacy_*.exe da Internet.
Legacy_*.exe verifica la presenza della directory TencentDownload sotto C:\Windows\Temp; se non esiste, la crea.
Legacy_*.exe crea una sottodirectory con un prefisso tilde (ad es. ~) all'interno di TencentDownload.
Alla fine, Legacy_.exe utilizza i privilegi SYSTEM per eliminare la sottodirectory ~ all'interno di TencentDownload.
Poiché la directory "C:\Windows\Temp\TencentDownload" può essere creata dall'utente corrente e le viene assegnato il privilegio "Modify" per l'utente corrente, l'utente corrente può modificare e leggere l'intera directory. Con questa configurazione, un utente non privilegiato è in grado di ottenere l'eliminazione arbitraria di file creando un collegamento simbolico a una posizione privilegiata (ad es. C:\Windows\System32). Inoltre, un utente malintenzionato può ottenere l'escalation locale dei privilegi tramite l'eliminazione arbitraria di file/cartelle.
Per eseguire la LPE tramite l'eliminazione arbitraria di file/cartelle , l'utente può seguire i seguenti passaggi:
L'utente crea la cartella "C:\Windows\Temp\TencentDownload"
L'utente imposta un OpLock sulla cartella "C:\Windows\Temp\TencentDownload~*" una volta osservato che è stata creata una cartella con prefisso ~
Il processo "Legacy_.exe" tenterà di rimuovere la cartella "C:\Windows\Temp\TencentDownload~" con privilegi SYSTEM.
Il processo "Legacy_*.exe" verrà sospeso a causa dell'OpLock
Quando l'OpLock viene attivato, l'utente sposta il file "C:\Windows\Temp\TencentDownload~*" altrove per svuotare la cartella
L'utente crea un junction "C:\Windows\Temp\TencentDownload" verso "\RPC Control"
L'utente crea un collegamento simbolico "GLOBAL\GLOBALROOT\RPC Control~*" alla cartella/file di destinazione (ad es. C:\Windows\System32\secrets)
L'utente rilascia l'OpLock
L'utente elimina il collegamento simbolico
Il file/cartella di destinazione (ad es. C:\Windows\System32\secrets) verrebbe eliminato
Video PoC :https://drive.google.com/file/d/1RXQgaNBDeopurcP63xmhMXDM7stHaIzO/view?usp=sharing
