Mål: Förhindra spridning mellan system via Windows Remote Management (WinRM) och PowerShell Remoting.

Angripare kan manuellt utnyttja Windows Remote Management (WinRM) för att sprida virus mellan system i hela miljön. WinRM är som standard aktivt på alla Windows Server operativsystem sedan version 2012 och senare, men inaktiverat på alla arbetsstationer (Windows 7 och Windows 10) och äldre Windows Server versioner som Windows Server 2008 R2.

PowerShell Remoting (PS Remoting) är ett inbyggt standardverktyg för fjärrexekvering av kommandon, en funktion byggd ovanpå WinRM protokollet.

Om WinRM tidigare varit aktiverat på en arbetsstation (ej server) kommer följande konfiguration finnas, och behöver även manuellt återställas utöver inaktivering.

  • WinRM lyssnare
  • Windows brandvägg undantagsregel (vilket öppnar trafik för WinRM)

Alternativa metoder

PowerShell metod:

Disable-PSRemoting -Force
Inaktivering av PowerShell Remoteing hindrar inte användare från PowerShell lokalt eller initiera fjärrsessioner.

Efter ovan kommando exekverats, visas följande meddelande.

Här visas en varning om att enbart detta steg inte räcker om det varit aktivt tidigare.

Stoppa och inaktivera WinRM.

Stop-Service WinRM -PassThruSet-Service WinRM -StartupType Disabled
PowerShell kommando för att stoppa och inaktivera WinRM


Inaktivera tjänsten som lyssnar och accepterar anrop från alla IP addresser.

dir wsman:\localhost\listener
Remove-Item -Path WSMan:\Localhost\listener\<Listener name>
PowerShell kommando för att ta bort en WSMAN-lyssnare


Inaktivera Windows brandväggs-regelundantag för WS-Management kommunikation.

Set-NetFirewallRule -DisplayName ‘Windows Remote Management (HTTP-In)’ -Enabled False
PowerShell kommando för att ta bort brandväggs-regelundantag


Återställa värdet för LocalAccountTokenFilterPolicy till “0” (noll), vilket tvingar UAC (User Account Control) vilket är en säkerhetsfunktion som tvingar användaren att manuellt tillåta förändring, för det inbyggda administratör (RID 500) kontot.

Set-ItemProperty -Path
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system -Name LocalAccountTokenFilterPolicy -Value 0
PowerShell kommando för att återställa kravet att godkänna förändringar manuellt


Group Policy metod:

  • Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service > Allow remote server management through WinRM
    Om ovan GPO inställning är inaktiverad svarar inte datorn på fjärranrop från andra datorer oavsett om WinRM-lyssnaren är konfigurerad eller inte.
  • Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Remote Shell > Allow Remote Shell Access
    Denna GPO styr konfigurationen av all fjärråtkomst via script och kommandon.