如何使用Tokenvator和Windows Tokens实现提权

今天给大家介绍的是一款名叫Tokenvator的工具,该工具采用.NET开发,可用于在Windows系统中提权。

工具下载

下载地址:https://github.com/0xbadjuju/Tokenvator

基本使用

Tokenvator可以直接在交互式终端中运行,具体的执行命令能够以命令行参数的形式提供。在交互模式下,可以用tab键补全命令,或双击tab键获取帮助信息。

下面大部分截图显示的是在交互模式下的命令运行情况:

Steal_Token

从最基本的功能来说,Tokenvator可以用来访问并修改Windows认证令牌,为了获取到特定进程的令牌,我们需要结合目标进程的PID来运行Steal_Token命令。

或者我们也可以添加额外的命令选项来使用新的访问令牌。

GetSystem

一般来说,我们经常需要窃取的就是NT AUTHORITY\SYSTEM账号,而GetSystem命令可以帮助我们自动搜索并访问SYSTEM令牌。它的使用语句跟Steal_Token的类似:

在某些情况下,如果没有提升到SYSTEM权限的话,我们可能无法直接访问到特定进程的令牌,比如说NT SERVICE账号(本地SQL服务进程)。

GetTrustedInstaller

还有一种常见情况,就是SYSTEM32目录或部分注册表内容属于TRUSTEDINSTALLER组,为了修改这些位置的数据,我们要么拿到数据的拥有权,要么拿到TRUSTEDINSTALLER组成员的访问令牌。跟GetSystem类似,GetTrustedInstaller也是一个Steal_Token的封装其,它可以开启TrustedInstaller服务并获取到相应的令牌。

List_Privileges和Set_Privilege

有的时候,我们的进程不一定拥有所要完成任务必备的权限。比如说,为了访问一个当前用户无法访问的进程,我们就需要SeDebugPrivilege 的帮助了。下面显示的是在一个高度完整的进程中对令牌的切分(UAC Elevated – TokenElevationTypeFull)。

接下来,我们尝试以管理员身份来运行notepad.exe,并查看其访问令牌:

测试完notepad.exe的令牌之后,我们可以尝试增加SeLoadDriverPrivilege来看看会发生什么。注意:权限名称是大小写敏感的。

很明显,notepad.exe可以加载一个驱动器了,而且能做的还有更多,我们之后还会增加权限移除的功能,敬请期待。

UAC绕过

实现UAC绕过的方法有很多种,但最有趣的一种就是修改令牌了。FuzzySecurity在利用Windows令牌实现UAC绕过方面做过很多研究,感兴趣的同学可以查看其GitHub代码库【传送门】,Tokenvator也包含了FuzzySecurity所实现的技术。在下面的测试中,我们位提权的令牌可以用来访问当前用户拥有的特权进程,并生成特权Shell。

这种方法以后很可能也不会被修复,因为这更像是一种功能。

查找用户进程

首先,我们需要查看系统注册的会话信息:

下面是List_Processes命令所实现的东西,即获取用户进程的概览:

List_Processes利用的是主机的原生API,在列举进程和用户方面速度非常快。由于在某些情况下如果没有实现提权的话,某些功能还是无法正常运行的,因此List_Processes_WMI便应运而生。很明显,它的功能是通过WMI实现的,所以它的速度肯定没有List_Processes快,但是它可以在非提权场景下正常运行。

我们还可以直接列举出特定用户场景下所有运行的进程信息:

跟List_Processes机制类似,它也能够在非特权场景下通过WMI完成相同的工作:

总结

这款工具是我跟NetSPI团队共同开发的,希望能给大家提供帮助,如果大家在使用过程中发现了问题的话,可以在GitHub上留言。

* 参考来源:netspi,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pythonista

saltstack高效运维

saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统。

2305
来自专栏SDNLAB

ONOS动态扩容面临的难点与解决方案

一、ONOS的一致性保障 ONOS主要包括两类一致性机制,最终一致性和强一致性,最终一致性采用乐观异步复制和基于Gossip的熵减方式来实现,乐观异步复制可以高...

3418
来自专栏大闲人柴毛毛

Java基础笔记——学习Java前的准备

        接下来的一个月我会和大家分享我学JavaSE时候的笔记,分享是最好的老师,希望我的笔记能给大家一些帮助。 我会每天发一篇文章,这些都是我学Jav...

3599
来自专栏北京马哥教育

windows环境下使用virtualenv对python进行多版本隔离

最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为《机器学习实战》那本书的缘故,用的是python2...

1552
来自专栏腾讯Bugly的专栏

dex分包变形记

一、背景 就在项目灰度测试前不久,爆出了在 Android 3.0以下手机上安装时出现 INSTALL _ FAILED_DEXOPT,导致安装失败。这一问题意...

40111
来自专栏大数据和云计算技术

HBase运维实践-聊聊RIT的那点事

相信长时间运维HBase集群的童鞋肯定都会对RIT(Region-In-Transition,很多参考资料误解为Region-In-Transaction,需要...

2394
来自专栏Coding01

跟着《架构探险》学轻量级微服务架构 (二)

上一篇主要简单搭建了 Spring Boot 框架,写了一个简单的路由/hello,Spring Boot 的其它功能根据后续的学习,再不断完善,接下来我们开始...

592
来自专栏后端技术探索

PHP并发IO编程之路

并发IO问题一直是后端编程中的技术挑战,从最早的同步阻塞Fork进程,到多进程/多线程,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对底层方面...

2421
来自专栏应兆康的专栏

Python Web - Flask笔记1

scheme://host:port/path/?query-string=xxx#anchor

1433
来自专栏后端技术探索

PHP并发IO编程之路

并发IO问题一直是后端编程中的技术挑战,从最早的同步阻塞Fork进程,到多进程/多线程,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对底层方面...

5663

扫码关注云+社区

领取腾讯云代金券