再探MS-SAMR协议

本文探讨了MS-SAMR协议在渗透测试中的应用,包括如何利用该协议添加本地用户、解决密码过期问题、信息收集和修改,以及添加域内机器账户。通过实例和代码示例详细阐述了各种利用方法和技术细节。
摘要由CSDN通过智能技术生成

再探MS-SAMR协议

作者:Loong716@Amulab

0x00 前言

在前一篇《利用MS-SAMR协议修改用户密码》中介绍了利用MS-SAMR修改用户密码并还原的技巧。在本篇文章中,我们继续介绍MS-SAMR协议的一些其它利用。

0x01 利用

1. 添加本地用户

在渗透测试过程中,我们经常会遇到在目标机器添加账户但被杀软拦截掉的情况。现在较为通用的绕过方法是通过调用NetUserAdd()等API来添加用户

我们同样也可以利用MS-SAMR协议中的SamrCreateUser2InDomain()来添加用户(其实调用MS-SAMR是NetUserAdd()等API的底层实现)

在这里插入图片描述

需要注意的有两点,一点是Windows操作系统(域控除外)中的“域”分为内置域(Builtin Domain)账户域(Account Domain)

  • 内置域(Builtin Domain):包含在安装操作系统时建立的默认本地组,例如管理员组和用户组
  • 账户域(Account Domain):包含用户、组和本地组帐户。管理员帐户在此域中。在工作站或成员服务器的帐户域中定义的帐户仅限于访问位于该帐户所在物理计算机上的资源

因此我们需要在账户域中添加普通用户,然后在内置域中找到Administrators组,再将该用户添加到内置域中的Administrators中

第二个需要注意的是,利用SamrCreateUser2InDomain()添加的账户默认是禁用状态,因此我们需要调用SamrSetInformationUser()在用户的userAccountControl中清除禁用标志位:

// Clear the UF_ACCOUNTDISABLE to enable account
userAllInfo.UserAccountControl &= 0xFFFFFFFE;
userAllInfo.UserAccountControl |= USER_NORMAL_ACCOUNT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值