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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ScheduleRunner — أداة بلغة C# توفر مرونة أكبر لتخصيص المهام المجدولة بهدف الاستمرارية والحركة الجانبية في عمليات الفريق الأحمر | Kitploit
أدوات/GitHubGitHub/netero1010/schedulerunner
آليات الاستمراريةالتهرب من IDS/IPSالحركة الجانبيةما بعد الاستغلالالفريق الأحمر
GitHubnetero1010/schedulerunner

ScheduleRunner

أداة بلغة C# توفر مرونة أكبر لتخصيص المهام المجدولة بهدف الاستمرارية والحركة الجانبية في عمليات الفريق الأحمر

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ScheduleRunner - أداة C# توفر مرونة أكبر لتخصيص المهام المجدولة من أجل الاستمرارية والحركة الجانبية في عمليات الفريق الأحمر


المهمة المجدولة هي واحدة من أكثر تقنيات الهجوم شيوعًا في العقد الماضي، ولا تزال تُستخدم بشكل شائع من قبل المخترقين/فرق الأحمر للاستمرارية والحركة الجانبية.

تم تطوير عدد من أدوات C# لمحاكاة الهجوم باستخدام المهمة المجدولة. لقد جربت بعضها ولكن لكل منها قيوده الخاصة في تخصيص المهمة المجدولة. لذلك، يهدف هذا المشروع إلى توفير أداة C# (متوافقة مع CobaltStrike execute-assembly) لتضمين الميزات التي أحتاجها وتوفير مرونة كافية لتخصيص المهمة المجدولة.

لقطة شاشة:

HowTo

الطرق (/method):

الطريقةالوظيفة
createإنشاء مهمة مجدولة جديدة
deleteحذف مهمة مجدولة موجودة
runتنفيذ مهمة مجدولة موجودة
queryاستعلام عن تفاصيل مهمة مجدولة أو جميع المهام المجدولة داخل مجلد
queryfoldersاستعلام عن جميع المجلدات الفرعية في المهام المجدولة
moveتنفيذ حركة جانبية باستخدام المهمة المجدولة (إنشاء وتشغيل وحذف تلقائيًا)

خيارات إنشاء المهمة المجدولة (/method:create):

[*] هي حقول إلزامية.

خيارات حذف المهمة المجدولة (/method:delete):

الطريقةالوظيفة

[*] هي حقول إلزامية.

خيارات تنفيذ المهمة المجدولة (/method:run):

الطريقةالوظيفة
[*] /tasknameتحديد اسم المهمة المجدولة
/folderتحديد المجلد الذي تخزن فيه المهمة المجدولة (الافتراضي: \)
/remoteserverتحديد اسم المضيف أو عنوان IP لجهاز كمبيوتر بعيد

[*] هي حقول إلزامية.

خيارات استعلام المهمة المجدولة (/method:query):

الطريقةالوظيفة
/tasknameتحديد اسم المهمة المجدولة
/folderتحديد المجلد الذي تخزن فيه المهمة المجدولة (الافتراضي: \)
/remoteserverتحديد اسم المضيف أو عنوان IP لجهاز كمبيوتر بعيد

[*] هي حقول إلزامية.

خيارات الحركة الجانبية باستخدام المهمة المجدولة (/method:move):

[*] هي حقول إلزامية.

مثال

إنشاء مهمة مجدولة تُسمى "Cleanup" سيتم تنفيذها يوميًا الساعة 11:30 مساءً.

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:daily /starttime:23:30 /program:calc.exe /description:"Some description" /author:netero1010

إنشاء مهمة مجدولة تُسمى "Cleanup" سيتم تنفيذها كل 4 ساعات على خادم بعيد

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:hourly /modifier:4 /program:rundll32.exe /argument:c:\temp\payload.dll /remoteserver:TARGET-PC01

حذف مهمة مجدولة تُسمى "Cleanup"

ScheduleRunner.exe /method:delete /taskname:Cleanup

تنفيذ مهمة مجدولة تُسمى "Cleanup"

ScheduleRunner.exe /method:run /taskname:Cleanup

استعلام عن تفاصيل مهمة مجدولة تُسمى "Cleanup" داخل المجلد "\Microsoft\Windows\CertificateServicesClient" على خادم بعيد

ScheduleRunner.exe /method:query /taskname:Cleanup /folder:\Microsoft\Windows\CertificateServicesClient /remoteserver:TARGET-PC01

استعلام عن جميع المهام المجدولة داخل مجلد محدد "\Microsoft\Windows\CertificateServicesClient" على خادم بعيد

ScheduleRunner.exe /method:query /folder:\Microsoft\Windows\CertificateServicesClient /remoteserver:TARGET-PC01

استعلام عن جميع المجلدات الفرعية في المهام المجدولة

ScheduleRunner.exe /method:queryfolders

تنفيذ حركة جانبية باستخدام المهمة المجدولة إلى خادم بعيد باستخدام حساب مستخدم محدد

ScheduleRunner.exe /method:move /taskname:Demo /remoteserver:TARGET-PC01 /program:rundll32.exe /argument:c:\temp\payload.dll /user:netero1010

إنشاء مهمة مجدولة تُسمى "Cleanup" باستخدام تقنية إخفاء المهمة المجدولة:

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:daily /starttime:23:30 /program:calc.exe /description:"Some description" /author:netero1010 /technique:hide

