前言
在渗透测试工作中,我们偶尔可能会遇到需要激活guest等用户的操作,所以编写了该工具,进行方便使用。
基本命令如下:
net user guest /active:yes
编写工具
这里我们用到netusersetinfo这个api,其定义如下:
NET_API_STATUS NET_API_FUNCTION NetUserSetInfo(
LPCWSTR servername,
LPCWSTR username,
DWORD level,
LPBYTE buf,
LPDWORD parm_err
);
其中的level可以被我们所用,来进行操作,因为其1008定义是设置用户属性。
typedef struct _USER_INFO_1008 {
DWORD usri1008_flags;
} USER_INFO_1008, *PUSER_INFO_1008, *LPUSER_INFO_1008;
其中的UF_LOCKOUT属性可以达到我们的目的。最终代码如下:
// active.cpp : 定义控制台应用程序的入口点。
//
int _tmain(int argc, _TCHAR* argv[])
{
USER_INFO_1008 ui;
ui.usri1008_flags = UF_LOCKOUT;
NET_API_STATUS nStatus = NetUserSetInfo(NULL, argv[1], 1008, (LPBYTE)&ui, NULL);
if (nStatus == NERR_Success) {
printf("[+]%ls active successful...",argv[1]);
}
else
{
printf("[+]%ls active fail,%u", argv[1],nStatus);
}
return 0;
}
效果如下:
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论