In quest'articolo mostrerò quanto scoperto da Korznikov e vedremo come un account locale di Windows, con i permessi di sistema, può prendere il controllo di altre sessioni utente attive sulla postazione senza conoscerne la password.
ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.
La procedura può essere eseguita sia utilizzando il Task Manager sia utilizzando Remote Desktop Protocol (RDP) tramite TSCON. In entrambi i casi è necessario procurarsi PSEXEC. L'utility può essere scaricata sia singolarmente da QUI sia come parte integrante della Sysinternals Suite.
Supponiamo che l'utente abbia bloccato il computer con la sua utenza (ad es. utilizzando la combinazione WIN+L o premendo CTRL+ALT+CANC e selezionando Blocca) e si sia allontanato dalla postazione. Possiamo prendere il controllo della sessione utente bloccata utilizzando uno dei seguenti metodi.
Metodo 1: Prendere il controllo della sessione dell'account vittima tramite il Task Manager
- Eseguire il logon con altro utente, amministratore locale della workstation.
FIG 1 - Eseguire logon con altro account amministratore locale - Avviare il Task Manager/Gestione attività e selezionare la scheda Utenti. Nella colonna ID prendere nota dell ID relativo all'account amministratore locale (in FIG 2 l'ID corrisponde ad 8).
FIG 2 - Gestione attività, ID sessione utente amministratore locale - Avviare il prompt dei comandi come amministratore.
- Accedere alla cartella contenente PSEXEC e utilizzarlo per lanciare il Task Manager con l'utenza System tramite il seguente comando
psexec -s \\localhost -i 8 taskmgr
dove 8 rappresenta l'ID recuperato nei passi precedenti. Cliccare sul pulsante Agree all'eventuale visualizzazione del messaggio relativo alle condizioni di licenza di PSEXEC.FIG 3 - Avvio del Task Manager con l'utenza System tramite PSEXEC - Nella nuova finestra del Task Manager selezionare nuovamente la scheda Utenti, cliccare con il tasto destro del mouse sulla sessione della vittima di cui si vuole prendere il controllo e selezionare Connetti. A questo punto ci ritroveremo all'interno della sessione della vittima.
FIG 4 - Connetti alla sessione della vittima tramite Task Manager/Gestione attività
Metodo 2: Prendere il controllo della sessione dell'account vittima tramite TSCON
- Aprire il prompt dei comandi come amministratore.
- Spostarsi nella cartella contenente PSEXEC e utilizzarlo per aprire un prompt dei comandi con l'account System eseguendo
psexec -s \\localhost cmd - Per conoscere con quale utenza si sta lavorando eseguire il comando
whoami
Assicurarsi che in risposta si riceva nt authority\system. - Digitare ed eseguire il comando
query user
e prendere nota dell'ID relativo alla sessione della vittima (In FIG 5 l'ID della vittima corrisponde a 9).FIG 5 - Recuperare l'ID della sessione della vittima - Connettersi alla sessione della vittima eseguendo
tscon 9 /dest:console
dove 9 rappresenta l'ID della sessione verificata nel passo precedente.
I metodi sopra descritti funzionano con tutte le versioni di Windows comprese le versioni Server.