Rechercher dans ce blog

lundi 3 juin 2024

Powershell : Récupére les sessions ouvertes a distance

 


Function Get-Session($HostName)

{

    $Computer = query session /server:$HostName

    $UserSession = ($Computer -replace "\s+", ";") | ConvertFrom-Csv -Delimiter ";" -Header "HOSTNAME", "SESSIONNAME", "USERNAME", "ID", "STATE", "TYPE", "DEVICE"

    $UserSession | % {$_.HOSTNAME = $HostName}

    $UserSession = $UserSession | ? {$_.STATE -eq "Actif"}

    Return $UserSession

}


Get-Session NomDeLaMachine

mardi 28 mai 2024

Powershell : Cryptage et décryptage simple d'un mot de passe


  1. Faire la génération d'une clef ($Key) depuis un site qui est capable de générer des mots de passe complex et remplacer la valeur de $Key

  2. Jouer le script une fois pour pouvoir utiliser les "function"
  3. Lancer la commande "Mask -Message MonMotDePasse", vous deviez avoir un retour avec une chaine complement crypté, copier cette chaine
  4. Utiliser cette chaine crypté dans votre code en ajoutant que la partie $key et UnMask


Add-Type -AssemblyName System.Security


$key = "c!LL!hm&&A##oaQ/-G4x+#TBzS!!tzCT#k!rs9NNz"


Function Mask($Message)

{

    $encryptedBytes = [System.Security.Cryptography.ProtectedData]::Protect([System.Text.Encoding]::UTF8.GetBytes($Message), [System.Text.Encoding]::UTF8.GetBytes($key), [System.Security.Cryptography.DataProtectionScope]::CurrentUser)

    $encrypted = [Convert]::ToBase64String($encryptedBytes)


    Return $encrypted

}


Function UnMask($Message)

{

    $decryptedBytes = [System.Security.Cryptography.ProtectedData]::Unprotect([Convert]::FromBase64String($Message), [System.Text.Encoding]::UTF8.GetBytes($key), [System.Security.Cryptography.DataProtectionScope]::CurrentUser)   

    $decrypted = [System.Text.Encoding]::UTF8.GetString($decryptedBytes)

    Return $decrypted

}