Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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 报告

查看仓库
551个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

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


图片

法律声明

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

目录

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

概述

nimrm 提供了一个紧凑且快速的 WinRM Shell,并带有实用的身份认证、命令执行、传输和报告辅助功能。它构建为原生 Nim 二进制文件,不依赖任何 Nim 软件包。

功能特性

环境要求

组件要求

安装

通过 Nimble 安装:

root@kitploit:~
nimble install nimrm

下载最新版本:

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

Windows 发布版二进制文件:

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

Debian 软件包:

root@kitploit:~
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:

root@kitploit:~
sudo pacman -S nimrm

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

root@kitploit:~
sudo pacman -Syu nimrm

从源码构建:

root@kitploit:~
git clone https://github.com/blue0x1/nimrm.git
cd nimrm
make linux

构建

root@kitploit:~
make linux
root@kitploit:~
make ssl
root@kitploit:~
make windows

手动构建:

root@kitploit:~
nim c -d:release --opt:speed -o:nimrm nimrm.nim

性能

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

操作实现方式
上传分块 Base64 写入,对大型信封采用自适应重试
下载流式 Base64 分块,带进度跟踪,并为小文件提供快速路径
远程会话中继从一个 WinRM 会话读取,通过控制器内存写入另一个会话,无需将文件写入本地磁盘

用法

NTLM 密码:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\administrator' -P 'Password123'

NTLM 哈希传递:

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

Kerberos:

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

通过 HTTP 强制 NTLM 消息加密:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --seal

自定义端口:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -p 5985

单次命令:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -c 'whoami'

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

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --tls --insecure

选项

交互命令

会话管理

nimrm 支持多个并发的 WinRM 会话。您可以在不退出 Shell 的情况下在不同主机和用户之间切换。

在现有会话内部创建新会话:

root@kitploit:~
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

列出活动会话:

root@kitploit:~
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

在会话之间切换:

root@kitploit:~
[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)

关闭会话:

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

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

root@kitploit:~
[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

[session-1] PS C:\Users\user1> rdownload session-2 C:\Users\user2\Desktop\out.txt C:\Users\user1\out.txt
[+] Remote downloaded 1024 bytes from session-2:C:\Users\user2\Desktop\out.txt to session-1:C:\Users\user1\out.txt

rupload 和 rupload-dir 以活动会话为源,以指定会话为目标。rdownload 和 rdownload-dir 以指定会话为源,以活动会话为目标。这些命令通过 nimrm 内存中继字节数据,因此控制端主机不会将临时副本写入磁盘。

会话选项:

示例

PowerShell 和 CMD:

root@kitploit:~
PS> hostname
PS> Get-Process
PS> !ipconfig /all

传输:

root@kitploit:~
PS> upload ./tool.exe C:\Temp\tool.exe
PS> download C:\Temp\out.txt ./out.txt
PS> rupload C:\Temp\tool.exe session-2 C:\Temp\tool.exe
PS> rdownload session-2 C:\Temp\out.txt C:\Temp\out.txt
PS> rupload-dir C:\Temp\logs session-2 C:\Temp\logs
PS> rdownload-dir session-2 C:\Temp\loot C:\Temp\loot
PS> upload-dir ./payloads C:\Temp\payloads
PS> download-dir C:\Temp\logs ./logs

远程会话中继方向:

root@kitploit:~
# Active session -> another session
PS> rupload C:\Temp\payload.exe session-2 C:\Users\Public\payload.exe

# Another session -> active session
PS> rdownload session-2 C:\Users\Public\loot.zip C:\Temp\loot.zip

自动补全:

root@kitploit:~
PS> upl<Tab>
PS> upload ./pay<Tab>

交互式提示符会为本地源命令(如 upload、upload-dir、invoke-script 和 execute-assembly)补全命令名和本地文件系统路径。

内存中执行辅助功能:

root@kitploit:~
PS> invoke-script ./AdminTools.ps1
PS> execute-assembly ./tool.exe arg1 arg2

报告:

root@kitploit:~
PS> ad-info
PS> opsec-check

注意事项

  • execute-assembly 仅支持托管 .NET 程序集。
  • invoke-script 导入到当前的远程运行空间。
  • rupload、rdownload、rupload-dir 和 rdownload-dir 不会在控制端主机上写入临时文件,但字节数据仍会经过控制器内存,并使用两段 WinRM 传输路径。
  • ad-info 和 opsec-check 是只读报告命令。
  • 部分报告数据需要足够的远程权限。

Buy Me A Coffee

许可证

MIT。参见 LICENSE。

下载工具
类别支持
身份认证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
目录传输使用相同的分块传输路径进行递归文件枚举
命令执行复用活动的 WinRM Shell/运行空间,而不是每条命令都重新连接
选项描述
-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>关闭并移除会话
选项描述
-T目标主机
-A用户名
-P密码
-NNT 哈希
-kKerberos 认证
-ZKerberos 领域
-KSPN 覆盖
-p端口
--tls使用 HTTPS
-n自定义会话名称