在Windows渗透测试过程中,最常用的要数net user 命令了,但是非常多的时候我们都是对Linux命令非常熟悉,对Windows命令非常熟悉或者了解用法的少只有少,为了以后工作方便,这里记录一下Windows系统中的 net user 命令的用法。
一、有问题找Help:
1
2
3
4
5
6
7
8
|
[c:\~]$ net user /?
此命令的语法是:
NET USER
[username [password | *] [options]] [/DOMAIN]
username {password | *} /ADD [options] [/DOMAIN]
username [/DELETE] [/DOMAIN]
username [/TIMES:{times | ALL}]
|
二、详细解释:
参数:
username: 指定用户名
password: 使用密码
命令:
/add 添加用户
/delete 删除用户
/domain 指定在域控中执行
/active:{yes | no} 是否激活,默认是
/comment:”text” 为账户设定描述信息
/expires:{date | never} 设定过期时间
/homedir:{directory} 指定用户的家目录
/passwordchg:{yes | no} 是否允许用户自己更改密码,默认是
/passwordreq:{yes | no} 指定用户是否必须设置密码,默认是
/profilepath[:path] 指定用户配置文件路径
/scriptpath:[:filename] 用户登录脚本位置
/times:{times | all} 指定用户可以登录的时间
/usercomment:”text” 使管理员可以更改此账户的描述信息
/workstations:{computername[,…] | *} 指定主机名能够登录此账户
net help user 输出帮助信息,详细帮助信息如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
Microsoft Windows [版本 ]
版权所有 (c) Microsoft Corporation。保留所有权利。
C:\Users\3mc2.com>net help user
此命令的语法是:
NET USER
[username [password | *] [options]] [/DOMAIN]
username {password | *} /ADD [options] [/DOMAIN]
username [/DELETE] [/DOMAIN]
username [/TIMES:{times | ALL}]
NET USER 将创建并修改计算机上的用户帐户。在不进行切换的情况下使用时,将列出
计算机的用户帐户。用户帐户信息存储在用户帐户数据库中。
用户名 可以添加、删除、修改或查看的用户帐户名称。用户帐户名称
最多可以为 20 个字符。
密码 指定或更改用户帐户密码。
密码的长度必须与 NET ACCOUNTS 命令的 /MINPWLEN 选项中所设置的
最小长度相匹配。可以是 14 个字符。
* 生成密码提示。在密码提示下键入密码时,将不会显示密码。
/DOMAIN 在当前域的域控制器上执行此操作。
/ADD 向用户帐户数据库添加用户帐户。
/DELETE 从用户帐户数据库删除用户帐户。
选项 如下所示:
选项 描述
--------------------------------------------------------------------
/ACTIVE:{YES | NO} 激活或取消激活帐户。如果该帐户处于不活动状态,
其用户将无法访问该服务器。默认设置为“YES”。
/COMMENT:"text" 提供有关用户帐户的描述性注释。将文本用引号
括起来。
/COUNTRYCODE:nnn 使用操作系统国家/地区代码执行指定的语言文件,
以显示用户帮助和错误消息。值 0 表示默认
的国家/地区代码。
/EXPIRES:{date | NEVER} 如果设置了日期,可导致帐户过期。
NEVER 将帐户设置为无时间限制。
截止日期的格式为月/日/年。
月份可以是一个数字,全部字母拼写,
或使用三个字母的缩写。年可以是一个两位数字
或四位数字。使用斜线(/)(不留空格)
将日期的各个部分隔开。
/FULLNAME:"name" 用户的全名(而不是用户名)。将该名称用引
号引起来。
/HOMEDIR:pathname 为用户主目录设置路径。路径必须存在。
/PASSWORDCHG:{YES | NO} 指定用户是否可以更改其密码。默认设置
为“YES”。
/PASSWORDREQ:{YES | NO} 指定用户帐户是否必须拥有密码。
默认设置为“YES”。
/LOGONPASSWORDCHG:{YES|NO} 指定用户是否应在下次登录时更改其密码。
默认设置为“NO”。
/PROFILEPATH[:path] 为用户登录配置文件设置路径。
/SCRIPTPATH:pathname 用户登录脚本的位置。
/TIMES:{times | ALL} 登录时间。时间表示为
日期[-日期][,日期[-日期]],时间[-时间][,时间
[-时间]],增量限制为 1 小时。
日期可以是完整拼写,也可以是缩写。
小时可以是 12- 或 24-小时标记。对于
12-小时标记,请使用 am、pm、a.m. 或
p.m。ALL 表示用户可以始终登录,
空白表示用户不能登录。使用逗号将日期和时
间隔开,使用分号将多个日期和时间隔开。
/USERCOMMENT:"text" 允许管理员添加或更改帐户的用户注释。
/WORKSTATIONS:{computername[,...] | *}
列出多达 8 台用户可以用于登录到网络的计算机。
如果 /WORKSTATIONS 没有列表,或其列表为 *,
则用户可以通过任何计算机登录到网络。
NET HELP 命令 | MORE 显示帮助内容,一次显示一屏。
|
三、实例用法:
1. 显示系统中所有的用户:
1
2
3
4
5
6
7
|
[c:\~]$ net user
\\3mc2 的用户帐户
-------------------------------------------------------------------------------
3mc2.com Administrator Guest
命令成功完成。
|
2. 显示指定用户的详细信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[c:\~]net user 3mc2.com
用户名 3mc2.com
全名
注释
用户的注释
国家/地区代码 000 (系统默认值)
帐户启用 Yes
帐户到期 从不
上次设置密码 2013/3/22 18:29:58
密码到期 2014/3/21 18:29:58
密码可更改 2013/3/22 18:29:58
需要密码 Yes
用户可以更改密码 Yes
允许的工作站 All
登录脚本
用户配置文件
主目录
上次登录 从不
可允许的登录小时数 All
本地组成员 *Administrators *Users
全局组成员 *None
命令成功完成。
|
3. 某次渗透过程中,已经上传了有执行管理员权限的Webshell,需要添加一个管理员账户,来进行远程桌面连接,可以通过以下命令实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[c:\~]$ net user 3mc2.com /del
命令成功完成。
[c:\~]$ net user 3mc2.com qwerfv /add
命令成功完成。
[c:\~]$ net localgroup administrators 3mc2 /add
命令成功完成。
[c:\~]net user 3mc2.com
用户名 3mc2.com
全名
注释
用户的注释
国家/地区代码 000 (系统默认值)
帐户启用 Yes
帐户到期 从不
上次设置密码 2013/3/22 18:29:58
密码到期 2014/3/21 18:29:58
密码可更改 2013/3/22 18:29:58
需要密码 Yes
用户可以更改密码 Yes
允许的工作站 All
登录脚本
用户配置文件
主目录
上次登录 从不
可允许的登录小时数 All
本地组成员 *Administrators *Users
全局组成员 *None
命令成功完成。
|
4. 查看当前域中的用户(有域控中)
1
|
[c:\~]$ net user /domain
|
用Net User命令设置用户密码永不过期
net user /expires:... 命令 只能实现账户的过期时间。
命令 wmic UserAccount where "Name='username'" set PasswordExpires=False
<-- 设置username 用户密码永不过期