Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
nimrm — 原生 Nim WinRM Shell,支持 NTLM、Kerberos、文件传输、内存辅助工具及 AD/OPSEC 报告 | Kitploit
工具/GitHubGitHub/blue0x1/nimrm
Payload生成横向移动信息收集后渗透利用渗透测试命令与控制身份验证红队远程访问工具
GitHubblue0x1/nimrm

nimrm

原生 Nim WinRM Shell,支持 NTLM、Kerberos、文件传输、内存辅助工具及 AD/OPSEC 报告

5311个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
网站

nimrm

Release Downloads

用 Nim 编写的原生 WinRM shell 客户端

版本 1.2.0 · 作者 Chokri Hammedi (blue0x1) · 许可证 MIT

NTLM Kerberos PowerShell File Transfer In-Memory Helpers Multi-Session

Documentation WinRM Library


image

法律声明

nimrm 旨在用于对您拥有或已获得明确访问许可的系统进行合法管理、安全测试和研究。作者不对因滥用或使用本工具造成的损害负责。

目录

  • 概述
  • 功能特性
  • 环境要求
  • 安装
  • 构建
  • 性能
  • 使用方法
  • 选项
  • 交互式命令
  • 会话管理
  • 示例
  • 注意事项
  • 许可证

概述

nimrm 提供了一个紧凑且快速的 WinRM shell,具备实用的身份验证、命令执行、传输和报告辅助功能。它以原生 Nim 二进制文件形式构建,不依赖任何 Nim 包。

功能特性

领域支持情况
身份验证NTLM 密码、NTLM 哈希、通过 KRB5CCNAME 的 Kerberos
WinRM 传输HTTP、HTTPS/TLS、自定义端口
Shell交互式 PowerShell、CMD 前缀、一次性命令模式、命令和本地路径自动补全
传输文件上传/下载、递归目录传输、远程会话到会话的文件和目录中继
内存操作PowerShell 脚本导入、托管 .NET 程序集执行
报告AD/域上下文、日志记录和审计态势
可靠性Kerberos 消息封装、传输重置/重试处理

环境要求

组件要求
构建Nim >= 1.6.0
KerberosLinux 上的 libgssapi_krb5.so.2 或 macOS 上的 libgssapi_krb5.dylib
TLS 构建OpenSSL 和 -d:ssl
目标所选端口上可访问的 WinRM

安装

Nimble:

nimble install nimrm

下载最新版本:

curl -L -o nimrm https://github.com/blue0x1/nimrm/releases/latest/download/nimrm
chmod +x nimrm

Windows 发布版二进制文件:

Invoke-WebRequest -Uri https://github.com/blue0x1/nimrm/releases/latest/download/nimrm.exe -OutFile nimrm.exe

Debian 软件包:

curl -L -o nimrm_1.2.0_amd64.deb https://github.com/blue0x1/nimrm/releases/latest/download/nimrm_1.2.0_amd64.deb
sudo dpkg -i nimrm_1.2.0_amd64.deb

BlackArch:

sudo pacman -S nimrm

BlackArch PKGBUILD 跟踪最新的上游 git 提交,因此新版本会在用户下次系统更新时到达 BlackArch 用户。如果 nimrm 已安装,请使用以下命令升级:

sudo pacman -Syu nimrm

从源码构建:

git clone https://github.com/blue0x1/nimrm.git
cd nimrm
make linux

构建

make linux
make ssl
make windows

Windows 目标会在 dist/windows/nimrm.exe 构建一个自包含的、支持 SSL 的可执行文件。启动器用 Nim 编写,内嵌生成的 WinRM 核心以及来自 vendor/windows-runtime/ 所需的运行时 DLL,执行时将它们解压到临时运行时目录,然后使用相同的参数运行核心。除非传递 --tls / --ssl,否则这支持纯 HTTP WinRM;启用 TLS 时支持 HTTPS WinRM。内嵌的 OpenSSL 运行时使用:

libssl-3-x64.dll
libcrypto-3-x64.dll

Kerberos 模式(-k / --kerb)在 Windows 上延迟加载,因此即使不使用 Kerberos,可执行文件也能启动。Windows 构建内嵌了 Kerberos 模式所使用的 MIT Kerberos/GSSAPI 运行时。

手动构建:

nim c -d:release --opt:speed -o:nimrm nimrm.nim

性能

nimrm 通过使用原生 Nim 二进制文件、持久化 WinRM runspace、分块传输逻辑和紧凑的进度渲染来保持高速。

