
تنفيذ الكود والاستمرارية في خدمة الفاكس عبر حساب NETWORK SERVICE
امتداد توجيه الفاكس هو ملف DLL يضيف وظيفة توجيه إلى خدمة الفاكس. يمكن أن يتواجد أكثر من امتداد توجيه فاكس على نفس الخادم. عندما يستلم خادم الفاكس إرسالًا، فإنه يوجّه المستند المستلَم عبر كل امتدادات توجيه الفاكس حسب الأولوية. يقوم المستخدم بتعيين أولوية التوجيه باستخدام تطبيق إدارة خدمة الفاكس، وهو مكوّن إضافي من نوع Microsoft Management Console (MMC). تعمل خدمة FAX يدويًا عندما يطلب أحد التطبيقات الاتصال بخدمة FAX (مثل عند تحميل fxsadmin في MMC). على أجهزة سطح المكتب، تكون الخدمة موجودة ولكنها ستنتهي مهلتها عند محاولة تعيين الامتدادات لأن ذلك يتطلب تكوينًا ودورًا. مزيد من المعلومات على MSDN. حقوق المسؤول مطلوبة للتفاعل مع الخدمة افتراضيًا؛ إذا كان المستخدم يملك دور FAX Config لخدمة FAX وكانت صلاحياته مرتفعة، فيمكنه توسيع خدمة FAX. يتطلب هذا الاستغلال دور خادم FAX وهو غير متوفر على محطات العمل افتراضيًا. يتم تثبيته على الخوادم التي تُفعّل خدمات الفاكس والطباعة (Fax & Print Services).
يمكن للمستخدمين في مجموعة FAX الذين يملكون دور FAX Config أيضًا إضافة/إزالة الامتدادات التي قد تكون مكوّنة مع برامج فاكس تابعة لجهات خارجية. يُمنح دور FAX Config تلقائيًا للمستخدمين في مجموعة المسؤول المحلي أو مسؤول المجال؛ ويجب تعريف المستخدمين الإضافيين بشكل صريح في إعدادات مستخدم خدمة FAX إذا كان سيُستخدم كجزء من مسار تصعيد الامتيازات في Active Directory.
للمزيد: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/fax/-mfax-fax-routing-extension
يمكننا أيضًا الاستمرارية داخل خدمة FAX - سيتم استدعاء ملف DLL الخاص بنا في كل مرة تبدأ فيها الخدمة، وهي لا تُستدعى تلقائيًا عند إعادة التشغيل، لذلك لن يوفر ذلك استمرارية إلا على الخوادم التي تستخدم ميزات FAX بنشاط. كما يوفّر للمهاجم مسارًا بديلًا للوصول إلى SYSTEM من صلاحيات Administrator، حيث يمكنك التصعيد من Network Service إلى SYSTEM.
تعمل الأداة على توسيع خدمة FAX لتنفيذ أي أوامر في c:\temp\run.bat مرة واحدة وتنظيف FXSSVC. تستخدم DLL امتداد الفاكس مع عمليات استدعاء (callbacks) مناسبة لبدء/إيقاف خدمة FAX بشكل موثوق، ويقوم الامتداد بتشغيل الأوامر من ملف bat. يمكنك منع إزالة ملف DLL لأغراض "الاستمرارية"، مما سيشغّل ملف الأوامر الدفعي في أي وقت تُستخدم فيه خدمة FAX، مثل عند فتح أو إرسال أو استقبال الفاكس.
قم بتجميع هذا المشروع باستخدام Visual Studio 22، وسيتم إنتاج ملفات ثنائية ثابتة لكل من x86 و x64 يجب أن تكون في نفس الدليل.
C:\Windows\system32>whoami
nt authority\network service
C:\Windows\system32>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token Disabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeAuditPrivilege Generate security audits Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
هذه الملفات متاحة بموجب رخصة BSD ذات الثلاث بنود.