Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nimrm — Shell WinRM natif Nim avec NTLM, Kerberos, transfert de fichiers, utilitaires en mémoire et reporting AD/OPSEC | Kitploit
Outils/GitHubGitHub/blue0x1/nimrm
Génération de PayloadsMouvement LatéralCollecte d'InformationsPost-ExploitationTests d'IntrusionCommandement et ContrôleAuthentificationRed TeamingOutil d'Accès à Distance
GitHubblue0x1/nimrm

nimrm

Shell WinRM natif Nim avec NTLM, Kerberos, transfert de fichiers, utilitaires en mémoire et reporting AD/OPSEC

55il y a 1 moisPas encore vérifié
Voir le dépôtSite web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

nimrm

Release Downloads

Client shell WinRM natif écrit en Nim

Version 1.2.0 · Auteur Chokri Hammedi (blue0x1) · Licence MIT

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

Documentation

WinRM Library

image

Avis légal

nimrm est destiné à l'administration légitime, aux tests de sécurité et à la recherche sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite d'accès. L'auteur n'est pas responsable d'une utilisation abusive ou des dommages causés par cet outil.

Table des matières

  • Aperçu
  • Fonctionnalités
  • Prérequis
  • Installation
  • Compilation
  • Performances
  • Utilisation
  • Options
  • Commandes interactives
  • Gestion des sessions
  • Exemples
  • Remarques
  • Licence

Aperçu

nimrm fournit un shell WinRM compact et rapide avec des assistants pratiques pour l'authentification, l'exécution de commandes, le transfert et le reporting. Il est compilé en un binaire Nim natif sans dépendances de paquets Nim.

Fonctionnalités

DomainePrise en charge
AuthentificationMot de passe NTLM, hash NTLM, Kerberos via KRB5CCNAME
Transport WinRMHTTP, HTTPS/TLS, port personnalisé
ShellPowerShell interactif, préfixe CMD, mode de commande unique, autocomplétion des commandes et des chemins locaux
TransfertsTéléversement/téléchargement de fichiers, transfert récursif de répertoires, relais de fichiers et de répertoires entre sessions distantes
En mémoireImport de scripts PowerShell, exécution d'assemblys .NET managés
ReportingContexte AD/domaine, posture de journalisation et d'audit
FiabilitéEnveloppement des messages Kerberos, gestion de la réinitialisation/des nouvelles tentatives de transport

Prérequis

ComposantPrérequis
CompilationNim >= 1.6.0
Kerberoslibgssapi_krb5.so.2 sous Linux ou libgssapi_krb5.dylib sous macOS
Compilation TLSOpenSSL et -d:ssl
CibleWinRM accessible sur le port sélectionné

Installation

Nimble :

root@kitploit:~
nimble install nimrm

Télécharger la dernière version :

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

Binaire de la version Windows :

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

Paquet 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

Le PKGBUILD BlackArch suit le dernier commit git en amont, de sorte que les nouvelles versions parviennent aux utilisateurs de BlackArch lors de leur prochaine mise à jour système. Si nimrm est déjà installé, mettez-le à niveau avec :

root@kitploit:~
sudo pacman -Syu nimrm

Compilation depuis les sources :

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

Compilation

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

Compilation manuelle :

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

Performances

nimrm est conçu pour rester rapide grâce à un binaire Nim natif, un espace d'exécution WinRM persistant, une logique de transfert par blocs et un rendu compact de la progression.

OpérationImplémentation
TéléversementÉcritures Base64 par blocs avec nouvelle tentative adaptative pour les enveloppes volumineuses
TéléchargementBlocs Base64 diffusés avec suivi de progression et un chemin rapide pour les petits fichiers
Relais entre sessions distantesLit depuis une session WinRM et écrit vers une autre via la mémoire du contrôleur sans écrire le fichier sur le disque local
Transfert de répertoireÉnumération récursive des fichiers en utilisant le même chemin de transfert par blocs
Exécution de commandesRéutilise le shell/espace d'exécution WinRM actif au lieu de se reconnecter à chaque commande

Utilisation

Mot de passe NTLM :

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

