alphasec
PowerShell protip 0001
in 𝕏

PowerShell Constrained Language Mode

tty1 · powershell
// Powershell Constrained Language Mode
#Powershell#BlueTeam#MakeItHarder

Constrained Language Mode pozwala używać Powershella jedynie w podstawowym jego zakresie, blokując chociażby dostęp do klas .NET czy Windows API, przez co wiele ofensywnych skryptów takich jak Invoke-Mimikatz nie zadziała.

Aktualny stan sprawdzisz wyświetlając zmienną:

$ExecutionContext.SessionState.LanguageMode

Dla testów, aktywować Powershell Constrained Language Mode możesz poprzez:

[Environment]::SetEnvironmentVariable(‘__PSLockdownPolicy‘, ‘4’, ‘Machine‘)

lub dla aktualnej sesji:

$ExecutionContext.SessionState.LanguageMode = "ConstrainedLanguage"

Jednak docelowo, powinieneś zrobić to za pomocą GPO.

Drobna wizualizacja

Przydatne linki

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes web ↗ https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/ web ↗ https://youtu.be/ApHgnw9hI3E?t=2075 - Wielki Administrator włącza Powershell Constrained Language Mode video ↗
••• Wszystkie protipy następny → protip 0002
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: