记一下,忘了方便看!!!

Windows用户和用户组

常见用户

Administrator

系统管理员,计算机的管理员账户拥有对全系统的控制权,能改变系统设置,可以安装和删除程序,能访问计算机上所有的文件。除此之外,它还拥有控制其他用户的权限。Windows7中至少要有一个计算机管理员账户。在只有一个计算机管理员账户的情况下,该账户不能将自己改成受限制账户。

User

标准用户账户是受到一定限制的账户,在系统中可以创建多个此类账户,也可以改变其账户类型。该账户可以访问已经安装在计算机上的程序,可以设置自己账户的图片、密码等,但无权更改大多数计算机的设置。

System

SYSTEM是系统保留拥有最高权限的超级管理员帐户。默认情况下,我们无法直接在登录对话框上以SYSTEM帐户的身份登录到Windows桌面环境。

用户组

基本用户组

Administrators

  属于该administators本地组内的用户,都具备系统管理员的权限,它们拥有对这台计算机最大的控制权限,可以执行整台计算机的管理任务。内置的系统管理员账号Administrator就是本地组的成员,而且无法将它从该组删除。

  如果这台计算机已加入域,则域的Domain Admins会自动地加入到该计算机的Administrators组内。也就是说,域上的系统管理员在这台计算机上也具备着系统管理员的权限。

Backup OPerators

  在该组内的成员,不论它们是否有权访问这台计算机中的文件夹或文件,都可以通过“开始”-“所有程序”-“附件”-“系统工具”-“备份”的途径,备份与还原这些文件夹与文件。

Guests

  该组是提供没有用户帐户,但是需要访问本地计算机内资源的用户使用,该组的成员无法永久地改变其桌面的工作环境。该组最常见的默认成员为用户帐号Guest。

Network Configuration Operators

  该组内的用户可以在客户端执行一般的网络设置任务,例如更改IP地址,但是不可以安装/删除驱动程序与服务,也不可以执行与网络服务器设置有关的任务,例如DNS服务器、DHCP服务器的设置。

Power Users

  该组内的用户具备比Users组更多的权利,但是比Administrators组拥有的权利更少一些,例如,可以:

  创建、删除、更改本地用户帐户

  创建、删除、管理本地计算机内的共享文件夹与共享打印机

  自定义系统设置,例如更改计算机时间、关闭计算机等

  但是不可以更改Administrators与Backup Operators、无法夺取文件的所有权、无法备份与还原文件、无法安装删除与删除设备驱动程序、无法管理安全与审核日志。

Remote Desktop Users

  该组的成员可以通过远程计算机登录,例如,利用终端服务器从远程计算机登录。

Users

  该组员只拥有一些基本的权利,例如运行应用程序,但是他们不能修改操作系统的设置、不能更改其它用户的数据、不能关闭服务器级的计算机。

  所有添加的本地用户帐户者自动属于该组。如果这台计算机已经加入域,则域的Domain Users会自动地被加入到该计算机的Users组中。

SYSTEM

​ 拥有和Administrators一样、甚至比其还高的权限,但是这个组不允许任何用户的加入,在察看用户组的时候,它也不会被显示出来,它就是SYSTEM组。系统和系统级的服务正常运行所需要的权限都是靠它赋予的。由于该组只有这一个用户SYSTEM,可以理解成linux的root用户

内置特殊组

Everone

  任何一个用户都属于这个组。注意,如果Guest帐号被启用时,则给Everone这个组指派权限时必须小心,因为当一个没有帐户的用户连接计算机时,他被允许自动利用Guest帐户连接,但是因为Guest也是属于Everone组,所以他将具备Everyone所拥有的权限。

Authenticated Users

  任何一个利用有效的用户帐户连接的用户都属于这个组。建议在设置权限时,尽量针对Authenticated Users组进行设置,而不要针对Everone进行设置。

Interactive

  任何在本地登录的用户都属于这个组。

Network

  任何通过网络连接此计算机的用户都属于这个组。

Creator Owner

  文件夹、文件或打印文件等资源的创建者,就是该资源的Creator Owner(创建所有者)。不过,如果创建者是属于Administrators组内的成员,则其Creator Owner为Administrators组。

