Windows RID劫持

背景驻留的艺术在于是否能够成功地利用漏洞。有时候很难维持对特定环境的访问,尤其是在无法在特权用户组中创建或添加用户、复制凭证或哈希、实现<bind/reverse> shell时。本文介绍…

Failure when receiving data from the peer GUEST_ACCOUNT:如果为true,请使用受害者的Guest帐户作为劫持者的帐户; RID: RID将分配给劫持者帐户。此值应由现有帐户拥有,但将被劫持。默认值为500。 设置USERNAME:后,将查询定义的用户帐户并将其视为劫持者帐户。如果是GUEST_ACCOUNT,则忽略此参数。 设置PASSWORD:后,将建立此值与劫持者帐户密码之间的连接。 模块测试 该攻击在Windows XP,Windows Server 2003,Windows 8.1和Windows 10上进行了测试.Windows 8.1 Pro虚拟机是受害者,具有用户帐户用户,管理员帐户的两个内置帐户(Administrador)和访客帐户(Invitado)。

建立meterpreter会话后,运行模块以劫持RID为500的内置管理员帐户,并将RID值分配给Guest帐户。显然,Guest帐户没有密码,因此您需要设置密码。

然后,您可以使用Guest帐户和指定的密码登录设备。

然后您会发现您已成功以Guest身份登录计算机。您还可以执行以下命令: 使用cmd.exe打开控制台,您可以看到它在管理员帐户下运行。 研究人员以Guest帐户登录,可以运行whoami并检查默认路径以查看。 来宾帐户仍然是来宾本地组(本地组)的成员,可以使攻击无声。 可以执行某些特权操作,例如将文件写入受Windows保护的文件夹system32。

工作准则 因为XP使用安全帐户管理器(SAM)来保存本地用户和所谓帐户的安全描述。每个帐户都有一个指定的RID值来标识它。与域控制器不同,Windows工作站和服务器将一些数据存储在  HKLM \ SAM \ SAM \ Domains \ Account \ Users项中,这需要SYSTEM权限。

Names子项包含所有本地用户帐户名,包括内置帐户。这些子项保存为二进制值,用于定义其类型属性。帐户的RID是十六进制0x1f4=500,0x1f5=501.每个帐户的RID与上述子密钥一一对应。

从这些子项中,您可以找到一些有趣的REG_BINARY值,F和V.这些值包含与每个帐户安全描述相关的重要数据,包括帐户RID的副本以及是否启用该标志。 F值为低端,RID值存储在偏移30h,启用/禁用标志位于偏移38h。

Failure when receiving data from the peer