
नेटिव 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
मैनुअल निर्माण:
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 पास-द-हैश:
./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 | सहायता दिखाएँ |
| कमांड | विवरण |
|---|---|
/help | सहायता दिखाएँ |
exit, quit | शेल बंद करें |
!<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> | एक सत्र बंद करें और हटाएँ |