Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Nimcrypt2 — .NET, PE, و Raw Shellcode Packer/Loader مكتوب بلغة Nim | Kitploit
أدوات/GitHubGitHub/icyguider/nimcrypt2
أدوات دفاعيةأدوات التشفير/فك التشفيرتوليد الحمولةالاستغلالشيل كودتحليل الملفات الثنائيةالفريق الأحمرتوليد شيفرة القشرةتطوير الحمولات
GitHubicyguider/nimcrypt2

Nimcrypt2

.NET, PE, و Raw Shellcode Packer/Loader مكتوب بلغة Nim

824129منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

Nimcrypt2

Nimcrypt2 هي أداة أخرى لتعبئة/تحميل ملفات PE مصممة لتجاوز برامج مكافحة الفيروسات/EDR. إنه تحسين لمشروعي الأصلي Nimcrypt، مع التحسينات الرئيسية المتمثلة في استخدام استدعاءات النظام المباشرة والقدرة على تحميل ملفات PE العادية بالإضافة إلى شيل كود خام.

قبل المضي قدمًا، يجب أن أعترف بفضل أولئك الذين قاموا بالغالبية العظمى من العمل والبحث الذي يعتمد عليه هذا المشروع. أولاً، يجب أن أشكر @byt3bl33d3r على مستودع Offensive Nim، و @ShitSecure على كل مقتطفات الكود التي أصدرها علنًا. هذا هو الأساس الذي تم إنشاء النسخة الأصلية من هذه الأداة منه، والنسخة الحالية لا تختلف. على وجه الخصوص، وظيفة تحميل PE الجديدة المستخدمة في هذه الأداة هي مجرد تطبيق لرمز Nim-RunPE الذي أصدره ShitSecure مؤخرًا Nim-RunPE. اعتبارًا من 14/3/22، يستخدم هذا الكود أيضًا رمز GetSyscallStub الخاص به لاستخدام استدعاءات النظام الديناميكية. أشجع بشدة على دعمه ماليًا للوصول إلى Nim PE Packer الخاص به، والذي لا شك أنه نسخة أفضل وأكثر ميزات من هذه الأداة.

بالإضافة إلى ذلك، أود أن أشكر @ajpc500 على مشروعه NimlineWhispers2 الذي تستخدمه هذه الأداة لاستدعاءات النظام المباشرة. لا يمكنني التأكيد بما فيه الكفاية على أن هذا المشروع هو مجرد تجميع للعمل العام لأولئك المذكورين سابقًا، لذا يجب أن تذهب كل الفضل إليهم.

root@kitploit:~
                      ___                                           
                   .-'   `'.                                        
                  /         \                                       
                  |         ;                                       
                  |         |           ___.--,                     
         _.._     |0) ~ (0) |    _.---'`__.-( (_.                   
  __.--'`_.. '.__.\    '--. \_.-' ,.--'`     `""`                   
 ( ,.--'`   ',__ /./;   ;, '.__.'`    __                            
 _`) )  .---.__.' / |   |\   \__..--""  ""'--.,_                    
