# WinRM

WinRM is a Microsoft implementation of the WS-Management Protocol. It uses WMI over HTTP(S) over 5985/TCP and 5986/TCP.

WinRM requires listeners on the client and server to process requests. This can be enabled using the Powershell command ’`Enable-PSRemoting –Force`’ locally and remotely using any of the previous techniques.

```
winrs -r:REMOTEIP -u:DOMAIN\USER -p:PASSWORD notepad.exe
```

We can also avoid the double-hop problem with -EnableNetworkAccess

```
PS> Enter-PSSession –ComputerName REMOTEIP –Credential DOMAIN\USER –EnableNetworkAccess
```

If the computer is not domain joined, then you need to add the target computer to the trustedhosts list

```
PS > winrm quickconfig
PS > Set-Item WSMan:\localhost\Client\TrustedHosts –Value ’<TARGET_HOST>,<TARGET_HOST2>’
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kwcsec.gitbook.io/the-red-team-handbook/techniques/lateral-movement/winrm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
