HackerSecret.it - Il Sito Italiano Più Autorevole sul Mondo dell'Hacking, del Penetration Testing e della CyberSecurity

  • Home
  • Visita il Nostro Shop
  • Scarica l’App gratuita
VISITA IL NOSTRO SHOP ! CLICCA QUI !

Guida alla Privilege Escalation nei sistemi Windows

da Lo Staff di HackerSecret.it / lunedì, 02 Settembre 2019 / Pubblicato il Hacking
Share
Tweet
Pin

In questo articolo andrò ad elencare alcune tra le principali tecniche di Privilege Escalation nei sistemi operativi Windows. Per chi non sapesse cosa sia, la privilege escalation (intesa come sorpasso delle autorizzazioni) è l’aumento di privilegi che si possiedono tramite particolari tecniche, come lo sfruttamento di un exploit o di un bug, al fine di poter eseguire azioni che prima non si potevano effettuare.

Esistono due tipologie di privilege escalation:

  1. Verticale
  2. Orizzontale

Per quanto riguarda la prima, è quando un utente con determinati permessi, riesce ad effettuare azioni privilegiate senza (in teoria) averne la possibilità. Nel caso specifico, se su una macchina abbiamo un utenza normale, sfruttando una misconfigurazione, riusciamo ad ottenere permessi di root.

Esempio di Privilege Escalation verticale

Nel caso della scalate verticale, è quando un utente con permessi su determinate aree del sistema, riesce ad ottenere i permessi su altre aree del sistema. Ad esempio è come se in un servizio bancario, riuscissi a visualizzare il conto corrente di un altro utente.

In questo articolo andremo ad analizzare la scalate verticale nei sistemi Linux, ossia come poter sfruttare determinate tecniche per ottenere i privilegi di root.

Metodologia

Come ogni buon processo che si rispetti, anche in questo caso esiste una particolare metodologia e dei passi precisi da eseguire:

  1. Collezionare informazioni: è la parte fondamentale, e consiste nell’enumerazione del sistema, dei file e nell’ottenere più informazioni possibili dal sistema
  2. Processare informazioni: consiste nell’analizzare tutte le informazioni trovate nella fase precedente, al fine di prioritizzarle
  3. Ricerca e approfondimento: una volta ottenute e analizzate le informazioni, bisogna capirle al meglio e trovare il codice vulnerabile, il bug o la misconfigurazione che ci potrebbe permettere l’escalation
  4. Adattamento: se la casistica in esame non è standard, dovremmo adattare l’exploit o scriverne uno al fine di ottenere il risultato sperato
  5. Tentativo: utilizzare ciò che è stato trovato o creato e provare la scalata. Se non funziona, ripartire dall’approfondimento di un altra informazione.

Collezionare informazioni

Una volta ottenuta una connessione con il sistema vittima (ad esempio con una reverse shell), bisogna porsi una serie di domande, come:

  • Che sistema operativo è?
  • Che programmi ci sono installati?
  • Ci potrebbero essere password salvate in chiaro o con permessi laschi?
  • e via discorrendo..

A queste domande si può rispondere con una serie di comandi, come:

  • Versione del sistema operativo e informazioni base
    • systeminfo | findstr /B /C:”OS Name” /C:”OS Version”
    • hostname
    • echo %username%
  • Configurazioni di rete
    • net users
    • net users usersname
    • ipconfig /all
    • route print
    • arp -A
    • netstat -ano
  • Servizi attivi
    • schtasks /query /fo LIST /v
    • tasklist /SVC
    • net start
  • File di configurazione
    • type C:\sysprep.inf
    • type C:\sysprep\sysprep.xml
    • type %WINDIR%\Panther\Unattend\Unattended.xml
    • type %WINDIR%\Panther\Unattended.xml
    • type C:\Windows\system32\sysprep\sysprep.xml
    • type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
    • type C:\inetpub\wwwroot\web.config
  • Ricerca Password
    • reg query HKCU /f password /t REG_SZ /s
    • reg query HKLM /f password /t REG_SZ /s
    • findstr /si password *.txt
    • findstr /si password *.xml
    • findstr /si password *.ini

Molto similarmente alla guida su Linux, i comandi sono molteplici e consistono principalmente nell’enumerazione del sistema e nel capire in che ambiente ci troviamo. Alcuni programmi che eseguono automaticamente operazioni di enumerazione sono BeRoot, laZagne, PowerUp e WindowsPrivCheck.

Una volta mappato l’ambiente, le tipologie di Privilege escalation negli ambienti Windows sono molteplici, tra le quali:

  1. Stored Credentials: consiste sostanzialmente nella ricerca di password salvate in chiaro nel sistema che ci possano aiutare a scalare i privilegi;
  2. Kernel Exploit: come per Linux, ci sono diversi exploit per la Privilege Escalation, basta trovare la versione vulnerabile;
  3. DLL Injection: è una tecnica particolare, che permette di eseguire codice arbitrario nel contesto dello spazio di indirizzo di un altro processo. Per chi volesse approfondire, consiglio DLL Injection;
  4. Weak Permission: se un programma viene installato nel sistema con permessi errati, i quali ci vengono incontro per aumentare i privilegi;
  5. Unquoted Service Path: negli ambienti Windows, all’avvio di un servizio, il sistema cerca di trovare la posizione dell’eseguibile per avviare con successo il servizio. Se l’eseguibile è racchiuso nei tag “” allora il sistema lo trova immediatamente, ma, se il percorso non contiene le “”, Windows cercherà di trovarlo ed eseguirlo all’interno di ogni cartella di questo percorso fino a quando non raggiunge l’eseguibile. In questo caso, è possibile eseguire attacchi di Privilege Escalation (un approfondimento è presente qui);
  6. Weak Service: molto simile a weak permission.

