使用PowerShell增加本地帐户特权



特权升级是攻击者使用当前帐户权限来获得对系统的附加访问权限,通常是更高级别的访问权限。 尽管特权升级可能是由于零日漏洞的利用,一流黑客进行有针对性的攻击或伪装成适当的恶意软件而造成的,但大多数情况下这是由于计算机或帐户的配置不正确造成的。 进一步发展攻击,攻击者会利用许多单独的漏洞,这些漏洞加在一起可能导致灾难性的数据泄漏。

用户为什么不应该具有本地管理员权限?


如果您是安全专家,则用户似乎不应该具有本地管理员权限,这似乎很明显,因为:

  • 使他们的帐户更容易受到各种攻击。
  • 使这些攻击更加严重。

不幸的是,对于许多组织而言,这仍然是一个非常有争议的问题,有时还会伴随着激烈的讨论(例如, 我的经理说所有用户都必须是本地管理员 )。 在不进行详细讨论的情况下,我们认为攻击者获得了正在研究的系统上本地管理员的权利:是通过漏洞利用,还是因为机器没有得到适当的保护。

步骤1.通过PowerShell反向DNS名称解析


默认情况下,PowerShell安装在许多本地工作站和大多数Windows服务器上。 尽管并非毫不夸张地说,它被认为是非常有用的自动化和控制工具,但它同样能够转变成几乎看不见的无文件恶意软件 (一种不会留下攻击痕迹的黑客程序)。

在我们的案例中,攻击者开始使用PowerShell脚本执行网络侦察,依次对网络的IP地址空间进行排序,尝试确定主机是否允许该IP,如果允许,则确定该主机的网络名称是什么。
有多种方法可以完成此任务,但是使用GetADComputer cmdlet是一个可靠的选择,因为它返回有关每个节点的非常丰富的数据集:

import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq '10.10.10.10'} 

如果大型网络中的工作速度导致问题,则可以使用DNS系统回调:

 [System.Net.Dns]::GetHostEntry('10.10.10.10').HostName 




这种列出网络主机的方法非常流行,因为大多数网络不使用零置信度安全模型,也不跟踪内部DNS请求是否存在可疑活动高峰。

步骤2:目标选择


此步骤的最终结果是获得可用于继续攻击的服务器和工作站主机名列表。



从名称来看,服务器“ HUB-FILER”似乎是一个值得追求的目标,因为 随着时间的流逝,文件服务器往往会积累大量的网络文件夹,并且太多人过多地访问它们。

使用Windows资源管理器查看可让我们确定是否存在打开的共享文件夹,但是我们当前的帐户无法访问它(可能我们只有列表权限)。

步骤3:了解ACL


现在,在我们的HUB-FILER主机和目标共享文件夹上,我们可以运行PowerShell脚本来获取ACL。 我们可以在本地计算机上执行此操作,因为我们已经拥有本地管理员权限:

 (get-acl \\hub-filer\share).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto 


执行结果:



从中我们可以看到“域用户”组只能访问列表,但“帮助台”组也有权更改。

步骤4:识别帐户


通过运行Get-ADGroupMember ,我们可以获得该组的所有成员:

 Get-ADGroupMember -identity Helpdesk 




在此列表中,我们看到一个已经识别并且已经访问过的计算机帐户:



步骤5:使用PSExec通过计算机帐户工作


Microsoft Sysinternals的PsExec允许您在SYSTEM @ HUB-SHAREPOINT系统帐户的上下文中执行命令,据我们所知,该帐户是Helpdesk工作队的成员。 也就是说,执行以下操作就足够了:

 PsExec.exe -s -i cmd.exe 

好了,因为您在计算机帐户HUB-SHAREPOINT的上下文中工作,所以您具有对目标文件夹\\ HUB-FILER \ share \ HR的完全访问权限。 通过这种访问,可以将数据复制到便携式存储设备,或者通过网络进行检索和传输。

第6步:检测到这种攻击


可以检测到此用于设置帐户特权(计算机帐户访问共享网络文件夹而不是用户帐户或服务帐户)的特定漏洞。 但是,如果没有正确的工具,这将非常困难。

为了检测并防止此类攻击,我们可以使用DatAdvantage来识别其中包含计算机帐户的组,然后关闭对它们的访问。 DatAlert可以走得更远,并且允许您创建专门针对这种情况的通知。

下面的屏幕快照显示了一个用户通知,该通知将在每次计算机帐户访问受监视服务器上的数据时触发。



使用PowerShell的后续步骤


想了解更多? 使用“博客”解锁代码可免费访问完整的PowerShell视频课程和Active Directory基础知识

Source: https://habr.com/ru/post/zh-CN454160/


All Articles