Mise à jour : si vous n'aimez pas la ligne de commande vous pouvez utiliser un utilitaire gratuit
Parfois on a besoin de lancer un programme ou exécutable avec des droits d'exécution élevés. Au delà du compte administrateur il y a le compte NT\Authority (NT Autorité) qui est un compte intégré à Windows et disposant d'encore plus de droits, sans aucun profil.
Grâce à PsExec il est possible de lancer CMD avec ces super droits. C'est un outil que j'utilise depuis de nombreuses années et c'est un incontournable (bigUp à Mark Russinovich). D'autant qu'à l'époque le semblable Invoke-Command en PowerShell n'existait pas.
PsExec
Récupérez psexec dans les PSTools.zip
Copiez psexec.exe dans %windir%\system32
ou le répertoire de votre choix.
Ouvrir une cmd en tant qu'administrateur puis :
psexec.exe -accepteula -s -i cmd
Une nouvelle fenêtre cmd doit s'ouvrir, vérifiez avec whoami que vous bien en tant que "autorite nt\système" :
Récupérer PsExec avec PowerShell
Invoke-WebRequest -Uri 'https://download.sysinternals.com/files/PSTools.zip' -OutFile 'pstools.zip' Expand-Archive -Path 'pstools.zip' -DestinationPath "$env:TEMP\pstools" Move-Item -Path "$env:TEMP\pstools\psexec.exe" . Remove-Item -Path "$env:TEMP\pstools" -Recurse
PsExec à distance
PsExec fonctionne également à distance pour atteindre d'autres machines, à condition d'avoir :
- le partage administratif admin$ activé
- le flux CIFS ouvert (port TCP 445)
- un compte pour ouvrir une session (domaine ou local)
Exemple pour atteindre le cmd d'un serveur distant zeus.bm avec mes identifiants de domaine :
psexec.exe -accepteula \\zeus.bm -s -i cmd -u BM\xhark -p MonPassword
Vous pouvez également lancer une commande sur plusieurs machines d'un coup :
psexec -accepteula \\zeus.bm,srv-file.bm,srv-git -s -i ipconfig
Activer le bureau à distance avec PsExec
Comme on est dans les astuces, voici comment utiliser PsExec pour activer le bureau à distance (à distance^^) :
psexec.exe -accepteula \\srv-dc reg add "hklm\system\currentcontrolset\control\terminal server"/f /v fDenyTSConnections /t REG_DWORD /d 0
Lancer une application (GUI)
psexec \\srv-file -i notepad.exe -d
Attention ce n'est pas mais l'utilisateur distant qui verra l'application s'ouvrir.
Désactiver le pare-feu sur tous les profils de connexion
psexec.exe -accepteula \\srv-dc -s netsh advfirewall set allprofiles state off
Attention aux GPO qui reprennent le dessus si vous avez défini une stratégie liée au pare-feu
Conclusion
➡️ N'hésitez pas à me donner vos astuces PsExec en commentaire 🙂
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
2 commentaires
Afin de pouvoir modifier les paramètres qui apparaissent en grisé sur certaines tâches système il suffit de lancer le planificateur de tâches avec Psexec :
“C:\Program Files (x86)\Psexec\PsExec.exe” –i –s %windir%\system32\mmc.exe /s taskschd.msc
Et le tour est joué !
@YTching: merci pour l'astuce 👍