> For the complete documentation index, see [llms.txt](https://nimrm.blue0x1.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nimrm.blue0x1.space/overview.md).

# Overview

<figure><img src="https://3078030557-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6JSXdVvZVaYEqVwVrINJ%2Fuploads%2Fs8N4ugoaOeG9ybQ6sjL0%2Fimage.png?alt=media&amp;token=f2ec9bf4-2666-4b56-b2cf-8a3a585d25a1" alt=""><figcaption></figcaption></figure>

nimrm is a native WinRM shell client written in Nim. It is focused on authorized Windows administration, security testing, and research where WinRM is available and the operator has valid credentials or a valid Kerberos cache.

nimrm is not a full network enumeration framework. It is a focused remote management client with:

* NTLM password authentication
* NTLM pass-the-hash authentication
* Kerberos authentication through `KRB5CCNAME`
* HTTP and HTTPS WinRM transport
* Interactive PowerShell shell
* CMD execution through the `!` prefix
* One-shot command execution
* Upload and download
* Recursive directory upload and download
* Remote session-to-session file relay
* Remote session-to-session directory relay
* In-memory PowerShell script execution
* In-memory managed .NET assembly execution
* AD/domain context reporting
* Logging and auditing posture checks
* Multiple active WinRM sessions from one shell

### Design

nimrm keeps the workflow narrow and practical. The operator connects to one WinRM endpoint, runs commands, transfers files when needed, starts extra sessions when needed, and can relay files between remote sessions without writing a temporary copy to the controller host.

The main command syntax is:

```bash
nimrm -T <host> -A <account> -P <password> [options]
nimrm -T <host> -A <account> -N <nthash|lm:nthash> [options]
nimrm -T <host> -A <account@REALM> -k [options]
```

The interactive shell accepts normal PowerShell commands. Prefix a command with `!` to run it through `cmd.exe`.

```powershell
PS C:\Users\operator> whoami
PS C:\Users\operator> Get-Process
PS C:\Users\operator> !ipconfig /all
```

### Project

Source:

```
https://github.com/blue0x1/nimrm
```

License:

```
MIT
```

Author:

```
Chokri Hammedi (blue0x1)
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://nimrm.blue0x1.space/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
