Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-6769 — Analisi tecnica e PoC per CVE-2024-6769, che combina DLL hijacking e avvelenamento della cache di attivazione per elevare da integrità media ad alta sui sistemi Windows. | Kitploit
Strumenti/GitHubGitHub/fortra/cve-2024-6769
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubfortra/cve-2024-6769

CVE-2024-6769

Analisi tecnica e PoC per CVE-2024-6769, che combina DLL hijacking e avvelenamento della cache di attivazione per elevare da integrità media ad alta sui sistemi Windows.

Vedi Repository
781182 anni faRevisionato da Kitploit

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

Articolo del blog: CVE-2024-6769 Avvelenamento della cache di attivazione per elevare da integrità media ad alta

Questo articolo riguarda due bug concatenati: Il primo stadio è un bug di DLL Hijacking causato dal rimappaggio dell'unità ROOT e il secondo stadio è un bug di Avvelenamento della Cache di Attivazione gestito dal server CSRSS.

Il primo stadio è stato presentato in dettaglio all'Ekoparty 2023 nella presentazione intitolata "I'm High" da Nicolás Economou di BlueFrost Security. Ha spiegato come sfruttare la vulnerabilità che, all'epoca, non era ancora stata corretta da Microsoft. Ciò consentiva a un utente con INTEGRITÀ MEDIA di essere elevato ad avere PRIVILEGI LIMITATI ALTI, ma senza l'accesso completo per essere un amministratore a tutti gli effetti.

Il secondo stadio non è stato presentato a quella conferenza, sebbene siano stati suggeriti alcuni passaggi per iniziare a fare ricerche su di esso.

Per iniziare, rivedremo il primo stadio per fornire un contesto introduttivo. Da lì, ci addentreremo nella mia ricerca sul secondo stadio, approfondendo i dettagli per ottenere una escalation completa da INTEGRITÀ ALTA limitata ad Amministratore completo. Questo include un PoC funzionante completo per entrambi gli stadi per tutte le versioni di Windows, che è stato testato con successo su Windows 10, Windows 11, Windows Server 2022 e Windows Server 2019 con tutti gli aggiornamenti applicati.

Indice:

  • Revisione del primo stadio
  • Passaggi da seguire per sfruttare il secondo stadio.
  • Cos'è la Cache di Attivazione?
  • Utilizzo del Vettore di Attacco ALPC per Avvelenare la Cache di Attivazione
  • Come farà il sistema ad accettare il nostro Contesto di Attivazione?
  • Come avvelenare la Cache di Attivazione?
  • Come viene letto il mio Manifest XML incorporato?
  • Come viene analizzato il manifest XML incorporato?
  • Come è finita per essere caricata la mia falsa imm32.dll?
  • Demo video.
  • Prova di concetto funzionante
  • TL;DR Breve descrizione dei passaggi di sfruttamento

Revisione del primo stadio

Un quadrato rosso con testo bianco e un numero sopra Descrizione generata automaticamente

L'unico requisito per questo stadio è che il processo iniziale inizi a un LIVELLO DI INTEGRITÀ MEDIA e l'utente appartenga al gruppo Amministratori.

Il primo stadio dello sfruttamento può essere riassunto nei seguenti passaggi:

  1. Rimappaggio dell'unità ROOT utilizzando la funzione NtCreateSymbolicLinkObject.

Ad esempio: rimappaggio del disco da

"C:\" a "C:\users\public"

Questo rimapperà anche la cartella "system32" da

"C:\windows\system32" a "C:\users\public\windows\system32"

  1. Dopo il rimappaggio, alcuni Servizi vengono influenzati e tenteranno di caricare librerie dal nuovo system32 falso controllato dall'utente.

Uno di questi programmi influenzati è CTFMON, che viene eseguito a un LIVELLO DI INTEGRITÀ ALTA ma senza privilegi di Amministratore.

Normalmente, tenta di caricare il modulo chiamato MsCtfMonitor.dll dalla vera cartella system32, ma poiché l'unità ROOT è stata rimappata, cerca MsCtfMonitor.dll nel nostro system32 falso controllato, dove possiamo creare e posizionare una DLL modificata con lo stesso nome.

  1. Creare MsCtfMonitor.dll

A questo punto, posizionando la nostra versione di MsCtfMonitor.dll nella falsa cartella system32, la sua funzione DoMsCtfMonitor viene chiamata ed esegue il nostro codice a un LIVELLO DI INTEGRITÀ ALTA.

  1. Posizionare un MessageBoxA nella funzione DoMsCtfMonitor. Quando MsCtfMonitor.dll viene caricata, mostrerà il MessageBoxA "TRIGGER".

  1. Verificare che la DLL sia stata caricata nel processo CTFMON che viene eseguito al LIVELLO DI INTEGRITÀ ALTA:

Allo stesso tempo, possiamo confermare che il processo, nonostante sia a un LIVELLO DI INTEGRITÀ ALTA, non ha privilegi di Amministratore:

Passaggi per lo Sfruttamento del Secondo Stadio Un quadrato rosso con testo bianco e un numero sopra Descrizione generata automaticamente

Nella sua presentazione all'Ekoparty, Nicolas ha suggerito i seguenti passaggi per completare lo sfruttamento:

Sebbene ciò sembri semplice, richiede molto tempo per il reverse engineering e il debugging.

Approfondendo un po' la storia di questo vettore di attacco, è diventato chiaro che l'avvelenamento della Cache del Contesto di Attivazione è stato utilizzato in alcuni exploit. Di conseguenza, vale la pena imparare come lo sfruttamento è stato fatto in precedenza per fornire contesto e intuizioni aggiuntive. I dettagli su questo sfruttamento sono disponibili attraverso l'articolo della Zero Day Initiative, Activation Context Cache Poisoning: Exploiting CSRSS for Privilege Escalation.

Cos'è la Cache di Attivazione?

L'uso della cache di attivazione avviene quando un programma sta per caricare una libreria che richiede una versione specifica.

Ad esempio, se un'applicazione sta per caricare C:\Windows\System32\comctl32.dll, non c'è garanzia che la comctl32.dll in quella posizione sia la versione di cui l'applicazione ha bisogno. Questo è un caso d'uso base della Cache dei Contesti di Attivazione. Il programma può inviare una richiesta al server CSRSS per elaborare una nuova voce di Contesto di Attivazione da inserire nella cache, in modo che questo programma possa caricare la versione specifica della libreria necessaria.

A questo scopo viene utilizzato il cosiddetto manifest, che è in formato XML. Di solito è incorporato come risorsa in un file EXE o DLL. In alternativa, Windows cercherà un file manifest nella stessa cartella in cui si trova l'eseguibile del programma.

L'URL menzionato sopra ha alcuni esempi di file Manifest utilizzati da vecchi exploit, come ingannare il sistema per caricare la libreria advapi32.dll da una directory controllata dall'attaccante raggiunta tramite tecnica PATH TRAVERSAL.

Naturalmente, alcuni vettori di attacco utilizzati sono stati corretti e sono state scoperte alcune nuove tecniche. Inoltre, nella patch di ottobre 2022 per Windows 11 22H2, è stato aggiunto un nuovo controllo.

Dopo l'implementazione di questa patch, il controllo quando un Contesto di Attivazione (ACTX) viene registrato può essere bypassato solo se il processo che aggiunge la nuova voce nella cache ha lo stesso RID o un RID superiore rispetto al processo che la utilizzerà.

Scarica lo strumento