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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PowerSploit — PowerSploit - A PowerShell Post-Exploitation Framework | Kitploit
أدوات/GitHubGitHub/zerodaylab/powersploit
Penetration Testing FrameworksPrivilege EscalationReconnaissanceExploit FrameworksPersistence MechanismsIDS/IPS EvasionData ExfiltrationCommand and ControlRed TeamingPayload Development
GitHubzerodaylab/powersploit
23929منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

عرض المستودع

تم عمل Fork لإضافة بعض الميزات إلى PowerView.ps1 والتي أقوم بتنفيذها يدويًا بشكل متكرر

لم يعد هذا المشروع مدعومًا

PowerSploit عبارة عن مجموعة من وحدات Microsoft PowerShell التي يمكن استخدامها لمساعدة مختبري الاختراق في جميع مراحل التقييم. يتكون PowerSploit من الوحدات والسكربتات التالية:

تنفيذ الأكواد

تنفيذ الأكواد على جهاز مستهدف.

Invoke-DllInjection

يحقن ملف DLL في معرف العملية (Process ID) الذي تختاره.

Invoke-ReflectivePEInjection

يحمّل ملف Windows PE (DLL/EXE) بشكل انعكاسي (Reflective) في عملية PowerShell، أو يحقن DLL بشكل انعكاسي في عملية بعيدة.

Invoke-Shellcode

يحقن شيل كود (Shellcode) في معرف العملية الذي تختاره أو داخل PowerShell محليًا.

Invoke-WmiCommand

ينفّذ كتلة ScriptBlock خاصة بـ PowerShell على جهاز مستهدف ويعيد مخرجاتها المنسقة باستخدام WMI كقناة C2.

تعديل السكربتات

تعديل و/أو تجهيز السكربتات للتنفيذ على جهاز تم اختراقه.

Out-EncodedCommand

يضغط، ويشفّر Base-64، وينشئ مخرجات سطر أوامر لسكربت حمولة (Payload) خاص بـ PowerShell.

Out-CompressedDll

يضغط، ويشفّر Base-64، ويخرج كودًا مولّدًا لتحميل مكتبة dll مُدارة في الذاكرة.

Out-EncryptedScript

يشفّر ملفات/سكربتات النصوص.

Remove-Comment

يزيل التعليقات والمسافات البيضاء الزائدة من السكربت.

الثبات

إضافة قدرات الثبات (Persistence) إلى سكربت PowerShell

New-UserPersistenceOption

تكوين خيارات الثبات على مستوى المستخدم لوظيفة Add-Persistence.

New-ElevatedPersistenceOption

تكوين خيارات الثبات بصلاحيات مرتفعة لوظيفة Add-Persistence.

Add-Persistence

إضافة قدرات الثبات إلى سكربت.

Install-SSP

يُثبّت مكتبة dll لموفر دعم الأمان (SSP).

Get-SecurityPackages

يعدّد جميع حزم الأمان المحمّلة (SSPs).

تجاوز مكافح الفيروسات

برامج مكافحة الفيروسات (AV) لا تملك فرصة أمام PowerShell!

Find-AVSignature

يحدد مواقع توقيعات AV أحادية البايت باستخدام نفس الأسلوب الذي تستخدمه DSplit من "class101".

استخراج البيانات

كل بياناتك ملك لي!

Invoke-TokenManipulation

يعرض رموز تسجيل الدخول (Logon Tokens) المتاحة. ينشئ عمليات باستخدام رموز تسجيل دخول مستخدمين آخرين، وينتحل شخصية رموز تسجيل الدخول في الخيط الحالي.

Invoke-CredentialInjection

إنشاء عمليات تسجيل دخول ببيانات اعتماد نصية واضحة دون إطلاق حدث مشبوه برقم المعرف 4648 (Explicit Credential Logon).

Invoke-NinjaCopy

ينسخ ملفًا من وحدة تخزين مقسّمة بنظام NTFS عبر قراءة الوحدة الخام وتحليل بنيات NTFS.

Invoke-Mimikatz

يحمّل Mimikatz 2.0 بشكل انعكاسي في الذاكرة باستخدام PowerShell. يمكن استخدامه لتفريغ بيانات الاعتماد دون كتابة أي شيء على القرص. يمكن استخدامه لأي وظيفة يوفرها Mimikatz.

Get-Keystrokes

يسجّل المفاتيح المضغوطة والوقت والنافذة النشطة.

Get-GPPPassword

يسترجع كلمة المرور النصية الواضحة والمعلومات الأخرى للحسابات التي تم دفعها عبر تفضيلات نهج المجموعة (Group Policy Preferences).

Get-GPPAutologon

يسترجع اسم المستخدم وكلمة مرور تسجيل الدخول التلقائي (Autologon) من registry.xml إذا تم دفعها عبر تفضيلات نهج المجموعة.

