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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
nopowershell — PowerShell مُعاد بناؤه بلغة C# لأغراض Red Teaming | Kitploit
أدوات/GitHubGitHub/bitsadmin/nopowershell
الاستطلاعجمع المعلوماتما بعد الاستغلالالقيادة والسيطرةالفريق الأحمر
GitHubbitsadmin/nopowershell

nopowershell

PowerShell مُعاد بناؤه بلغة C# لأغراض Red Teaming

عرض المستودع
1.1k144منذ 9 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

NoPowerShell

NoPowerShell هي أداة مطبَّقة بلغة C# تدعم تنفيذ أوامر شبيهة بأوامر PowerShell مع بقائها غير مرئية لأي آليات تسجيل خاصة بـ PowerShell. يمكن تحميل هذه الثنائية المتوافقة مع .NET Framework 2 داخل Cobalt Strike لتنفيذ الأوامر في الذاكرة. لا يتم استخدام System.Management.Automation.dll؛ بل تُستخدم مكتبات .NET الأصلية فقط. حالة استخدام بديلة لـ NoPowerShell هي تشغيلها كملف DLL عبر rundll32.exe في بيئة مقيّدة: rundll32 NoPowerShell.dll,main.

هذا المشروع يجعل من السهل على الجميع توسيع وظائفه باستخدام بضعة أسطر فقط من كود C#. لمزيد من المعلومات، راجع CONTRIBUTING.md.

أحدث الثنائيات متاحة من صفحة Releases. لا يتم تحديث فرع MASTER بانتظام؛ أحدث الأكواد والأوامر متاحة في فرع DEV. لبدء تطوير مهاراتك في NoPowerShell، تأكد أيضاً من الاطلاع على Cheatsheet الخاص بالأوامر.

لقطات الشاشة

التشغيل في Cobalt Strike

الأوامر المدعومة في NoPowerShell

تنفيذ نموذجي للأوامر

أوامر نموذجية في NoPowerShell

إصدار Rundll32

NoPowerShellDll عبر rundll32

لماذا NoPowerShell؟

تم تطوير NoPowerShell لاستخدامها مع أمر execute-assembly في Cobalt Strike أو في بيئة مقيّدة باستخدام rundll32.exe. أسباب استخدام NoPowerShell:

  • تنفيذ خفي إلى حد كبير
  • وظائف قوية
  • توفر الأوامر التي تعرفها بالفعل في PowerShell، فلا حاجة لتعلّم أداة أخرى
  • إذا لم تكن معتاداً بعد على PowerShell، فالتوابع الخاصة بـ cmd.exe متاحة أيضاً (مثل ping بدلاً من Test-NetConnection)
  • في حال لم تكن الأوامر متاحة عبر powerpick أو powershell، فهي متاحة في nps (مثل أوامر وحدة ActiveDirectory)
  • قابلة للتوسيع بسهولة ببضعة أسطر فقط من C#

الاستخدام

أمثلة

راجع CHEATSHEET.md.

الاستخدام في Cobalt Strike عبر execute-assembly

استخدم أمر execute-assembly في Cobalt Strike لتشغيل NoPowerShell.exe. على سبيل المثال: execute-assembly /path/to/NoPowerShell.exe Get-Command. يمكن استخدام NoPowerShell.cna اختيارياً لإضافة الاسم المستعار nps إلى Cobalt Strike.

الاستخدام في Cobalt Strike عبر BOF.NET

  1. ثبّت BOF الخاص بـ BOF.NET من https://github.com/CCob/BOF.NET
  2. حمّل بيئة تشغيل BOF.NET: bofnet_init
  3. حمّل وحدة NoPowerShell: bofnet_load /path/to/NoPowerShell.dll
  4. نفّذ أوامر NoPowerShell: bofnet_execute NoPowerShell.Program Get-Command

الاستخدام في Cobalt Strike باستخدام نسخة @williamknows المعدّلة من BOF.NET

تسمح هذه النسخة المعدّلة بتشغيل ملفات .NET القابلة للتنفيذ العادية

  1. احصل على نسخة @williamknows المعدّلة من BOF.NET وقم بتجميعها من https://github.com/williamknows/BOF.NET
  2. حمّل بيئة تشغيل BOF.NET: bofnet_init
  3. حمّل وحدة NoPowerShell: bofnet_load /path/to/NoPowerShell.exe
  4. نفّذ أوامر NoPowerShell: bofnet_executeassembly NoPowerShell Get-Command

التشغيل عبر rundll32

  1. أنشئ اختصاراً جديداً لملف NoPowerShell.dll (اسحب باستخدام الزر الأيمن -> Create shortcuts here)
  2. حدّث الاختصار بإضافة rundll32 قبل اسم الملف وإلحاق ,main
  3. سيصبح الاختصار الآن: rundll32 C:\Path\to\NoPowerShell.dll,main
  4. انقر نقراً مزدوجاً على الاختصار

ملاحظة

