
नेटिव Nim WinRM शेल जिसमें NTLM, Kerberos, फ़ाइल ट्रांसफ़र, इन-मेमोरी हेल्पर्स, और AD/OPSEC रिपोर्टिंग शामिल है।
Nim में लिखा गया नेटिव WinRM शेल क्लाइंट
संस्करण 1.2.0 · लेखक Chokri Hammedi (blue0x1) · लाइसेंस MIT
nimrm का उद्देश्य उन सिस्टमों पर वैध प्रशासन, सुरक्षा परीक्षण और अनुसंधान है जिनके आप स्वामी हैं या जिन तक पहुँचने की आपके पास स्पष्ट अनुमति है। इस टूल के दुरुपयोग या कारण हुई क्षति के लिए लेखक उत्तरदायी नहीं है।
nimrm व्यावहारिक प्रमाणीकरण, कमांड निष्पादन, स्थानांतरण और रिपोर्टिंग सहायकों के साथ एक संक्षिप्त और तेज़ WinRM शेल प्रदान करता है। इसे बिना किसी Nim पैकेज निर्भरता के एक नेटिव Nim बाइनरी के रूप में बनाया गया है।
| क्षेत्र | समर्थन |
|---|---|
| प्रमाणीकरण | NTLM पासवर्ड, NTLM हैश, KRB5CCNAME के माध्यम से Kerberos |
| WinRM ट्रांसपोर्ट | HTTP, HTTPS/TLS, कस्टम पोर्ट |
| शेल | इंटरैक्टिव PowerShell, CMD प्रीफ़िक्स, वन-शॉट कमांड मोड, कमांड और लोकल पाथ ऑटोकम्पलीट |
| स्थानांतरण | फ़ाइल अपलोड/डाउनलोड, पुनरावर्ती डायरेक्टरी स्थानांतरण, रिमोट सत्र-से-सत्र फ़ाइल और डायरेक्टरी रिले |
| इन-मेमोरी | PowerShell स्क्रिप्ट आयात, प्रबंधित .NET असेंबली निष्पादन |
| रिपोर्टिंग | AD/डोमेन संदर्भ, लॉगिंग और ऑडिटिंग स्थिति |
| विश्वसनीयता | Kerberos संदेश रैपिंग, ट्रांसपोर्ट रीसेट/पुनःप्रयास प्रबंधन |
| घटक | आवश्यकता |
|---|---|
| बिल्ड | Nim >= 1.6.0 |
| Kerberos | Linux पर 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/ से आवश्यक रनटाइम DLLs को एम्बेड करता है, निष्पादन के समय उन्हें एक अस्थायी रनटाइम डायरेक्टरी में निकालता है, फिर उसी आर्गुमेंट के साथ कोर चलाता है। यह सादे HTTP WinRM का समर्थन करता है जब तक कि --tls / --ssl पास न किया जाए, और 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 रनस्पेस, चंक्ड ट्रांसफर लॉजिक और संक्षिप्त प्रगति रेंडरिंग का उपयोग करके तेज़ बने रहने के लिए डिज़ाइन किया गया है।
| ऑपरेशन | कार्यान्वयन |
|---|---|
| अपलोड | बड़े एनवेलप पर अनुकूली पुनःप्रयास के साथ चंक्ड Base64 राइट |
| डाउनलोड | प्रगति ट्रैकिंग और छोटी फ़ाइलों के लिए तेज़ पथ के साथ स्ट्रीम्ड Base64 चंक्स |
| रिमोट सत्र रिले | एक WinRM सत्र से पढ़ता है और फ़ाइल को लोकल डिस्क पर लिखे बिना कंट्रोलर मेमोरी के माध्यम से दूसरे में लिखता है |
| डायरेक्टरी स्थानांतरण | उसी चंक्ड ट्रांसफर पथ का उपयोग करके पुनरावर्ती फ़ाइल गणना |
| कमांड निष्पादन | प्रति कमांड पुनः कनेक्ट करने के बजाय सक्रिय WinRM शेल/रनस्पेस का पुनः उपयोग करता है |
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, --secret | NTLM पासवर्ड |
-p, --port | WinRM पोर्ट |
-N, --nt-proof | NT हैश या LM:NT हैश |
-Z, --krb-zone | Kerberos रियल्म ओवरराइड |
-K, --kerb-spn | Kerberos SPN ओवरराइड |
-k, --kerb | Kerberos प्रमाणीकरण का उपयोग करें |
-c, --command | एक कमांड निष्पादित करें और बाहर निकलें |
--tls | HTTPS/TLS का उपयोग करें |
--insecure | TLS प्रमाणपत्र सत्यापन छोड़ें |
-h, --help | सहायता दिखाएँ |