Pass-the-hash 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

Forcer le chiffrement des messages NTLM sur HTTP :

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

Port personnalisé :

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

Commande unique :

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

Ignorer la vérification du certificat TLS (certificats auto-signés) :

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

Options

OptionDescription
-T, --targetIP ou nom d'hôte cible
-A, --accountNom d'utilisateur : user, user@domain ou DOMAIN\user
-P, --secretMot de passe NTLM
-p, --portPort WinRM
-N, --nt-proofHash NT ou hash LM:NT
-Z, --krb-zoneRemplacement du domaine Kerberos
-K, --kerb-spnRemplacement du SPN Kerberos
-k, --kerbUtiliser l'authentification Kerberos
-c, --commandExécuter une commande puis quitter
--tlsUtiliser HTTPS/TLS
--insecureIgnorer la vérification du certificat TLS
-h, --helpAfficher l'aide

Commandes interactives

CommandeDescription
/helpAfficher l'aide
exit, quitFermer le shell
!<cmd>Exécuter via cmd.exe
upload <local> [remote]Téléverser un fichier
download <remote> [local]Télécharger un fichier
rupload <remote> <session> [dest]Copier un fichier distant de la session active vers une autre session via la mémoire
rdownload <session> <remote> [dest]Copier un fichier distant d'une autre session vers la session active via la mémoire
rupload-dir <remote> <session> [dest]Copier un répertoire distant de la session active vers une autre session via la mémoire
rdownload-dir <session> <remote> [dest]Copier un répertoire distant d'une autre session vers la session active via la mémoire
upload-dir <local> [remote]Téléverser un répertoire
download-dir <remote> [local]Télécharger un répertoire
invoke-script <ps1> [args]Importer un script PowerShell local depuis la mémoire
execute-assembly <exe> [args]Exécuter du .NET managé depuis la mémoire
ad-infoAfficher le contexte AD/domaine
opsec-checkAfficher la posture de journalisation et d'audit
sessionsLister toutes les sessions actives
session <opts>Créer une nouvelle session
use <name|id>Basculer vers une session
kill <name|id>Fermer et supprimer une session

Gestion des sessions

nimrm prend en charge plusieurs sessions WinRM concurrentes. Vous pouvez passer d'un hôte et d'un utilisateur à l'autre sans quitter le shell.

Créer une nouvelle session depuis une session existante :

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

Lister les sessions actives :

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

Basculer entre les sessions :

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)

Fermer une session :

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

Copier des fichiers entre sessions actives :

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 et rupload-dir utilisent la session active comme source et la session nommée comme destination. rdownload et rdownload-dir utilisent la session nommée comme source et la session active comme destination. Ces commandes relaient les octets via la mémoire de nimrm, de sorte que l'hôte contrôleur n'écrit pas de copie temporaire sur le disque.

Options de session :

OptionDescription
-THôte cible
-ANom d'utilisateur
-PMot de passe
-NHash NT
-kAuthentification Kerberos
-ZDomaine Kerberos
-KRemplacement du SPN
-pPort
--tlsUtiliser HTTPS
-nNom de session personnalisé

Exemples

PowerShell et CMD :

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

Transferts :

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

Sens du relais entre sessions distantes :

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

Autocomplétion :

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

L'invite interactive complète les noms de commandes et les chemins du système de fichiers local pour les commandes utilisant une source locale, telles que upload, upload-dir, invoke-script et execute-assembly.

Assistants en mémoire :

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

Reporting :

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

Remarques

  • execute-assembly prend en charge uniquement les assemblys .NET managés.
  • invoke-script importe dans l'espace d'exécution distant actuel.
  • rupload, rdownload, rupload-dir et rdownload-dir n'écrivent pas de fichiers temporaires sur l'hôte contrôleur, mais les octets transitent toujours par la mémoire du contrôleur et utilisent deux étapes de transfert WinRM.
  • ad-info et opsec-check sont des commandes de reporting en lecture seule.
  • Certaines données de reporting nécessitent des privilèges distants suffisants.

Buy Me A Coffee

Licence

MIT. Voir LICENSE.

Télécharger l’outil