حذف مهمة مجدولة تُسمى "Cleanup" استخدمت تقنية إخفاء المهمة المجدولة:

ScheduleRunner.exe /method:delete /taskname:Cleanup /technique:hide

تقنية إخفاء المهمة المجدولة

هذه التقنية استخدمها المهاجم - HAFNIUM واكتشفتها Microsoft مؤخرًا. تهدف إلى جعل المهمة المجدولة غير قابلة للاستعلام بواسطة الأدوات وغير مرئية لمدير المهام.

لاستخدام هذه التقنية، يجب أن تكون لديك صلاحية "NT AUTHORITY/SYSTEM" وسيقوم ScheduleRunner بما يلي نيابة عنك:

  1. حذف القيمة "SD" من المسار "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\[اسم المهمة]"
  2. حذف ملف XML للمهمة المجدولة "C:\Windows\System32\Tasks\[اسم المهمة]"

لإزالة المهمة المجدولة التي تم إنشاؤها باستخدام هذه التقنية، يجب إضافة "/technique:hide" في طريقة الحذف لإزالتها بشكل صحيح.

عيب هذه التقنية:

ستستمر المهمة في العمل حتى إعادة تشغيل النظام التالية حتى إذا تم حذف المهمة عبر السجل. لذلك، من الأفضل عدم استخدام هذه التقنية في الخادم لصالح عمليتك.

عرض توضيحي

HowTo

المكتبات والمراجع المستخدمة:

المكتبةالرابط
TaskSchedulerhttps://github.com/dahall/TaskScheduler
المرجعالرابط
SharpPersisthttps://github.com/mandiant/SharPersist
تقنية إخفاء المهمة المجدولةhttps://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
تنزيل الأداة
الطريقةالوظيفة
[*] /tasknameتحديد اسم المهمة المجدولة
[*] /programتحديد البرنامج الذي تشغله المهمة
[*] /triggerتحديد نوع الجدول. القيم الصالحة تشمل: "minute", "hourly", "daily", "weekly", "onstart", "onlogon", و "onidle"
/modifierتحديد عدد مرات تشغيل المهمة ضمن نوع الجدول. ينطبق فقط على أنواع الجدول مثل "minute" (مثلاً 1-1439 دقيقة)، و"hourly" (مثلاً 1-23 ساعة)، و"weekly" (مثلاً mon,sat,sun)
/starttimeتحديد وقت البدء لنوع الجدول اليومي (مثلاً 23:30)
/argumentتحديد وسيط سطر الأوامر للبرنامج
/folderتحديد المجلد الذي تخزن فيه المهمة المجدولة (الافتراضي: \)
/workingdirتحديد دليل العمل الذي سيتم تنفيذ المهمة المجدولة فيه
/authorتحديد مؤلف المهمة المجدولة
/descriptionتحديد وصف المهمة المجدولة
/remoteserverتحديد اسم المضيف أو عنوان IP لجهاز كمبيوتر بعيد
/userتشغيل المهمة بحساب مستخدم محدد
/techniqueتحديد تقنية التهرب:
- "hide": تقنية يستخدمها برنامج ضار HAFNIUM والتي ستخفي المهمة المجدولة من استعلام المهام

[!] https://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
[!] هذه التقنية لا تدعم التنفيذ عن بعد بسبب صلاحيات السجل عن بعد. تتطلب "NT AUTHORITY\SYSTEM" وستستمر المهمة في العمل حتى إعادة تشغيل النظام حتى بعد حذف المهمة
[*] /tasknameتحديد اسم المهمة المجدولة
/folderتحديد المجلد الذي تخزن فيه المهمة المجدولة (الافتراضي: \)
/remoteserverتحديد اسم المضيف أو عنوان IP لجهاز كمبيوتر بعيد
/techniqueتحديد وقت إنشاء المهمة المجدولة باستخدام تقنية التهرب:
- "hide": حذف مهمة مجدولة استخدمت تقنية "إخفاء المهمة المجدولة"

[!] يتطلب الحذف صلاحية "NT AUTHORITY\SYSTEM" وستستمر المهمة في العمل حتى إعادة تشغيل النظام حتى بعد حذف المهمة
الطريقةالوظيفة
[*] /tasknameتحديد اسم المهمة المجدولة
[*] /programتحديد البرنامج الذي تشغله المهمة
[*] /remoteserverتحديد اسم المضيف أو عنوان IP لجهاز كمبيوتر بعيد
/triggerتحديد نوع الجدول. القيم الصالحة تشمل: "minute", "hourly", "daily", "weekly", "onstart", "onlogon", و "onidle"
/modifierتحديد عدد مرات تشغيل المهمة ضمن نوع الجدول. ينطبق فقط على أنواع الجدول مثل "minute" (مثلاً 1-1439 دقيقة)، و"hourly" (مثلاً 1-23 ساعة)، و"weekly" (مثلاً mon,sat,sun)
/starttimeتحديد وقت البدء لنوع الجدول اليومي (مثلاً 23:30)
/argumentتحديد وسيط سطر الأوامر للبرنامج
/folderتحديد المجلد الذي تخزن فيه المهمة المجدولة (الافتراضي: \)
/workingdirتحديد دليل العمل الذي سيتم تنفيذ المهمة المجدولة فيه
/authorتحديد مؤلف المهمة المجدولة
/descriptionتحديد وصف المهمة المجدولة
/userتشغيل المهمة بحساب مستخدم محدد