Anonymous Logon

  任何未利用有效的Windows Server 2003帐户连接的用户,都属于这个组。注意,在windows 2003内,Everone 组内并不包含“Anonymous Logon”组

SID

概念

SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。

作用

用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。

访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。

组成

如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。

一个完整的SID包括:

  • 用户和组的安全描述
  • 48-bit的ID authority
  • 修订版本
  • 可变的验证值Variable sub-authority values

例:S-1-5-21-310440588-250036847-580389505-500

我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。

SID的获得

开始-运行-regedt32-HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Builtin\Aliases\Members,找到本地的域的代码,展开后,得到的就是本地帐号的所有SID列表。

其中很多值都是固定的,比如第一个000001F4(16进制),换算成十进制是500,说明是系统建立的内置管理员帐号administrator,000001F5换算成10进制是501,也就是GUEST帐号了,详细的参照后面的列表。

这一项默认是system可以完全控制,这也就是为什么要获得这个需要一个System的Cmd的Shell的原因了,当然如果权限足够的话你可以把你要添加的帐号添加进去。

或者使用Support Tools的Reg工具:

1
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

还有一种方法可以获得SID和用户名称的对应关系:

  1. Regedt32:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion \ProfileList
  2. 这个时候可以在左侧的窗口看到SID的值,可以在右侧的窗口中ProfileImagePath看到不同的SID关联的用户名,
    比如%SystemDrive%\Documents and Settings\Administrator.momo这个对应的就是本地机器的管理员SID
    %SystemDrive%\Documents and Settings\Administrator.domain这个就是对应域的管理员的帐户

另外微软的ResourceKit里面也提供了工具getsid,sysinternals的工具包里面也有Psgetsid,其实感觉原理都是读取注册表的值罢了,就是省了一些事情。

常用命令

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
net user											# 查看用户
net user Administrator # 查看administrator用户详细信息
net user moonback 1314 /add # 添加用户名moonback密码为1314的用户,需要管理员权限(注意密码复杂度)
net user moonback /delete # 删除moonback用户
net user moonback /active:no # 禁用moonback用户
net user moonback /active:yes # 启用moonback用户
net user moonback /passwordchg:yes # 用户moonback可以改变密码
net user moonback /passwordreq:yes # 用户moonback必须拥有密码
net user moonback /expires:never # 用户moonback永不过期
net localgroup # 查看用户组
net localgroup Administrators # 查看管理员组成员
net localgroup Administrators moonback /del # 将moonback用户从管理员组删除
net localgroup Administrators moonback /add # 将moonback用户添加到管理员组
net localgroup hack /add # 添加hack用户组
whoami /user # 查看SID
query user # 查看在线用户
tasklist # 查看进程
tasklist /svc # 查看进程及对应的pid和服务
tasklist /svc | findstr "TeamService.exe" # 查看远程桌面进程
taskkill /f /im pid # 强制杀死pid号进程
netstat -ano # 显示网络信息
netstat -ano | findstr "3389" # 查看3389端口状态
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f # 开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f # 关闭3389
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
# 查看远程桌面端口
ver # 查看系统版本,5.1=>2003 5.2=>xp 6.1=>win7、2008 6.2=>win8、2012 10=>win10
systeminfo # 查看windows详细信息

Windows认证及密码

Windows防护方案

UAC

Windows Vista 开始引入了 UAC(User Account Control,用户账户控制),最直观的表现是当应用试图安装软件或更改计算机、或者更改了 Windows 设置时将弹出 UAC 提示框。

从 Windows Vista 开始,进程在创建的时候,可以得到一个访问令牌(Access Token),这个令牌有四个完整性级别:

  • System(系统)
  • High(高)
  • Medium(中)
  • Low(低)

System 令牌是对系统完全操作的令牌,对应 SYSTEM 用户拥有的最高权限,可以对 Windows 操作系统做任何事。通常一个服务进程会以 SYSTEM 用户启动,拿到 System 令牌。

High 对应 Administrators 组拥有的最高权限,也就是前面所说的 Administrator 用户和用户自己创建的管理员账户的权限级别。此权限级别用来管理计算机,可以修改其他用户,可以修改系统的设置,这些设置可能会造成安全问题(比如更改系统时间可能导致杀毒软件失效)。