So che buttati a caso in un elenco dicono poco…vediamo qualche esempio pratico!

Weak Permission

Uno degli errori più comuni è impostare permessi troppo laschi ad una cartella o file che sarà poi eseguito da un utente con privilegi di amministrazione. Ad esempio, se digito

cacls.exe "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"

si può vedere dalla prima riga, che gli utenti appartenenti a “User” hanno completo accesso alla cartella (lettera F). In questo modo, basterà copiare la nostra reverse shell all’interno della cartella, riavviare la macchina (o disconnettersi dallla sessione) e si avrà una sessione amministrativa

Weak Service

Utilizzando lo script di PowerUp abbiamo la possibilità di cercare servizi vulnerabili. Per eseguirlo, se digito

powershell.exe -exec bypass -Command "& {Import-Module .\PowerUp.ps1; Invoke-AllChecks|Out-File -Encoding ASCII checks.txt}"

verrà eseguito powershell, bypassando possibili controlli, in background e in modo tale da avere l’output scritto su un file di testo. Guardando all’interno del file, è stato controllato un servizio ed è risultato con permessi misconfigurati.

Servizio con permessi errati

Per verificare i permessi del servizio, carico sulla macchina AccessChk, che serve per verificare i permessi sui file, registri, servici, etc.

Permessi del servizio

Come si può notare dall’immagine, chiunque può modificare i dettagli del servizio. Andiamo quindi ad indagare quali sono con il tools sc.

Configurazione del servizio

Per poter ottenere i privilegi di root, ci basterà modificare il PATH del binario con una nostra reverse shell, fermare e riavviare il servizio. In questo modo esso si avvierà come amministratore, e ci permetterà di diventare tali.

sc config daclsvc binpath= "C:\Users\luca\Downloads\reverse.exe"
sc stop daclsvc #In questo momento andremo ad avviare netcat sulla nostra macchina
sc start daclsvc
E siamo diventati amministratori.

Unquoted Service Path

Sempre tramite l’outpur di PowerUP, viene mostrato come vari servizi non abbiano le virgolette, andando a descrivere il path errato.

Path senza virgolette

In questo modo, basterà andare a a copiare un file con il nome di “common” e questo verrà eseguito, poichè il sistema andrà a cercarne uno con quel nome.

Copio la mia solita reverse shell, mi metto in ascolto sulla porta e faccio partire il servizio

Privilegi di amministratore ottenuti!

Conclusioni

Per chi volesse esercitarsi con altri esercizi, gli esempi illustrati nell’articolo sono stati presi da Windows Local Privilege Escalation Workshop, che contiene altri esercizi pratici per imparare. Altre fonti utili per approfondire l’argomento sono:

  1. https://h4ck.co/wp-content/uploads/2017/11/PowerUp.pdf
  2. http://pentest.tonyng.net/windows-privilege-escalation/
  3. http://pwnwiki.io/#!privesc/windows/uac.md
  4. http://www.greyhathacker.net/?p=738
  5. http://pwnwiki.io/#!privesc/windows/index.md
  6. http://www.fuzzysecurity.com/tutorials/16.html

Ho trovato molto utili anche dei video, come:

  • Encyclopaedia Of Windows Privilege Escalation – Brett Moore
  • Level Up! Practical Windows Privilege Escalation – Andrew Smith
  • DerbyCon 3 0 2105 Windows Attacks At Is The New Black Rob Fuller And Chris Gates

Hits: 408

social-container synved-social-container-share” style=”text-align: right”>Facebooktwitterredditlinkedintumblrmail

L’articolo Guida alla Privilege Escalation nei sistemi Windows proviene da HackTips.

HackTips

Share
Tweet
Pin
Taggato in: alla, Escalation, Guida, Privilege, sistemi, Windows

Clicca subito qui per visitare il nostro Shop!

Clicca subito qui per visitare il nostro Shop!

Altri 2300 utenti come te lo hanno già fatto quest'anno!

Dicono di Noi

Francesca M. – Sistemista

Share
Tweet
Pin
 
Samuel D. – Hacker Etico

Share
Tweet
Pin
 
Carola M. – Influencer

Share
Tweet
Pin
 
Renato P. – Investigatore Privato

Share
Tweet
Pin
 
Rosaria S. – Casalinga

Share
Tweet
Pin
 
Paolo V. – Consulente Informatico

Share
Tweet
Pin
 
Matteo C. – Imprenditore

Share
Tweet
Pin
 
Alice B. – Studentessa di Informatica

Share
Tweet
Pin
 
Goffredo B. – Analista IT

Share
Tweet
Pin
 
Roberto C. – Programmatore

Share
Tweet
Pin
 

SCARICATA 1316 VOLTE!

SCARICATA 1316 VOLTE!

Scarica subito Hacker Secret la nostra app Android gratuita.

Cerca nel Sito

Gli ultimi articoli

  • I più famosi hacker italiani

  • Cos’è l’informatica forense?

  • Come capire se ti spiano il cellulare?

  • Il concetto di sicurezza informatica

  • Metasploit tutorial in italiano

Tutte le tecniche, i prodotti e i servizi descritti o contenuti in questo sito si intendono per uso esclusivo di studio e di aggiornamento professionale e per testare la sicurezza della propria rete informatica in accordo alle vigenti normative sull'accesso a sistemi informativi e telematici (cfr. art. 615 ter c.p. e successive modifiche).

TORNA SU
Nuovo Ordine!