Get-TimedScreenshot

وظيفة تلتقط لقطات شاشة على فترات منتظمة وتحفظها في مجلد.

New-VolumeShadowCopy

ينشئ نسخة ظل جديدة لوحدة التخزين (Volume Shadow Copy).

Get-VolumeShadowCopy

يعرض مسارات الأجهزة لجميع نسخ الظل المحلية لوحدات التخزين.

Mount-VolumeShadowCopy

يركّب نسخة ظل لوحدة تخزين.

Remove-VolumeShadowCopy

يحذف نسخة ظل لوحدة تخزين.

Get-VaultCredential

يعرض كائنات بيانات اعتماد خزينة Windows (Windows Vault) بما في ذلك بيانات اعتماد الويب النصية الواضحة.

Out-Minidump

يولّد تفريغًا مصغرًا (Minidump) للذاكرة الكاملة لعملية ما.

Get-MicrophoneAudio

يسجّل الصوت من ميكروفون النظام ويحفظه على القرص

الفوضى

إحداث فوضى عامة باستخدام PowerShell.

Set-MasterBootRecord

كود إثبات مفهوم (Proof of Concept) يكتب فوق سجل الإقلاع الرئيسي (Master Boot Record) بالرسالة التي تختارها.

Set-CriticalProcess

يتسبب في ظهور شاشة زرقاء (Blue Screen) على جهازك عند الخروج من PowerShell.

رفع الصلاحيات

أدوات للمساعدة في رفع الصلاحيات على جهاز مستهدف.

PowerUp

مركز تجميع لفحوصات رفع الصلاحيات الشائعة، إلى جانب بعض نواقل التسليح (Weaponization Vectors).

الاستطلاع

أدوات للمساعدة في مرحلة الاستطلاع (Reconnaissance) من اختبار الاختراق.

Invoke-Portscan

يجري فحص منافذ بسيطًا باستخدام مقابس (Sockets) عادية، استنادًا بشكل فضفاض إلى حد ما إلى nmap.

Get-HttpStatus

يعيد رموز حالة HTTP وعنوان URL الكامل للمسارات المحددة عند تزويده بملف قاموس.

Invoke-ReverseDnsLookup

يفحص نطاقًا من عناوين IP بحثًا عن سجلات DNS PTR.

PowerView

PowerView عبارة عن سلسلة من الوظائف التي تقوم بتعداد (Enumeration) واستغلال (Exploitation) الشبكة ونطاقات Windows.

الاستطلاع\القواميس

مجموعة من القواميس المستخدمة للمساعدة في مرحلة الاستطلاع من اختبار الاختراق. تم أخذ القواميس من المصادر التالية.

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

الرخصة

مشروع PowerSploit وجميع السكربتات الفردية تخضع لـ رخصة BSD 3-Clause ما لم يُنص على خلاف ذلك صراحةً.

الاستخدام

ارجع إلى المساعدة المبنية على التعليقات (Comment-Based Help) في كل سكربت على حدة للحصول على معلومات استخدام مفصلة.

لتثبيت هذه الوحدة، ضع مجلد PowerSploit بأكمله في أحد أدلة الوحدات لديك. توجد مسارات وحدات PowerShell الافتراضية في متغير البيئة $Env:PSModulePath.

مسار الوحدة الافتراضي لكل مستخدم هو: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" مسار الوحدة الافتراضي على مستوى الكمبيوتر هو: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

لاستخدام الوحدة، اكتب Import-Module PowerSploit

لعرض الأوامر المستوردة، اكتب Get-Command -Module PowerSploit

إذا كنت تشغّل PowerShell v3 وتريد إزالة التحذير المزعج 'هل تريد حقًا تشغيل السكربتات التي تم تنزيلها من الإنترنت'، فبمجرد وضع PowerSploit في مسار الوحدات لديك، نفّذ الكود التالي في سطر واحد: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

للحصول على مساعدة حول كل أمر على حدة، فإن Get-Help هو صديقك.

ملاحظة: صُممت جميع الأدوات الموجودة في هذه الوحدة بحيث يمكن تشغيل كل منها بشكل فردي. إن إدراجها في وحدة واحدة يخدم فقط زيادة قابلية النقل.

قواعد المساهمة

