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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Bitmancer — مكتبة Nim لتطوير الأمن الهجومي | Kitploit
أدوات/GitHubGitHub/zimawhit3/bitmancer
التهرب من IDS/IPSشيل كودما بعد الاستغلالالأدوات والمكوناتتحليل الملفات الثنائيةالفريق الأحمرتطوير الحمولات
GitHubzimawhit3/bitmancer

Bitmancer

مكتبة Nim لتطوير الأمن الهجومي

عرض المستودع
200215منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Bitmancer

Bitmancer هي مكتبة لتطوير أدوات الأمن الهجومي لنظام التشغيل Windows مكتوبة بلغة Nim. تهدف إلى توفير واجهات برمجية (APIs) وإجراءات ووحدات ماكرو شائعة مع تطبيقات مستقلة عن الموضع (position-independent) وقابلة للتكوين بدرجة كبيرة.

إذا كنت تتطلع إلى تطوير إمبلانت (Implant)، أو اختبار PoC سريع، أو كتابة أداة جديدة لامعة - يمكن أن يساعدك Bitmancer على البدء!

⚠️ هذا المستودع حاليًا قيد العمل بشكل كبير (WIP)! قد تواجه مشكلات عند استخدامه، ولا توجد ضمانات للاستقرار في الوقت الحالي. ⚠️

التبعيات (Dependencies)

يعتمد Bitmancer جزئيًا على winim لأنواعه. للتثبيت، شغّل:

nimble install winim

التثبيت

Bitmancer ليس جزءًا من مستودع nimble بعد. في الوقت الحالي، يمكنك تثبيته من Github بمجرد تشغيل:

nimble install https://github.com/zimawhit3/Bitmancer

التجميع

سيُدخل كل من MingW وNim تبعيات على MSVCRT وKernel32، بالإضافة إلى المتغيرات العامة التي يستخدمها Nim's System module. إذا كنت تريد تجنب هذه التبعيات من أجل كود مستقل عن الموضع، استخدم nim.cfg المتوفر.

للتجميع: nim c -d:mingw <Your_Nim_File>

الاستخدام

لكل الوحدات:

root@kitploit:~
import Bitmancer

إذا لم تكن بحاجة إلى إجراءات NTDLL أو استدعاءات النظام (syscalls)، يمكنك ببساطة استخدام:

root@kitploit:~
import Bitmancer/core

للحصول على إجراءات التجزئة فقط:

root@kitploit:~
import Bitmancer/core/obfuscation/hash

المهام الحالية (TODOs):

  • تبسيط تعريفات وقت الترجمة (Compile Time defines) (YAML؟)
  • CI/CD
  • أمثلة
  • توثيق
  • بذرة تجزئة أكبر في وقت الترجمة (Compile-time Hash Seed)
  • اختبارات!

الميزات

الميزات المدعومة حاليًا:

  • تحليل أسماء ApiSet
  • واجهات برمجية شائعة (GetProcAddress, GetModuleHandle, GetSystemTime, إلخ..)
  • التجزئة (Hashing)
    • وقت الترجمة
    • وقت التشغيل
  • Manual Mapper
    • من القرص
    • من الذاكرة 🚧
      • DLLs 🚧
      • COFFs 🚧
  • NTDLL
    • استدعاءات نظام Nt*
    • إجراءات Rtl*
  • قاعدة بيانات NTLoader
    • القوائم المرتبطة (LDR_DATA_TABLE_ENTRY)
    • الأشجار الحمراء والسوداء (RTL_BALANCED_NODE)
  • تحليل Portable Executable والأدوات المساعدة
  • تعداد SSN
    • Hell's Gate
    • Halo's Gate
    • Tartarus' Gate
    • LdrThunkSignatures
    • ZwCounter
  • سلاسل المكدس (Stack Strings)
  • تقنيات مراوغة استدعاءات النظام (Syscall Evasion)
    • استدعاءات النظام المباشرة
    • استدعاءات النظام غير المباشرة

الميزات المستقبلية التي أهدف إلى دعمها:

  • إجراءات وأدوات مكافحة التنقيح (Anti-Debug)
  • التشفير
  • معالجة الاستثناءات
  • Callbacks
    • Instrumented
    • Native
    • VEH
  • إجراءات التوجيه (Hooking) والأدوات المساعدة
  • مزيد من أغلفة NTDLL
  • تقنيات مراوغة النوم (Sleep Evasion)
    • Death Sleep
    • CreateTimerQueueTimer
  • انتحال المكدس (Stack Spoofing)
  • تقنيات مراوغة استدعاءات النظام
    • Tamper
  • دعم x86

إذا كانت هناك ميزة/تقنية تود أن تراها مُنفذة، أخبرني!

أمثلة

سلاسل المكدس (Stack Strings):

root@kitploit:~
var wStr {.stackStringW.} = "Hello!"
var cStr {.stackStringA.} = "World!"

إذا كنت تتطلع إلى إنشاء غلاف (wrapper) حول استدعاء نظام غير متوفر حاليًا، فإن التدفق الأساسي يكون كما يلي:

root@kitploit:~
## Import syscalls
import Bitmancer/syscalls

## For hashing
import Bitmancer/core/obfuscation/hash

## Define your type
type NtClose = proc(h: HANDLE): NTSTATUS {.stdcall, gcsafe.}

## Generate the wrapper
genSyscall(NtClose)

## Define configurations for how to retrieve and execute the syscall

## The procedure's symbol enumeration method - available options are:
## UseEAT - use the export address table to resolve the symbol
## UseIAT - use the import address table to resolve the symbol
## UseLdrThunks - use the NTLoader's LdrThunkSignatures to map a clean NTDLL to resolve symbols from
const symEnum = SymbolEnumeration.UseEAT

## The SSN enumeration method - available options are:
## HellsGate
## HalosGate
## TartarusGate
## ZwCounter
const ssnEnum = SsnEnumeration.HellsGate

## Finally, the execution method - available options are:
## Direct   - use the direct syscall stub
## Indirect - use the indirect syscall stub
const exeEnum = SyscallExecution.Indirect

## Define an ident to use to identify the symbol
const NtCloseHash = ctDjb2 "NtClose"

## Retrive NTDLL
let Ntdll = ? NTDLL_BASE()

## Call ctGetNtSyscall, retrieving the NtSyscall object containing the SSN, pointer to the address of the function
## and a casted stub to your type.
let NtSyscall = ctGetNtSyscall[NtClose](Ntdll, ModuleHandle(NULL), NtCloseHash, symEnum, ssnEnum, exeEnum)

## Finally, call the wrapper!
NtCloseWrapper(h, NtSyscall.wSyscall, NtSyscall.pSyscall, NtSyscall.pFunction)

انظر إلى مثال runShellCode للحصول على مثال كامل.
يمكن أيضًا العثور على مزيد من الأمثلة في ntdll.

تنزيل الأداة