操作实现
上传分块 Base64 写入,对大信封进行自适应重试
下载流式 Base64 分块,带进度跟踪,小文件走快速路径
远程会话中继从一个 WinRM 会话读取并写入另一个会话,通过控制器内存传输,不将文件写入本地磁盘
目录传输使用相同的分块传输路径进行递归文件枚举
命令执行复用活动的 WinRM shell/runspace,而不是每条命令重新连接

使用方法

NTLM 密码:

./nimrm -T 192.168.1.10 -A 'CORP\administrator' -P 'Password123'

NTLM pass-the-hash:

./nimrm -T 192.168.1.10 -A 'CORP\user' -N aad3b435b51404eeaad3b435b51404ee:0123456789abcdef0123456789abcdef

Kerberos:

KRB5CCNAME=FILE:/tmp/user.ccache ./nimrm -k -T dc01.corp.local -Z CORP.LOCAL

通过 HTTP 强制 NTLM 消息加密:

./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --seal

自定义端口:

./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -p 5985

一次性命令:

./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -c 'whoami'

跳过 TLS 证书验证(自签名证书):

./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --tls --insecure

选项

选项描述
-T, --target目标 IP 或主机名
-A, --account用户名:user、user@domain 或 DOMAIN\user
-P, --secretNTLM 密码
-p, --portWinRM 端口
-N, --nt-proofNT 哈希或 LM:NT 哈希
-Z, --krb-zoneKerberos 领域覆盖
-K, --kerb-spnKerberos SPN 覆盖
-k, --kerb使用 Kerberos 身份验证
-c, --command执行一条命令后退出
--tls使用 HTTPS/TLS
--insecure跳过 TLS 证书验证
-h, --help显示帮助

交互式命令

命令描述
/help显示帮助
exit, quit关闭 shell
!<cmd>通过 cmd.exe 运行
upload <local> [remote]上传单个文件
download <remote> [local]下载单个文件
rupload <remote> <session> [dest]通过内存将远程文件从活动会话复制到另一个会话
rdownload <session> <remote> [dest]通过内存将远程文件从另一个会话复制到活动会话
rupload-dir <remote> <session> [dest]通过内存将远程目录从活动会话复制到另一个会话
rdownload-dir <session> <remote> [dest]通过内存将远程目录从另一个会话复制到活动会话
upload-dir <local> [remote]上传目录
download-dir <remote> [local]下载目录
invoke-script <ps1> [args]从内存导入本地 PowerShell
execute-assembly <exe> [args]从内存运行托管 .NET
ad-info显示 AD/域上下文
opsec-check显示日志记录和审计态势
sessions列出所有活动会话
session <opts>创建新会话
use <name|id>切换到某个会话
kill <name|id>关闭并移除会话

会话管理

nimrm 支持多个并发 WinRM 会话。您可以在不同主机和用户之间切换,而无需离开 shell。

在现有会话中创建新会话:

PS C:\Users\Administrator> session -T 10.0.0.5 -A 'CORP\user2' -P 'Pass123'
PS C:\Users\Administrator> session -T dc02.corp.local -A [email protected] -N aad3b435:0123456789abcdef -n dc02
PS C:\Users\Administrator> session -T dc03.corp.local -k -Z CORP.LOCAL -n dc03

列出活动会话:

PS C:\Users\Administrator> sessions

  ID  Name              Target                    User              Auth
  --  ----              ------                    ----              ----
 * 1  session-1         dc01.corp.local:5985      administrator     Kerberos
   2  session-2         10.0.0.5:5985             user2             NTLM
   3  dc02              dc02.corp.local:5985      user              NTLM

在会话之间切换:

[session-2] PS C:\Users\user2> use 1
[*] Switched to session: session-1 (dc01.corp.local:5985)
[session-1] PS C:\Users\Administrator> use dc02
[*] Switched to session: dc02 (dc02.corp.local:5985)

关闭会话:

[dc02] PS C:\Users\user> kill 2
[*] Killed session: session-2

在活动会话之间复制文件:

[session-1] PS C:\Users\user1> rupload C:\Users\user1\tool.exe session-2 C:\Users\user2\Desktop\tool.exe
[*] Download mode: WinRS binary stream
✔  rupload-read  [━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━]  100%  442.0 KB/442.0 KB  done in 0.7s
[*] Upload mode: WinRS stream
✔  rupload-write  [━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━]  100%  442.0 KB/442.0 KB  done in 0.4s
[+] Remote uploaded 452608 bytes from session-1:C:\Users\user1\tool.exe to session-2:C:\Users\user2\Desktop\tool.exe
下载工具