نحن بحاجة إلى مساهمات! إذا كانت لديك فكرة رائعة لـ PowerSploit، يسعدنا إضافتها. ستتطلب الإضافات الجديدة ما يلي:

  • يجب أن يلتزم السكربت بدليل الأسلوب (Style Guide). أي استثناءات على خطوط الدليل ستحتاج إلى سبب صريح وصحيح.
  • يجب تحديث بيان الوحدة (Module Manifest) ليعكس الوظيفة الجديدة المضافة.
  • يجب إضافة وصف موجز للوظيفة إلى هذا الملف README.md
  • يجب أن ترافق اختبارات Pester جميع الوظائف الجديدة. راجع مجلد Tests للحصول على أمثلة، لكننا نبحث عن اختبارات تغطي الأساسيات على الأقل من خلال اختبار المدخلات/المخرجات المتوقعة وغير المتوقعة، وأن تُظهر الوظيفة الوظيفية المطلوبة. تأكد من أن الوظيفة تجتاز جميع الاختبارات (ويفضل على أنظمة تشغيل متعددة) قبل تقديم طلب سحب (Pull Request). شكرًا!

دليل أسلوب السكربتات

لجميع المساهمين والمساهمين المستقبليين في PowerSploit، أطلب منكم اتباع دليل الأسلوب هذا عند كتابة السكربتات/الوحدات.

  • تجنّب استخدام Write-Host بأي ثمن. وظائف/Cmdlets الخاصة بـ PowerShell ليست أدوات لسطر الأوامر! لن يتم النظر في طلبات السحب التي تحتوي على كود يستخدم Write-Host. يجب عليك إخراج كائنات مخصصة بدلاً من ذلك. لمزيد من المعلومات حول إنشاء الكائنات المخصصة، اقرأ هذه المقالات:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • إذا كنت تريد عرض معلومات تصحيح أخطاء ذات صلة على الشاشة، فاستخدم Write-Verbose. يمكن للمستخدم دائمًا إضافة '-Verbose' في النهاية.

  • قدّم دائمًا مساعدة وصفية مبنية على التعليقات (Comment-Based Help) لكل سكربت. أيضًا، تأكد من تضمين اسمك ورخصة BSD 3-Clause (ما لم تكن هناك ظروف قاهرة تمنع تطبيق رخصة BSD).

  • تأكد من أن جميع الوظائف تتبع التوافق الصحيح بين الفعل والاسم في PowerShell. استخدم Get-Verb لسرد الأفعال الافتراضية التي يستخدمها PowerShell. سيتم النظر في الاستثناءات للأفعال المدعومة على أساس كل حالة على حدة.

  • أفضّل أن تكون أسماء المتغيرات مكتوبة بأحرف كبيرة وأن تكون وصفية قدر الإمكان.

  • وفّر مسافات منطقية بين الكود. ضع مسافة بادئة (Indent) للكود لجعله أكثر قابلية للقراءة.

  • إذا وجدت نفسك تكرر الكود، فاكتب وظيفة (Function).

  • التقط جميع الأخطاء المتوقعة ووفّر مخرجات ذات معنى. إذا كان لديك خطأ يجب أن يوقف تنفيذ السكربت، فاستخدم 'Throw'. إذا كان لديك خطأ لا يحتاج إلى إيقاف التنفيذ، فاستخدم Write-Error.

  • إذا كنت تكتب سكربتًا يتفاعل مع Win32 API، فحاول تجنب ترجمة C# مباشرةً باستخدام Add-Type. حاول استخدام وحدة PSReflect إن أمكن.

  • لا تستخدم مسارات مكتوبة بشكل ثابت (Hardcoded Paths). يجب أن يكون السكربت قابلًا للاستخدام مباشرة دون أي تعديل. لا ينبغي لأي شخص تعديل الكود إلا إذا أراد ذلك.

  • التوافق مع PowerShell v2 مرغوب فيه بشدة.

  • استخدم المعاملات الموضعية (Positional Parameters) واجعل المعاملات إلزامية عندما يكون ذلك منطقيًا. على سبيل المثال، أبحث عن شيء مثل ما يلي:

    • [Parameter(Position = 0, Mandatory = $True)]
  • لا تستخدم أي أسماء مستعارة (Aliases) إلا إذا كان من المنطقي استخدامها لاستقبال مدخلات خط الأنابيب (Pipeline). فهي تجعل الكود أكثر صعوبة في القراءة للأشخاص غير الملمّين باسم مستعار معين.

تنزيل الأداة
  • حاول ألا تدع الأوامر تستمر لفترة طويلة. على سبيل المثال، خط الأنابيب هو مكان طبيعي لفاصل أسطر.

  • لا تبالغ في التعليقات المضمنة (Inline Comments). استخدمها فقط عندما تكون جوانب معينة من الكود قد تكون مربكة للقارئ.

  • بدلاً من استخدام Out-Null لكبت المخرجات غير المرغوب فيها/غير ذات الصلة، احفظ المخرجات غير المرغوب فيها في $null. القيام بذلك يوفر تحسينًا طفيفًا في الأداء.

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

  • إذا كان السكربت ينشئ كائنات مخصصة معقدة، فقم بتضمين ملف ps1xml ينسّق مخرجات الكائن بشكل صحيح.