عند استخدام NoPowerShell من cmd.exe أو PowerShell، تحتاج إلى تخطي رمز الأنبوب (|) باستخدام علامة الإقحام (^) أو العلامة الخلفية (`) على التوالي، على سبيل المثال:

  • cmd.exe: ls ^| select Name
  • PowerShell: ls `| select Name

المشاكل المعروفة

  • يجب أن تكون رموز الأنبوب محاطة بمسافات
  • لا يدعم .NET Framework 2 بروتوكول TLS 1.1+، لذا فإن أي موقع يفرضه سيؤدي إلى خطأ في الاتصال

تحسينات

  • إصلاح المشاكل أعلاه
  • دعم مجموعات المعاملات
  • إضافة دعم لكود .NET في سطر الأوامر، مثل: [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

أوامر NoPowerShell المطلوبة

أوامر NoPowerShell المُساهَم بها

يُضاف مؤلفو أوامر NoPowerShell الإضافية إلى الجدول أدناه. علاوة على ذلك، يدرج الجدول الأوامر التي يطلب المجتمع إضافتها. معاً يمكننا تطوير مجموعة أدوات NoPowerShell قوية!

الأمرالمساهِمGitHubTwitterالوصف

أوامر NoPowerShell المتضمنة

تأكد أيضاً من الاطلاع على Cheatsheet للحصول على أمثلة حول كيفية استخدام هذه الأوامر.

شكر وتقدير

تحتوي أوامر NoPowerShell المتعددة وملف NoPowerShell DLL على كود أنشأه مطوّرون آخرون.

من تأليف Arris Huijgen (@bitsadmin - https://github.com/bitsadmin/)

تنزيل الأداة
الأمرالوصف
Invoke-Commandتنفيذ أمر على جهاز بعيد باستخدام PSRemoting (والذي سيتم تسجيله بالطبع في هذه الحالة)
*المزيد من أوامر *-Item*
Search-ADAccount
Get-ADPrincipalGroupMembership
Get-ADOrganizationalUnits
*المزيد من الأوامر من وحدة ActiveDirectory في PowerShell
*أدوات Sysinternals مثل pipelist و sdelete
الأمرالوحدةملاحظات
Get-ADUserActiveDirectory
Get-ADObjectActiveDirectory
Get-ADReplicationSubnetActiveDirectory
Get-ADGroupActiveDirectory
Get-ADGroupMemberActiveDirectory
Get-ADComputerActiveDirectory
Get-ADDomainControllerActiveDirectory
Get-ADTrustActiveDirectory
Copy-AclAdditional
Get-RemoteSmbShareAdditional
Resolve-AdiDnsNameAdditional
Get-WhoamiAdditional
Get-WinStationAdditional
Compress-ArchiveArchiveيتطلب .NET 4.5 أو أحدث
Expand-ArchiveArchiveيتطلب .NET 4.5 أو أحدث
Get-HelpCore
Get-CommandCore
Where-ObjectCore
Resolve-DnsNameDnsClient
Get-LocalGroupMemberLocalAccounts
Get-LocalGroupLocalAccounts
Set-ClipboardManagement
Get-PSDriveManagement
Get-HotFixManagement
Stop-ProcessManagement
Get-ChildItemManagement
Copy-ItemManagement
Invoke-WmiMethodManagement
Remove-ItemManagement
Get-ItemPropertyValueManagement
Get-ItemPropertyManagement
Get-ComputerInfoManagement
Get-DnsClientCacheManagement
Get-ProcessManagement
Get-WmiObjectManagement
Get-ClipboardManagement
Get-ContentManagement
Test-NetConnectionNetTCPIP
Get-NetTCPConnectionNetTCPIP
Get-NetNeighborNetTCPIPلا يدعم IPv6 بعد
Get-NetRouteNetTCPIP
Get-NetIPAddressNetTCPIP
Get-ServiceNoPowerShell.Commands
Get-LocalUserNoPowerShell.Commands
Get-WinEventNoPowerShell.Commands
New-ShortcutNoPowerShell.Commands
Get-AclSecurity
Get-SmbMappingSmbShare
Get-SmbShareSmbShare
Invoke-SqlcmdSQLPS
Get-FileHashUtility
ConvertFrom-SddlStringUtility
Sort-ObjectUtility
Measure-ObjectUtility
Invoke-WebRequestUtility
Select-ObjectUtility
Out-FileUtility
Format-TableUtility
Format-ListUtility
Export-CsvUtility
ConvertTo-CsvUtility
Write-OutputUtility
المساهِمالموقعملاحظات
مساهمو pinvoke.nethttps://www.pinvoke.net/تستخدم أوامر متعددة مقتطفات من pinvoke
Michael Conradhttps://github.com/MichaCo/أجزاء من أمر Resolve-Dns مبنية على كود مشروع DnsClient.Net
Rex Loganhttps://stackoverflow.com/a/1148861معظم كود أمر Get-NetNeighbor مصدره منشوره في StackOverflow
مطورو PowerShellhttps://github.com/PowerShell/كود NoPowerShell DLL مبني إلى حد كبير على الكود الذي يعالج إدخال وحدة التحكم في PowerShell
Benjamin Delpyhttps://github.com/gentilkiwi/كود Get-WinStation مستوحى من كود أمر ts::sessions في Mimikatz
Dan Portshttps://github.com/danports/كود تنظيم البيانات الخاص بـ Get-Winstation منسوخ جزئياً من مشروع Cassia
Mazdakhttps://www.codeproject.com/Articles/2937/Getting-local-groups-and-member-names-in-Cاستدعاءات الدوال الأصلية لأمر Get-LocalGroupMember
Rex Loganhttps://stackoverflow.com/a/1148861كود أمر Get-NetNeighbor