<返回更多

令牌窃取也可以提权?steal_token提权

2020-07-23    
加入收藏

1.欺骗 "NT AUTHORITYSYSTEM"账户通过NTLM认证到我们控制的TCP终端。

当前我获得了一个普通域用户权限的shell,利用令牌窃取进行提权,提权到管理员权限。哈哈,提 权好简单。胡扯!

看了很多博客,其中几篇文章就这样带有误导性地写,这样不好吧。

访问令牌的定义

描述进程或者线程安全上下文的一个对象。不同的用户登录计算机后, 都会生成一个Access Token,这个Token在用户创建进程或者线程时会被使用,不断的拷贝,这也就解释了A用户创建一个进 程而该进程没有B用户的权限。一般用户双击运行一个进程都会拷贝explorer.exe的Access Token。访问令牌分为:

· 授权令牌(Delegation token):交互式会话登陆(例:本地用户登陆、用户桌面等)

· 模拟令牌(Impersonation token):非交互式登陆(例:net use 访问共享文件)

两种token只有在系统重启后才会清除;授权令牌在用户注销后,该令牌会变为模拟令牌依旧有 效。

同样也可以这样理解,当前系统中的某个进程或线程能访问到什么样的系统资源,完全取决于你当前 进程是拿着谁的令牌。

默认情况下,我们列举令牌,只能列举出当前用户和比当前用户权限更低用户的令牌。令牌的数量取决 于当前shell的访问级别,如果当前的shell是administrator或者是system,我们就可以看到系统中的所 有的令牌。

我们通过exp提权或者永恒之蓝等得到的权限即为System,假如我们利用mimikatz和hashdump不能获得administrator用户的密码,那我们只能通过令牌窃取进行降权,获得administrator用户的shell, 从而以administrator用户的身份启动某些服务(因为某些服务只能通过administrator用户启动)。

可用于令牌窃取的工具有很多,例如cs、msf、empire等等,或者我们也可以直接使用现成的

incognito.exe 。

令牌窃取也可以提权?steal_token提权

 

当前shell用户只是一个普通的域用户,权限低,也就意味着shell的访问级别低,所以令牌只有当前用 户本身。

令牌窃取也可以提权?steal_token提权

 

这次就可以看到我们手中的令牌多了,但是还是没有出现域管的令牌,为什么呢?

因为在做本次实验之前,我将机器进行了重启,并且到现在并没有登录域管账号。那接下来,我们再登 录一下域管账号,再次查看令牌个数:

令牌窃取也可以提权?steal_token提权

 

可以看到在登录域管账号之后,我们才会有相应的令牌。

利用命令impersonate_token 'HACKERGUAdministrator' ,使用域管令牌,如下:

这里需要注意的是,使用令牌时,最好使用引号将其括起,因为某些令牌的名字中间含有空格, 可能会报错。另外在输入主机名用户名时,需要输入两个反斜杠( \ )

令牌窃取也可以提权?steal_token提权

 

如果我们不需要该权限了,可使用命令rev2self ,返回原本的权限。

烂土豆提权

首先要了解的是,烂土豆(Rotten Potato)提权是一个本地提权,是针对本地用户的,不能用于域用户。漏 洞 了 解 _MS16-075:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2016/ms 16-075

接下来换一个System的shell,再次尝试:

令牌窃取也可以提权?steal_token提权

 

可以看到只有当前用户的令牌。

然后我们运行如下命令,执行烂土豆:

令牌窃取也可以提权?steal_token提权

 

execute -cH -f potato.exe

由此,我们得到了SYSTEM权限的shell。

附 上 RottonPatato 脚 本 :https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16- 075/potato.exe https://github.com/breenmachine/RottenPotatoNG/blob/master/RottenPotatoEXE/x64/Release/ MSFRottenPotato.exe

https://github.com/foxglovesec/RottenPotato

有好几个版本,自己随意选择。

RottenPotato(烂土豆)提权的原理可以简述如下:

当我们拿到一个普通本地用户的shell时,列举当前的令牌:

2. 对这个认证过程使用中间人攻击(NTLM重放),为"NT AUTHORITYSYSTEM"账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。

3. 模仿这个令牌。只有具有"模仿安全令牌权限"的账户才能去模仿别人的令牌。一般大多数的服务型账 户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。

所以,一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的。测试过程中,我发 现使用已经建好的账户(就是上面说的用户级账户)去反弹meterpreter然后再去执行EXP的时候会失 败,但使用菜刀(IIS服务器权限)反弹meterpreter就会成功。

一开始我一直始用系统创建的普通用户执行exp,所以利用失败,后来我在服务器上的web服务反 弹了shell,才得以执行成功。

烂土豆比热土豆的优点是:

1.100%可靠

2.(当时)全版本通杀。

3.立即生效,不用像hot potato那样有时候需要等Windows更新才能使用。

总之,我对这个的理解是通过中间人攻击,将COM(NT\SYSTEM权限)在第二部挑战应答过程中认证的区块改成自己的区块获取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>