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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
OffensiveNim — تجاربي في تسليح Nim (https://nim-lang.org/) | Kitploit
أدوات/GitHubGitHub/byt3bl33d3r/offensivenim
تصعيد الامتيازاتتحليل الكودالحركة الجانبيةشيل كودتسريب البياناتما بعد الاستغلالالقيادة والسيطرةالتعلم والتعليمالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائية
3.1k365منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
byt3bl33d3r/offensivenim

OffensiveNim

تجاربي في تسليح Nim (https://nim-lang.org/)

عرض المستودع

OffensiveNim

OffensiveNim

تجاربي في تسليح Nim لتطوير البرامج الضارة والعمليات الهجومية العامة.

جدول المحتويات

  • OffensiveNim
    • جدول المحتويات
    • لماذا Nim؟
    • أمثلة في هذا المستودع تعمل
    • أمثلة قيد التطوير
    • تجميع الأمثلة في هذا المستودع
      • الطريقة السهلة (موصى بها)
      • الطريقة الصعبة (للشجعان)
    • التجميع المتقاطع
    • التفاعل مع C/C++
    • إنشاء مكتبات DLL لنظام Windows مع تصدير DllMain
      • إنشاء XLLs
    • تحسين حجم الملفات التنفيذية
    • تحميل Nim التنفيذية بشكل عاكس
    • الفرق في حجم الملف التنفيذي عند استخدام مكتبة Winim مقابل عدم استخدامها
    • اعتبارات أمن العمليات (Opsec)
    • كتابة Nim بدون بيئة التشغيل Nim
    • تحويل كود C إلى Nim
    • جسور اللغات
    • التصحيح
    • إعداد بيئة تطوير
    • المزالق التي وقعت فيها
    • مكتبات Nim مثيرة للاهتمام
    • روابط Nim لتطوير البرامج الضارة
    • المساهمون

لماذا Nim؟

  • يتم ترجمتها مباشرةً إلى C و C++ و Objective-C و Javascript.
  • نظرًا لأنها لا تعتمد على جهاز افتراضي/بيئة تشغيل، فإنها لا تنتج ما أحب أن أسميه "برامج ضارة ضخمة" كما هو الحال في لغات أخرى (مثل Golang).
  • بناء جملة مستوحى من Python، مما يسمح بإنشاء سريع للحمولات الأصلية ونماذج أولية.
  • لديها قدرات ناضجة للغاية في واجهة الوظائف الأجنبية (FFI).
  • تتجنب إجبارك على الكتابة بلغة C/C++ وبالتالي تتجنب إدخال الكثير من المشكلات الأمنية في برنامجك.
  • تجميع متقاطع سهل للغاية إلى Windows من *nix/MacOS، فقط يتطلب تثبيت مجموعة أدوات mingw وتمرير علامة واحدة لمترجم Nim.
  • مترجم Nim والملفات التنفيذية المولدة يدعمان جميع المنصات الرئيسية مثل Windows و Linux و BSD و macOS. يمكن حتى التجميع إلى Nintendo switch و IOS و Android. انظر قسم التجميع المتقاطع في دليل استخدام مترجم Nim
  • يمكنك نظرياً كتابة برنامجك الضار والخلفية C2 الخاصة بك في Nim حيث يمكنك ترجمة كودك مباشرة إلى Javascript. حتى أن هناك دعمًا أوليًا لـ WebAssembly

أمثلة في هذا المستودع تعمل

أمثلة قيد التطوير (WIP)

الملفالوصف
amsi_patch_2_bin.nimتصحيح AMSI خارج العملية الحالية باستخدام طريقة مختلفة (قيد التطوير، المساعدة مرحب بها)
excel_4_com_bin.nimحقن شيل كود باستخدام كائن COM لـ Excel ووحدات ماكرو Excel 4 ()

تجميع الأمثلة في هذا المستودع

هذا المستودع لا يوفر ملفات ثنائية، سيتعين عليك تجميعها بنفسك. تم إعداد هذا المستودع لتجميع ملفات مصدر Nim مثال إلى Windows من Linux أو MacOS بشكل متقاطع.

الطريقة السهلة (موصى بها)

استخدام حاويات التطوير VSCode لإعداد بيئة تطوير لك تلقائيًا (انظر قسم إعداد بيئة تطوير). بعد ذلك، قم ببساطة بتشغيل make.

الطريقة الصعبة (للشجعان)

تثبيت Nim باستخدام مدير حزم نظامك (لنظام Windows استخدم المثبت على الموقع الرسمي)

  • brew install nim
  • apt install nim
  • choco install nim

(يوفر Nim أيضًا صورة Docker على Dockerhub)

يجب أن يكون لديك الآن أوامر nim و nimble متاحة، الأول هو مترجم Nim والثاني هو مدير حزم Nim.

تثبيت مجموعة أدوات Mingw اللازمة للتجميع المتقاطع إلى Windows (غير مطلوب إذا كنت تجمع على Windows):

  • *nix: apt-get install mingw-w64
  • MacOS: brew install mingw-w64

أخيرًا، قم بتثبيت مكتبة Winim الرائعة، بالإضافة إلى zippy و nimcrypto

  • nimble install winim zippy nimcrypto

ثم انتقل إلى جذر هذا المستودع وقم بتشغيل make.

يجب أن تجد الملفات الثنائية و DLLs في دليل bin/

التجميع المتقاطع

انظر قسم التجميع المتقاطع في دليل استخدام مترجم Nim، لمزيد من التفاصيل.

التجميع المتقاطع إلى Windows من MacOs/*nix يتطلب مجموعة أدوات mingw، عادةً ما يكون مجرد brew install mingw-w64 أو apt install mingw-w64.

ثم عليك فقط تمرير العلامة -d=mingw إلى مترجم Nim.

مثال: nim c -d=mingw --app=console --cpu=amd64 source.nim

التفاعل مع C/C++

انظر قسم FFI الرائع في دليل Nim.

إذا كنت معتادًا على P/Invoke في C#، فهو نفس المفهوم تقريبًا ولكنه يبدو قبيحًا بعض الشيء:

مثال على استدعاء `MessageBox````nim type HANDLE* = int HWND* = HANDLE UINT* = int32 LPCSTR* = cstring

proc MessageBox*(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT): int32 {.discardable, stdcall, dynlib: "user32", importc: "MessageBoxA".}

MessageBox(0, "Hello, world !", "Nim is Powerful", 0)

root@kitploit:~
لأي استدعاءات معقدة لواجهة برمجة تطبيقات Windows، استخدم مكتبة [Winim](https://github.com/khchen/winim)، فهي توفر وقتًا هائلًا ولا تزيد حجم الملف التنفيذي كثيرًا (انظر أدناه) اعتمادًا على كيفية استيرادها.

حتى أنها تدعم COM!!!

## إنشاء مكتبات DLL لنظام Windows مع دالة `DllMain` مصدّرة

شكر كبير للشخص الذي نشر [هذا](https://forum.nim-lang.org/t/1973) في منتدى Nim.

يحاول مترجم Nim إنشاء دالة `DllMain` تلقائيًا لك في وقت الترجمة عندما تطلب منه إنشاء مكتبة DLL لنظام Windows، لكنه مع ذلك لا يقوم بتصديرها لسبب ما. لكي تحصل على دالة `DllMain` مصدّرة، تحتاج إلى تمرير `--nomain` وتعريف دالة `DllMain` بنفسك مع التوجيهات المناسبة (`stdcall, exportc, dynlib`).

تحتاج أيضًا إلى استدعاء `NimMain` من داخل `DllMain` الخاصة بك لتهيئة جامع القمامة في Nim. (مهم جدًا، وإلا سينفجر جهاز الكمبيوتر الخاص بك حرفيًا).

مثال:```nim
import winim/lean

proc NimMain() {.cdecl, importc.}

proc DllMain(hinstDLL: HINSTANCE, fdwReason: DWORD, lpvReserved: LPVOID) : BOOL {.stdcall, exportc, dynlib.} =
  NimMain()
  
  if fdwReason == DLL_PROCESS_ATTACH:
    MessageBox(0, "Hello, world !", "Nim is Powerful", 0)

  return true

لتجميع:``` nim c -d=mingw --app=lib --nomain --cpu=amd64 mynim.dll

root@kitploit:~
### إنشاء ملفات XLL
يمكنك إنشاء ملف XLL (ملف Excel DLL، تخيل ذلك) مع auto open function يمكن استخدامها لتوصيل الـ payload. ينشئ الكود التالي ملف XLL بسيطًا يحتوي على auto open function وجميع الكود الأساسي اللازم لتجميعه كمكتبة link library. يتم تجميع POC كـ DLL، ثم يمكنك تغيير الامتداد إلى .xll وسيفتح في Excel ويشغل الـ payload عند النقر المزدوج:```nim
#[
    Compile:
        nim c -d=mingw --app=lib --nomain --cpu=amd64 nim_xll.nim
        
    Will compile as a DLL, you can then just change the extension to .xll
]#

import winim/lean

proc xlAutoOpen() {.stdcall, exportc, dynlib.} =
    MessageBox(0, "Hello, world !", "Nim is Powerful", 0)

proc NimMain() {.cdecl, importc.}

proc DllMain(hinstDLL: HINSTANCE, fdwReason: DWORD, lpvReserved: LPVOID) : BOOL {.stdcall, exportc, dynlib.} =
  NimMain()

  return true

هناك العديد من الأشياء الخادعة الأخرى التي يمكن القيام بها باستخدام XLLs. انظر المزيد من الأمثلة على حرف XLL هنا.

تحسين حجم الملفات القابلة للتنفيذ

مأخوذ من صفحة الأسئلة الشائعة لـ Nim

للحصول على أكبر تقليل في الحجم، استخدم الأعلام التالية -d:danger -d:strip --opt:size

بالإضافة إلى ذلك، وجدت أنه يمكنك ضغط بضعة بايتات إضافية عن طريق تمرير --passc=-flto --passl=-flto إلى المترجم. ألقِ نظرة أيضًا على Makefile في هذا المستودع.

تعمل هذه الأعلام على تقليل الأحجام بشكل كبير: مثال حقن الشيل كود ينخفض من 484.3 كيلوبايت إلى 46.5 كيلوبايت عند التحويل البرمجي المتقاطع من MacOSX!

تحميل Nim القابلة للتنفيذ بشكل عاكس (Reflectively)

شكر كبير لـ @Shitsecure على اكتشاف هذا!

بشكل افتراضي، لا يقوم Nim بإنشاء ملفات PE بجدول إعادة توطين (relocation table) وهو ضروري لمعظم الأدوات التي تقوم بتحميل الـ EXEs بشكل عاكس.

لتوليد ملف Nim قابل للتنفيذ مع قسم إعادة توطين، تحتاج إلى تمرير بعض الأعلام الإضافية إلى الرابط.

تحديدًا: --passL:-Wl,--dynamicbase

مثال الأمر الكامل:``` nim c --passL:-Wl,--dynamicbase my_awesome_malwarez.nim

root@kitploit:~
## الفرق في حجم الملف التنفيذي عند استخدام مكتبة Winim مقارنة بعدم استخدامها

من المدهش أن الفرق في الحجم ضئيل جدًا، خاصةً عند تطبيق تحسينات الحجم المذكورة أعلاه.

تم إنشاء المثالين `pop_bin.nim` و `pop_winim_bin.nim` لهذا الغرض.

الأول يعرّف استدعاء WinAPI الخاص بـ `MessageBox` يدويًا، بينما يستخدم الثاني مكتبة Winim (تحديدًا `winim/lean` وهي فقط جوهر SDK، انظر [هنا](https://github.com/khchen/winim#usage))، النتائج:```
byt3bl33d3r@ecl1ps3 OffensiveNim % ls -lah bin
-rwxr-xr-x  1 byt3bl33d3r  25K Nov 20 18:32 pop_bin_32.exe
-rwxr-xr-x  1 byt3bl33d3r  32K Nov 20 18:32 pop_bin_64.exe
-rwxr-xr-x  1 byt3bl33d3r  26K Nov 20 18:33 pop_winim_bin_32.exe
-rwxr-xr-x  1 byt3bl33d3r  34K Nov 20 18:32 pop_winim_bin_64.exe

إذا قمت باستيراد مكتبة Winim بأكملها باستخدام import winim/com فإنها تضيف حوالي 20 كيلوبايت فقط، وهو ما يعتبر، بالنظر إلى مقدار الوظائف التي تلخصها، يستحق 100% هذا الحجم الإضافي:``` byt3bl33d3r@ecl1ps3 OffensiveNim % ls -lah bin -rwxr-xr-x 1 byt3bl33d3r 42K Nov 20 19:20 pop_winim_bin_32.exe -rwxr-xr-x 1 byt3bl33d3r 53K Nov 20 19:20 pop_winim_bin_64.exe

root@kitploit:~
## اعتبارات Opsec

نظرًا لكيفية قيام Nim بحل DLLs ديناميكيًا باستخدام `LoadLibrary` باستخدام FFI الخاصة بها، لن تظهر أي من وظائفك المستوردة خارجيًا في الاستيرادات الثابتة للملف التنفيذي (انظر [منشور المدونة هذا](https://web.archive.org/web/20210117002945/https://secbytes.net/implant-roulette-part-1:-nimplant/) لمزيد من التفاصيل):

![](https://assets.kitploit.com/production/public/readmes/6566/ae35b71c435c8fe24112a95abb0eca863721c9fde9b14efb7d4f2701bb57b3b9.png)

إذا قمت بتجميع كود Nim المصدر إلى DLL، يبدو أنه سيكون لديك دائمًا `NimMain` مصدرة، بغض النظر عن تحديد `DllMain` الخاص بك أم لا (؟؟). قد يُستخدم هذا كتوقيع، لا أعرف كم عدد الشركات التي تستخدم Nim فعليًا في مجموعة تطويرها. بالتأكيد يبرز.

![](https://assets.kitploit.com/production/public/readmes/6566/1e291f2b170de9f5728e36cc2c6e489477480fa4b215dcf78341531805781448.png)

## كتابة Nim بدون بيئة تشغيل Nim

نظرًا لأن Nim مُشار إليه بشدة من قبل حلول مكافحة الفيروسات، فإن إحدى الطرق لتجاوز ذلك هي كتابة برامج Nim بدون بيئة تشغيل Nim. [كتابة Nim بدون Nim](https://www.youtube.com/watch?v=EXX3HmCG3pw) هي محاضرة تشرح الخطوات حول كيفية كتابة كود Nim بدون بيئة تشغيل Nim و C، الكود المصدري من هذه المحاضرة متاح [هنا](https://github.com/m4ul3r/writing_nimless). تتبع المحاضرة وتوسع في عمل [zimawhit3](https://github.com/zimawhit3) مع [Bitmancer](https://github.com/zimawhit3/Bitmancer/tree/main).

الفكرة هي الاعتماد على تعريفات الأنواع من `winim` والاستفادة من كتابة الكود الذي لا يؤدي إلى استخدام بيئة تشغيل Nim.

## تحويل كود C إلى Nim

https://github.com/nim-lang/c2nim

استخدمته لترجمة مجموعة من مقاطع C الصغيرة، لم أجرب أي شيء كبير.

## جسور لغوية

  - تكامل بايثون https://github.com/yglukhov/nimpy
    * هذا مثير للاهتمام حقًا، [خاصة هذا الجزء](https://github.com/yglukhov/nimpy/blob/master/nimpy/py_lib.nim#L330). مع بعض التعديل، هل يمكن تحميل PythonxXX.dll من الذاكرة؟

  - تكامل Jave VM: https://github.com/yglukhov/jnim

## تصحيح الأخطاء

استخدم دالة `repr()` مع `echo`، تدعم جميع أنواع البيانات تقريبًا (؟؟)، حتى الهياكل!

انظر [منشور المدونة هذا للمزيد](https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html)

## إعداد بيئة تطوير

يدعم هذا المستودع [حاويات تطوير VSCode] (https://code.visualstudio.com/docs/remote/create-dev-container) والتي تتيح لك التطوير داخل حاوية Docker. هذا يؤتمتة إعداد بيئة تطوير لك.

1. قم بتثبيت VSCode و Docker desktop
2. استنساخ هذا المستودع وفتحه في VSCode
3. قم بتثبيت إضافة `Visual Studio Code Remote - Containers`
4. افتح لوحة الأوامر واختر الأمر `Remote-Containers: Reopen in Container`

سيقوم VScode الآن ببناء صورة Docker (سيستغرق بعض الوقت) ويضعك مباشرة في بيئة تطوير Nim المعدة مسبقًا!

## المزالق التي وجدت نفسي أقع فيها

- عند استدعاء winapi باستخدام Winim ومحاولة تمرير قيمة فارغة، تأكد من تمرير القيمة `NULL` (المعرفة داخل مكتبة Winim) بدلاً من قيمة `nil` المدمجة في Nim. (آه)

- للحصول على مقبض نظام التشغيل للملف الذي تم إنشاؤه بعد استدعاء `open()` على Windows، تحتاج إلى استدعاء `f.getOsFileHandle()` **وليس** `f.getFileHandle()` لأسباب ما.

- يقبل مترجم Nim الوسائط بصيغة `-a=value` أو `--arg=value` على الرغم من أنه إذا نظرت إلى الاستخدام، فإنه يمرر الوسائط فقط كـ `-a:value` أو `--arg:value`. (مهم لملفات Makefiles)

- عند تعريف مصفوفة بايت، تحتاج أيضًا إلى الإشارة على الأقل في القيمة الأولى إلى أنها مصفوفة بايت، غريب بعض الشيء لكن لا بأس (https://forum.nim-lang.org/t/4322)

مصفوفة بايت في C#:```csharp
byte[] buf = new byte[5] {0xfc,0x48,0x81,0xe4,0xf0,0xff}

مصفوفة البايت في Nim:```nim var buf: array[5, byte] = [byte 0xfc,0x48,0x81,0xe4,0xf0,0xff]

root@kitploit:~
## مكتبات Nim مثيرة للاهتمام

- https://github.com/dom96/jester
- https://github.com/pragmagic/karax
- https://github.com/Niminem/Neel
- https://github.com/status-im/nim-libp2p
- https://github.com/PMunch/libkeepass
- https://github.com/def-/nim-syscall
- https://github.com/tulayang/asyncdocker
- https://github.com/treeform/ws
- https://github.com/guzba/zippy
- https://github.com/rockcavera/nim-iputils
- https://github.com/FedericoCeratto/nim-socks5
- https://github.com/CORDEA/backoff
- https://github.com/treeform/steganography
- https://github.com/miere43/nim-registry
- https://github.com/status-im/nim-daemon

## روابط Nim لتطوير البرامج الضارة

- https://web.archive.org/web/20210117002945/https://secbytes.net/implant-roulette-part-1:-nimplant/
- https://securelist.com/zebrocys-multilanguage-malware-salad/90680/
- https://github.com/MythicAgents/Nimplant
- https://github.com/elddy/Nim-SMBExec
- https://github.com/elddy/NimScan

## المساهمون 

عناق افتراضي لكل من ساهم ❤️

<a href="https://github.com/byt3bl33d3r/OffensiveNim/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=byt3bl33d3r/OffensiveNim" />
</a>
تنزيل الأداة
الملفالوصف
pop_bin.nimاستدعاء WinApi MessageBox بدون استخدام مكتبة Winim
pop_winim_bin.nimاستدعاء MessageBox مع مكتبة Winim
pop_winim_lib.nimمثال على إنشاء DLL لنظام Windows مع تصدير DllMain
execute_assembly_bin.nimاستضافة CLR، تنفيذ تجميعات .NET بشكل عاكس من الذاكرة
clr_host_cpp_embed_bin.nimاستضافة CLR عن طريق تضمين كود C++ مباشرة، تنفيذ تجميع .NET من القرص
scshell_c_embed_bin.nimيوضح كيفية تسليح كود C موجود بسرعة عن طريق تضمين SCShell (C) مباشرة داخل Nim
fltmc_bin.nimتعداد جميع برامج تشغيل Minifilter
blockdlls_acg_ppid_spoof_bin.nimإنشاء عملية معلقة تقوم بتزوير PPID الخاص بها إلى explorer.exe، كما تقوم بتمكين BlockDLLs و ACG
named_pipe_client_bin.nimعميل Named Pipe
named_pipe_server_bin.nimخادم Named Pipe
embed_rsrc_bin.nimتضمين مورد (ملف مضغوط) في وقت الترجمة واستخراج المحتويات في وقت التشغيل
self_delete_bin.nimطريقة لحذف ملف قابل للتنفيذ مقفل أو قيد التشغيل على القرص. الطريقة اكتشفها @jonasLyk
encrypt_decrypt_bin.nimتشفير/فك تشفير باستخدام AES256 (وضع CTR) باستخدام مكتبة Nimcrypto
amsi_patch_bin.nimتصحيح AMSI خارج العملية الحالية
amsi_providerpatch_bin.nimتصحيح DLL موفر AMSI (في هذه الحالة MpOav.dll) لتجاوز AMSI. نُشر هنا
etw_patch_bin.nimتصحيح ETW خارج العملية الحالية (مساهم من )
wmiquery_bin.nimالاستعلام عن العمليات الجارية وبرامج مكافحة الفيروسات المثبتة باستخدام WMI
out_compressed_dll_bin.nimضغط، تشفير Base-64 وإخراج كود PowerShell لتحميل dll مُدار في الذاكرة. نسخة من سكريبت PowerSploit الأصلي إلى Nim.
dynamic_shellcode_local_inject_bin.nimإثبات مفهوم لحقن شيل كود محليًا يتم استرداده ديناميكيًا بدلاً من ترميزه في مصفوفة.
shellcode_callback_bin.nimتنفيذ شيل كود باستخدام دوال رد الاتصال (Callback)
shellcode_bin.nimإنشاء عملية معلقة وحقن شيل كود باستخدام VirtualAllocEx/CreateRemoteThread. كما يوضح استخدام تعريفات وقت التجميع للكشف عن العمارة ونظام التشغيل إلخ..
shellcode_fiber.nimتنفيذ شيل كود عبر الألياف (Fibers)
shellcode_inline_asm_bin.nimتنفيذ شيل كود باستخدام تعليمات التجميع المضمنة
ssdt_dump.nimاسترجاع SSDT بسيط باستخدام جدول دوال وقت التشغيل من دليل الاستثناءات. التقنية مستوحاة من مقال MDSEC
syscalls_bin.nimيوضح كيفية إجراء استدعاءات نظام مباشرة
execute_powershell_bin.nimاستضافة CLR وتنفيذ PowerShell من خلال مساحة تشغيل غير مُدارة
passfilter_lib.nimتسجيل تغييرات كلمة المرور إلى ملف عن طريق (إساءة) استخدام عامل تصفية تعقيد كلمة المرور
minidump_bin.nimإنشاء تفريغ ذاكرة لـ lsass باستخدام MiniDumpWriteDump
http_request_bin.nimيوضح عدة طرق لإجراء طلبات HTTP
execute_sct_bin.nimتنفيذ ملف .sct عبر GetObject()
scriptcontrol_bin.nimتنفيذ VBScript و JScript ديناميكيًا باستخدام كائن COM MSScriptControl
excel_com_bin.nimحقن شيل كود باستخدام كائن COM لـ Excel ووحدات ماكرو
keylogger_bin.nimمسجل ضغطات المفاتيح باستخدام SetWindowsHookEx
memfd_python_interpreter_bin.nimاستخدام استدعاء النظام memfd_create لتحميل ملف ثنائي في ملف مجهول وتنفيذه باستخدام استدعاء النظام execve.
uuid_exec_bin.nimزرع شيل كود من مصفوفة UUID في مساحة الكومة واستخدام رد الاتصال EnumSystemLocalesA لتنفيذ الشيل كود.
unhookc.nimإلغاء ربط ntdll.dll لتجنب ربط EDR/AV (يضم قالب كود C من ired.team)
unhook.nimإلغاء ربط ntdll.dll لتجنب ربط EDR/AV (تطبيق Nim نقي)
taskbar_ewmi_bin.nimاستخدام حقن الذاكرة الإضافية للنافذة عبر خاصية التطبيق الجاري لشريط المهام لتنفيذ الشيل كود.
fork_dump_bin.nim(إساءة) استخدام تنفيذ Windows لـ fork() والحصول على مقبض لعملية عن بعد باستخدام حق الوصول PROCESS_CREATE_PROCESS. ثم محاولة تفريغ ذاكرة العملية المنسوخة باستخدام MiniDumpWriteDump()
ldap_query_bin.nimإجراء استعلامات LDAP عبر COM باستخدام موفر ADSI الخاص بـ ADO
sandbox_process_bin.nimيعزل هذا عملية عن طريق تعيين مستوى الثقة إلى "غير موثوق" ويجرد الرموز الهامة. يمكن استخدامه لـ "تعطيل صامت" لعملية PPL (مثل AV/EDR)
list_remote_shares.nimاستخدام NetShareEnum لسرد المشاركات التي يمكن للمستخدم الحالي الوصول إليها
chrome_dump_bin.nimقراءة وفك تشفير ملفات تعريف الارتباط من قاعدة بيانات sqlite الخاصة بـ Chrome
suspended_thread_injection.nimتنفيذ شيل كود عبر حقن خيط معلق
dns_exfiltrate.nimتسريب DNS بسيط عبر استعلامات سجلات TXT
rsrc_section_shellcode.nimتنفيذ شيل كود مضمن في قسم .rsrc من الملف الثنائي
token_steal_cmd.nimسرقة رمز/انتحال هوية ثم تشغيل أمر
anti_analysis_isdebuggerpresent.nimتحليل مضاد بسيط يتحقق من وجود مصحح
sandbox_domain_check.nimتقنية هروب من الصندوق الرملي بسيطة، تتحقق مما إذا كان الكمبيوتر متصلاً بالمجال أم لا
Hook.nimمثال على ربط هجومي لـ MessageBoxA
anti_debug.nimعرض تقنيتين لمكافحة التصحيح
anti_debug_via_tls.nimمكافحة التصحيح عبر TLS
local_pe_execution.nimتنفيذ ملفات exe و dll في الذاكرة
stack_string_allocation.nimتخصيص سلاسل c و عريضة على المكدس باستخدام المصفوفات
hardware_breakpoints.nimربط الدوال باستخدام نقاط توقف الأجهزة
قيد التطوير