Bonjour à tous, aujourd’hui je voulais vous partager un bout de script qui permet de déplacer le curseur de la souris en PowerShell. Ça parait bête, mais c’est bien pratique pour faire des blagues potaches à vos collègues, combiner avec des ruber ducky, ou faire des pièces jointes piégées à base de Macro Office. Voir simplement placer la souris à un endroit particulier dans un script avec une IHM…
Add-Type -AssemblyName System.Windows.Forms
while ($true){
$Pos = [System.Windows.Forms.Cursor]::Position
$x = ($pos.X % 500) + 10
$y = ($pos.Y % 500) + 10
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
Start-Sleep -Seconds 10
}
D’ailleurs et dans la même veine, vous pouvez utiliser les objets COM pour simuler la saisie de touches au clavier hein. C’est bien pratique quand vous voulez faire des démonstrations de charges malveillantes dans des macros piégés.
Par exemple, vous créez une Macro « moisie » comme je le fait dans mon livre mais au lieu d’ouvrir un canal de contrôle-commande vers un PowerShell Empire, vous ouvrez un notepad.exe, changez le focus pour mettre le bloc note devant, et faite écrire un texte de sensibilisation dedans. Effet garantie.
$wshell = New-Object -ComObject wscript.shell
$wshell.AppActivate('Bloc-note')
Sleep 1
$wshell.SendKeys('Geek!!!')
Voilà, maintenant vous savez déplacer le curseur de la souris en PowerShell. Comme je disais, ce n’est pas un gros article cette semaine mais ces petits bouts de code m’ont rendu service à droite à gauche. Notamment quand j’ai fait des interface en XAML… ou un script d’élévation de privilège en PowerShell. Je suis certain que vous trouverez des usages aussi :-).
Bonne geekeries à vous !