`---' .'.''-._.-'`_./  /\ '.  \ _.-~~~````~~~-._`-.__.'             
      | |  .' _.-' |  |  \  \  '.               `~---`              
       \ \/ .'     \  \   '. '-._)                                  
        \/ /        \  \    `=.__`~-.   Nimcrypt v2               
   jgs  / /\         `) )    / / `"".`\                             
  , _.-'.'\ \        / /    ( (     / /  3-in-1 C#, PE, & Raw Shellcode Loader
   `--~`   ) )    .-'.'      '.'.  | (                              
          (/`    ( (`          ) )  '-;                              
           `      '-;         (-'                                   

Nimcrypt v 2.0

Usage:
  nimcrypt -f file_to_load -t csharp/raw/pe [-o <output>] [-p <process>] [-n] [-u] [-s] [-e] [-g] [-l] [-v] [--no-ppid-spoof]
  nimcrypt (-h | --help)

Options:
  -h --help     Show this screen.
  --version     Show version.
  -f --file filename     File to load
  -t --type filetype     Type of file (csharp, raw, or pe)
  -p --process process   Name of process for shellcode injection
  -o --output filename   Filename for compiled exe
  -u --unhook            Unhook ntdll.dll
  -v --verbose           Enable verbose messages during execution
  -e --encrypt-strings   Encrypt strings using the strenc module
  -g --get-syscallstub   Use GetSyscallStub instead of NimlineWhispers2
  -l --llvm-obfuscator   Use Obfuscator-LLVM to compile binary
  -n --no-randomization  Disable syscall name randomization
  -s --no-sandbox        Disable sandbox checks
  --no-ppid-spoof        Disable PPID Spoofing

الميزات:

  • تنفيذ شيل كود عبر NtQueueApcThread مع انتحال PPID ومنع تحميل DLLs من طرف ثالث
  • استخدام NimlineWhispers2 و GetSyscallStub لاستدعاءات النظام
  • توزيع عشوائي لأسماء استدعاءات النظام
  • القدرة على تحميل ملفات .NET و PE العادية
  • تشفير AES مع توليد مفتاح ديناميكي
  • التوافق مع LLVM-Obfuscator
  • تشفير السلاسل النصية
  • تجنب بيئة الحماية (Sandbox)

تم اختباره وتأكيد عمله على:

  • Windows 11 (10.0.22000)
  • Windows 10 21H2 (10.0.19044)
  • Windows 10 21H1 (10.0.19043)
  • Windows 10 20H2 (10.0.19042)
  • Windows 10 19H2 (10.0.18363)
  • Windows Server 2019 (10.0.17763)

التثبيت/التبعيات:

Nimcrypt2 مصمم للاستخدام على أنظمة لينكس مع تثبيت Nim. قبل تثبيت Nim، يجب التأكد من تثبيت الحزم التالية عبر مدير الحزم الخاص بك:

root@kitploit:~
sudo apt install gcc mingw-w64 xz-utils git

لتثبيت Nim، أفضل استخدام choosenim على النحو التالي:

root@kitploit:~
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
echo "export PATH=$HOME/.nimble/bin:$PATH" >> ~/.bashrc
export PATH=$HOME/.nimble/bin:$PATH

Nimcrypt2 يعتمد أيضًا على بعض الحزم التي يمكن تثبيتها عبر Nimble. يمكن القيام بذلك كالتالي:

root@kitploit:~
nimble install winim nimcrypto docopt ptr_math strenc

مع تثبيت جميع التبعيات الآن، يمكن تجميع Nimcrypt2 كالتالي:

root@kitploit:~
nim c -d=release --cc:gcc --embedsrc=on --hints=on --app=console --cpu=amd64 --out=nimcrypt nimcrypt.nim

اختياري: لاستخدام علامة Obfuscator-LLVM، يجب أن يكون مثبتًا على نظامك إلى جانب wclang. وجدت أن هذا أمر مزعج بعض الشيء ولكن يجب أن تكون قادرًا على فعله بقليل من المثابرة. إليك خطوات سريعة عملت على نظام Kali Linux الخاص بي:

  1. استنساخ الإصدار المطلوب من Obfuscator-LLVM وبناؤه
  2. بعد التجميع، قم بعمل نسخة احتياطية من الإصدار الحالي من clang وانقل الإصدار الجديد من Obfuscator-LLVM إلى /usr/bin/
  3. تثبيت wclang وإضافة ملفاته الثنائية إلى PATH الخاص بك
  4. قم بعمل نسخة احتياطية من ملفات مكتبات clang الحالية، وانسخ تضمينات مكتبات Obfuscator-LLVM الجديدة إلى /usr/lib/clang/OLD_VERSION/

بالإضافة إلى ذلك، يجب إضافة الأسطر التالية إلى ملف nim.cfg الخاص بك لتوجيه nim إلى ملفات wclang الثنائية:

root@kitploit:~
amd64.windows.clang.exe = "x86_64-w64-mingw32-clang"
amd64.windows.clang.linkerexe = "x86_64-w64-mingw32-clang"
amd64.windows.clang.cpp.exe = "x86_64-w64-mingw32-clang++"
amd64.windows.clang.cpp.linkerexe = "x86_64-w64-mingw32-clang++"

من المحتمل أن تكون هناك طريقة أفضل للقيام بذلك ولكن هذا ما نجح معي. إذا واجهت مشكلات، استمر في المحاولة وتأكد من أنك تستطيع تشغيل x86_64-w64-mingw32-clang -v ويظهر "Obfuscator-LLVM" في المخرجات. تأكد أيضًا من أن MinGW يستخدم ملفات مكتبات Obfuscator-LLVM: سيعطيك Nim خطأ إذا لم يكن كذلك.

الأخطاء المعروفة:

  • كما وصف ShitSecure، إذا تم تحميل النسخة الرسمية من mimikatz عبر محمل PE، فلن تقبل الأوامر لسبب غير معروف. استخدام نسخة من mimikatz تم تجميعها من المصدر يحل هذه المشكلة.

تحيات وشكر:

  • @byt3bl33d3r لمشروعهم Offensive Nim: https://github.com/byt3bl33d3r/OffensiveNim
  • @ShitSecure لمشروعهم Nim-RunPE: https://github.com/S3cur3Th1sSh1t/Nim-RunPE
  • @ShitSecure مرة أخرى لمشروعهم GetSyscallStub: https://github.com/S3cur3Th1sSh1t/NimGetSyscallStub
  • @ajpc500 لمشروعهم NimlineWhispers2: https://github.com/ajpc500/NimlineWhispers2
  • @Snovvcrash لمشروعهم NimHollow: https://github.com/snovvcrash/NimHollow
تنزيل الأداة