Medium 对应 Users 组拥有的最高权限,也就是前面所说的用户自己创建的标准用户。此权限级别用来日常使用。Medium 权限在 Windows Vista(实际上是其内核 NT6)中相比于之前版本的 Windows 有一些权限的提升,不危及系统安全性的操作在 Medium 下即可以完成,不需要切换到 High 级别。Users 组的用户是没有 High 和 System 令牌的,程序在此用户账户下,无论如何也无法拿到 High 和 System 令牌的,因为这个用户没有这样的令牌;如果要权限提升,需要输入管理员账号密码,而这时拿到的是这个管理员账号的 High 和 System 令牌。

Low 并不对应者一个用户组,这是为了一些需要特殊保护的应用程序准备的。有些应用容易受到攻击,那么使用 Low 令牌启动这些应用程序,可以最大程度减少利用这些应用对系统造成攻击。比如 IE 浏览器的页面进程使用 Low 令牌运行,其对系统很难做出什么改动,甚至也影响不了当前用户的文件;当需要需系统计算机进行交互的时候,会与 IE 的 UI 进程(Medium 令牌)进行通信,请求协助完成。

当 UAC 是开启状态,无论是管理员账户还是标准账户,Windows 资源管理器进程(explorer.exe)都是以 Medium 令牌启动进程。由于子进程通常能够继承父进程的令牌完整性级别,所以这样的设定可以防止用户双击打开的程序得到过高的令牌,从而在用户不知情的情况下危及系统安全。

ASR

Applocker

域和工作组

工作组

所有的计算机都是对等的,没有计算机可以控制另一台计算机。

每台计算机都具有一组用户帐户。若要登录到工作组中的任何计算机,您必须具有该计算机上的帐户。

通常情况下,计算机的数量不超过二十台。工作组不受密码保护。所有的计算机必须在同一本地网络或子网中。

有一台或多台计算机为服务器。网络管理员使用服务器控制域中所有计算机的安全和权限。这使得更容易进行更改,因为更改会自动应用到所有的计算机。域用户在每次访问域时必须提供密码或其他凭据。

如果具有域上的用户帐户,您就可以登录到域中的任何计算机,而无需具有该计算机上的帐户。

由于网络管理员经常要确保计算机之间的一致性,所以,只能对计算机的设置进行有限制地更改。

一个域中可以有几千台计算机。计算机可以位于不同的本地网络中。

域是由域控制器(Domain Controller)和成员计算机组成,域控制器就是安装了活动 目录(Active Directory)的计算机。活动目录提供了存储网络上对象信息并使用网络使用该数据的方法。

内网常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#将Windows Server Core 加入到域
netdom renamecomputer FileServer /newname:ProfileServer #更改计算机名称为ProfileServer
netsh interface ipv4 set address name="本地连接" source=static addr=192.168.10.212 mask= 255.255.255.0 gateway=192.168.10.1
netsh interface ipv4 set dnsserver "本地连接" static 192.168.10.200 primary
netdom join %computername% /domain:http://ESS.COM /userd:administrator /passwordD:a1! /REBoot:5

net user ------> 本机用户列表
net localhroup administrators ------> 本机管理员[通常含有域用户]
net user /domain ------> 查询域用户
net group /domain ------> 查询域里面的工作组
net group "domain admins" /domain ------> 查询域管理员用户组
net localgroup administrators /domain ------> 登录本机的域管理员
net localgroup administrators workgroup\user001 /add ----->域用户添加到本机
net group "Domain controllers" -------> 查看域控制器(如果有多台)
ipconfig /all ------> 查询本机IP段,所在域等
net view ------> 查询同一域内机器列表
net view /domain ------> 查询域列表
net view /domain:domainname -----> 查看workgroup域中计算机列表

参考:

https://www.cnblogs.com/lip-blog/p/7658839.html

https://blog.csdn.net/WPwalter/article/details/89838881

https://zhuanlan.zhihu.com/p/32287774

https://www.cnblogs.com/mq0036/p/3518542.html

评论