用户
搜索

[内网攻防] 域控权限维持(下)

  • TA的每日心情
    开心
    2021-6-26 11:05
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]经常看看II

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    18

    主题

    47

    帖子

    914

    魔法币
    收听
    0
    粉丝
    4
    注册时间
    2019-4-17

    i春秋签约作者

    发表于 2021-3-14 19:10:06 78166

    域控权限维持(下)

    ​           在我们拿到域控账号密码后,为了防止密码被改,需要使用隐蔽后门等手段来维持我们取得的域控权限。将二进制文件放在Windows启动项目录中是最简单的方式,但是隐蔽性差,较主流的域控权限维持方法通常有三种,本篇讲第三种组策略(Group Policy)。

    Group Policy

    ​           组策略(Group Policy)是微软Windows NT家族操作系统的一个特性,它可以控制用户帐户和计算机帐户的工作环境。组策略提供了操作系统、应用程序和活动目录中用户设置的集中化管理和配置。组策略的其中一个版本名为本地组策略(缩写“LGPO”或“LocalGPO”),这可以在独立且非的计算机上管理组策略对象。

    ​           域组策略和执行脚本存放在域控制器的SYSVOL目录下所有域用户均可访问它们,但只有高权限用户有修改权限。在登录域时,域账号会查询并执行属于自己的域组策略及执行脚本。在域组策略中,我们可以添加计划任务等让域内主机执行目标文件。

    ​           按照以上的思路,如果低权限用户具备SYSVOL目录的修改权限,就可以进行域控制器的权限维持。
    ​           接下来,我们对组策略后门进行测试,具体步骤如下。

    1.域共享文件

    ​           查看域控制器共享文件,此时执行如下命令:

    whoami
    net view \\dc.pentestlab.com
    dir \\dc.pentestlab.com\SYSVOL

    ​           查看域控制器共享文件执行效果如下图所示。

    1.png

    2.修改权限

    ​           在域控制器的SYSVOL目录下添加zhangsan用户的控制权限,添加控制权限如下图所示。

    2.png

    3.验证成功

    ​           向域控制器的SYSVOL目录内写人文件并进行文件目录和类型的查看,此时执行的命令如下:

    echo "demo" > \\dc.pentestlab.com\SYSVOL\alice.txt
    dir \\dc.pentestlab.com\SYSVOL\
    type \\dc.pentestlab.com\SYSVOL\alice.txt

    ​           写入并查看文件目录和类型执行效果如下图所示。

    ​           到这一步,已证明普通用户zhangsan拥有了对域控制器SYSVOL目录读写的权限。之后,我们可以修改组策略,实现隐蔽后门。

    3.png

    4.组合拳MS15-011

    ​           对于已加入域的基于 Windows 的计算机上的组策略服务会自动尝试从以 \<域>\SYSVOL  开头的通用命名约定下载更新后的安全策略。它会运行被配置为在适用的组策略对象 (GPO) 中运行的所有脚本。这些脚本通常存储在以  \<域>\NETLOGON 开头的 UNC 路径中。 如果应用程序发出的 I/O 请求中包含通用命名约定  (UNC) 路径,则这些请求会传递到多 UNC 提供程序 (MUP)。MUP 会选择一个 UNC 提供程序来处理此 I/O  请求,并将此请求转发给选定的 UNC 提供程序。选定的 UNC 提供程序会处理此请求,并将结果传递回发出此请求的应用程序。

    ​           漏洞作用原理:如果恶意方可以欺骗、篡改或重定向 UNC 提供程序与目标服务器之间的通信,则恶意方可能可以让组策略执行具有恶意企图的程序或脚本,而不是系统管理员选择的脚本,亦或者可以同时执行这两种脚本。

    ​           具体地,利用MS15-011漏洞进行权限维持。Windows域成员机器每间隔 90min+random()*30min 就会向域控制器请求更新组策略,并以GPT.ini文件中的版本信息来判断是否正在使用最新的域策略。

    ​           如果GPT.ini的版本信息较低,城成员机器会请求GptTmpl.inf文件(该文件位于“组策略”文件夹下的 SYSVOL文件夹中:/SYSVOL/domain/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/Microsoft/Windows NT/SecEdit/)的策略进行更新。为了利用该漏洞,我们需要修改Version的值,修改Version的值如下图所示。

    4.png

    ​           我们将利用默认域组策略GUID:{31B2F340-016D-11D2-945F-00C04FB984F9}进行权限维持。域策略中的文件GptTmplinf(目录为 C:WindowsSYSVOLdomainPolicies(31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf)用于存储组策略的配置,如密码复杂度是否启用、密码最长期限、最短密码长度等,具体如何操作GptTmpl.inf如下图所示。

    ​           其中有一项是注册表,我们可以把注册表项已有的配置信息替换为指定的恶意配置信息,等域成员机器更新组策略时,组策略文件就会被下载到域成员的机器中执行并修改注册表的内容,执行指定的恶意程序。
    5.png

    ​           我们需要修改[Registry Values]项为:

    MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe\Debugger=1,C:\Windows\System32\calc.exe

    ​           修改内容情景如下图所示。

    6.png

    ​           这段攻击代码用到了映像劫持(Image File Execution Options)技术。简单来说,就是打开A程序的同时会执行B程序。当域成员机器更新完组策略后,会运行cmd.exe和calc.exe程序。你可以根据需求对cmd.exe和calc.exe程序进行修改。

    ​           未更新组策略时的注册表项如下图所示。

    7.png

    ​           已更新组策略后的注册表项如下图所示。

    8.png

    组策略大法好
    使用道具 举报 回复
    组策略在部分意义上是控制用户可以或不能在计算机上做什么,把组策略控制可以为所欲为。
    使用道具 举报 回复
    大佬厉害   孩子这就去复现~
    使用道具 举报 回复
    发表于 2021-3-15 17:40:16
    学到了  感谢分享
    使用道具 举报 回复
    发表于 2021-3-15 20:41:41
    权限控制技巧还有不少,再补充补充吧
    使用道具 举报 回复
    发表于 2021-3-17 16:38:43
    精通师傅无敌
    使用道具 举报 回复
    发表于 2021-3-30 16:50:07
    qiangqiangqiang
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册