前言
这个学习正好有windows域的课,最近正好要学内网,先搭建域学学基础吧就
基本概念
工作组
分辨:在命令提示符界面执行systeminfo,回显结果的“域”信息为WORKGROUP
简单来说,就是将不同的计算机按照功能或部门分别置于不同的组,适用于网络中计算机不多、资产规模较小、对安全管理控制要求不严格的情况,这是一种松散的资源管理模式,任何人都可以在局域网中创建新的工作任务而无需管理员同意,换言之,处于同一工作组中的主机彼此间地位平等,不存在额外关联或管理关系,对于此类情况,在内网渗透时需要逐个渗透与控制
域
分辨:在命令提示符界面执行systeminfo,回显结果的“域”信息为类似域名格式,由“.”连接的字符串
当组织中网络规模越来越大时,需要统一的管理和集中的身份验证,并能为用户提供更加方便地的网络资源搜索和使用方式时,就需要放弃工作组而使用域
域是一种比工作组更高级的的计算机资源管理模式,在域环境中,所有用户账户、用户组、计算机、打印机和其他安全主体都在一个或多个域控制器的中央数据库中注册;当域用户想访问域中的资源时,必须通过域控制器集中进行身份验证,通过身份验证的域用户在域中的身份决定了域用户对域中资源的访问权限
在域环境中,域管理员用户在域中具有最高访问权限和最高管理权限,在渗透过程中,获取域管理员相关权限往往可以控制整个域控
一般域分为(懒得写概念了)
- 单域
- 父域和子域
- 域树
- 域林
值得注意的是,信任关系是会传递的
A->B; B->C; 那么A->C
域控制器
域控制器(Domain Controller,DC)简称域控,是域环境核心的服务器计算机,用于在域中响应安全身份认证请求,负责允许或拒绝发出请求的主机访问域内资源,以及对用户进行身份验证、存储用户账户信息并执行域的安全策略等,域控包含一个活动目录数据库,其中存储着整个域的账户、密码、计算机等信息,而前面提到的身份验证便主要有以下步骤:
- 该计算机是否属于本域
- 登录账号是否存在
- 密码是否正确
一个域环境可以拥有一台或多台域控制器,每台域控都各自存储了一份所在域的活动目录AD的可写副本,对AD的修改都可以从源域控同步复制到域、域树或域林的其他控制器上,这样即使其中一台域控瘫痪,另一台域控也可以继续工作,保证域环境正常运行
一般情况下,DC也会被作为DNS服务器使用
域环境搭建
这里内存有限,就准备了两个机器
- winserver2016
- windows10
配置域控
忘记截图了(,纯文字吧xd
首先去配置一个静态ip,默认DHCP容易变化
IP: 192.168.91.100子网掩码: 255.255.255.0默认网关: 192.168.91.2win+r打开sysdm.cpl,改一下主机名,我这里改成DC1,顺便去给administrator加个密码,要不然后面域安装会有问题
在服务器管理器中,选择添加角色和功能,一直下一步到服务器角色步骤时勾选AD域服务,然后一直下一步到确认栏目,勾选“如果需要,自动重启目标服务器”
安装后右上角会冒感叹号,将此服务器提升为域控制器点一下,根域名设置成自己喜欢的zsm.com就行了,一直下一步至其他选项,主机会自动生成NetBIOS域名即ZSM,下一步至先决条件检查(这里就会检查administrator是否设置密码)
而且有的时候设置密码了还会有问题,重启一两次就好了
安装好之后会自动重启,然后登录上去就看见域服务安装好了,顺手关一下防火墙,要不然怕成员加不进来
添加域成员主机
先将该主机DNS服务器指向域控
IP: 192.168.91.101子网掩码: 255.255.255.0默认网关: 192.168.91.2
DNS: 192.168.91.100然后配置主机名和隶属的域,找不到在哪改的可以百度一下(),然后输入域管理员账号密码确认更改
这样就加入进去了,可以到DC那里看一眼
域内账户
本地账户
本地账户(Local Account)存储在本地的服务器上,这些账户可以在本地服务器上分配权限但仅限该服务器。默认的本地账户是内置账户(如Administrator、Guest等),在安装windows时自动创建且无法删除。默认的本地账户不提供对网络资源的访问,根据分配给该账户的权限来管理对本地服务器资源的访问本地账户均位于“用户”文件夹
- administrator
windows安装过程中创建的第一个账户就是administrator账户,SID为S-1-5-21-XX-500,是默认的本地管理员账户,在本地管理员组administrators中,该账户可以完全控制服务器,并根据需要向用户分配用户权限和访问控制权限,每台计算机都有该账户,不能删除或锁定默认的Administrator账户,但可以重命名或禁用他(即使重命名administrator也不会改变其SID)
高版本的windows默认禁用了administrator,创建了作为administrators成员的另一个本地账户,可以运行具有提升权限的应用程序而不是使用”运行为管理员“选项
- guest
该账户同样会在windows安装过程创建,SID为S-1-5-21-XX-501,但该账户默认禁用。guest账户允许在计算机上没有账户的临时用户登陆本地服务器或客户端主机,默认情况下该账户密码为空
- defaultaccount
被称为默认系统管理账户DSMA,该账户是在windows 10版本1607和windows server 2016中引入的内置账户,DSMA是一个用户中立的账户,可以用于运行多用户感知或与用户无关的进程。DSMA在桌面SKU和windows server 2016中默认被禁用
DSMA有个著名的RID为503,所以他的SID格式:S-1-5-21-XX-503,DSMA是System Managed Account Group组的成员,该组拥有的SID为SID-1-5-32-581
- WDAGUtilityAccount
该账户是windows系统为windows defender应用程序防护方案管理和使用的用户账户,是在win10 1709和win server 2019中引入的内置账户。除非在设备上启用了应用程序防护,否则默认保持禁用,它同样有个著名RID:504,所以SID格式:S-1-5-21-XX-504
活动目录账户
即活动目录中的账户,存储在活动目录数据库中,分为用户账户、服务账户、机器账户,三者关系如下

区分服务账户就是看其是否注册了SPN,区分机器账户就是看objectcategory属性是否为computer
用户账户
就是域内用户的账户,存储在活动目录数据库(Ntds.dit文件)中。域内所有用户账户均在域全局组Domain Users内
- 域控上的本地账户
服务器升级成DC后,本地普通账户将变成域普通账户,在活动目录中有对应的账户,存储在Users容器中,而本地管理员组administrators中的用户将升级为域管理员组Domain Admins内的用户,默认本地管理员administrator将升级为域默认管理员administrator,并需要设置符合强度的密码,此后这些账户均具有域范围的访问权限,访问时加上域前缀即可
- Administrator账户
是AD中administrators、Domain Admins、Enterprise Admins、组策略创建者、Schema Admin Groups的默认成员,SID为S-1-5-[domain]-500
- Guest账户
该账户不需要密码,默认禁用,SID为S-1-5-[domain]-501
- krbtgt账户
是一个本地默认账户,为密钥发行中心(KDC)服务账户,RID为502,SID为S-1-5-[domain]-502
在我前面kerberos的介绍文章中提到过:windows协议之kerberos,该账户是krbtgt安全主体的实体,在kerberos身份认证的AS-REP步骤中,KDC返回的TGT是由krbtgt的用户hash加密的,而krbtgt账户的hash只有KDC知道,该账户无法删除或改名
服务账户
是显式创建的用户账户,旨在为在windows服务器操作系统上运行的服务提供安全上下文
默认情况下,域中每个机器有SPN,并且其服务账户就是其机器账户
用户账户可以是服务账户,机器账户也可以是服务账户,他们是否属于服务账户取决于该账户是否在域内注册了SPN
机器账户
不能用于登录,可以代表一个物理实体比如域内机器
在域内,机器账户域与域用户一样也是域内成员,在域内的用户名是机器账户名+,这个值可以在机器账户的samAccountName属性中看到,它在本地的用户名是System
机器加入域后,会将机器账户的密码同步到域控并保存在域控的Ntds.dit中,由于机器账户的密码是系统随机生成的,强度是120个字符,且会定时更新,因此即使获得了机器账户密码hash,也几乎无法还原出机器账户的明文口令
域内权限划分
组
组(Group)是用户账号的集合。分为通讯组和安全组
通讯组就是一个通信群组,向一个通讯组发消息可以让组内所有用户都接收消息
安全组是用户权限的集合,通过向组分配权限,就可以不必向每个用户分别分配权限。例如,管理员在日常工作中,不必为单个用户账号设置独特的访问权限,只需要将用户账放到相应的安全组中。管理员通过配置安全组访问权限,就可以为所有加入安全组的用户账号配置同样的权限。使用安全组而不是单个的用户账号,可以大大简化网络的维护和管理工作
安全组可以分为域本地组、全局组、通用组
域本地组
域本地组成员来自林中任何域中的用户账户、全局组和通用组以及本域中的域本地组,在本域范围内可用(来自全林,作用于本域;)
重要的域本地组:
-
管理员组( Administrators)的成员可以不受限制地存取计算机/域的资源。它不仅是最具权力的一个组,也是在活动目录和域控制器中默认具有管理员权限组。该组的成员可以更改 Enterprise Admins、 Schema admins和 Domain admins组的成员关系,是域森林中强大的服务管理组
-
远程登录组( Remote Desktop Users)的成员具有远程登录权限
-
打印机操作员组( Print Operators)的成员可以管理网络打印机,包括建立、管理及删除网络打印机,并可以在本地登录和关闭域控制器
-
账号操作员组( Account Operators)的成员可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录域控制器,但是,不能更改属于 Administrators或 Domain admins组 的账户,也不能修改这些组。在默认情况下,该组中没有成员
-
服务器操作员组( Server Operators)的成员可以管理域服务器,其权限包括建立管理删除 任意服务器的共享目录、管理网络打印机、备份任何服务器的文件、格式化服务器硬盘 锁定服务器、变更服务器的系统时间、关闭域控制器等。在默认情况下,该组中没有成员
-
备份操作员组( Backup Operators)的成员可以在域控制器中执行备份和还原操作,并可以在本地登录和关闭域控制器。在默认情况下,该组中没有成员
全局组
全局组成员来自于同一域的用户账户和全局组,在林范围内可用(来自本域,作用于域林;)
通用组
通用组成员来自林中任何域中的用户账户、全局组和其他的通用组,在全林范围内可用(来自全林,作用于全林)但几乎很少使用
A-G-DL-P策略
A-G-DL-P策略是指将用户账号添加到全局组中,将全局组添加到域本地组中,然后为域本地组分配资源权限
-
A表示用户账号( Account )
-
G表示全局组( Global Group )
-
U表示通用组( Universal Group )
-
DL表示域本地组( Domain Local Group )
-
P表示资源权限( Permission,许可 )
按照AG-DL-P策略对用户进行组织和管理是非常容易的。在AGDL-P策略形成以后,当需要给一个用户添加某个权限时,只要把这个用户添加到某个本地域组中就可以了
实际上,域管理员权限的配置也使用了A-G-DL-P策略:用户 — Domain Admin — administrator — 域管理权限
常规攻击流程的认知
网络杀伤链
网络杀伤链(Cyber-Kill-Chain)由七个步骤组成:
- 侦察:可以理解为信息收集获取攻击入口点
- 武器化:根据漏洞或后门制作攻击武器,实现快速突破
- 投递:将武器向目标投递,例如钓鱼邮件、web访问、USB外设等
- 漏洞利用:当武器(恶意软件)触及到目标系统或终端时,会通过漏洞等方式,控制受害者的终端或业务系统服务器
- 安装:恶意软件安装一个新的后门或新的木马程序,以提升入侵者的访问权限,能接触到更多系统
- 命令与控制:通过前述各类攻击武器,攻击者可以进行命令控制操作,获得特权帐户的访问权限并尝试暴力攻击、搜索凭据并更改权限以接管控制权
- 目标行动:当攻击者接触到既定攻击目标时,可以对其进行各种既定行动(如盗窃机密数据、破坏/加密数据进行勒索等)
- 基于此模型,可以实现对网络攻击分阶段防御,降低攻击伤害
但此模型存在不足:
-
抽象程度较高,不同的攻方、守方针对 同一个攻击事件 ,也会给出不同的描述,缺乏统一的描述机制和原语支撑
-
随着网络世界的复杂化,攻防不对称程度持续深化。针对同一个阶段,攻击方有无数种技术、方法可以使用,而防守方 却无法清晰描述和知晓自身的安全防护能力的全景实况 ,难以持续提升攻防对抗能力
ATT&CK
ATT&CK(Common Knowledge base of Adversary Ta ctics and Techniques)是一个战术知识库,提供了一个复杂框架,很好的弥补了CKC的高层抽象、未知威胁(IOC)以及特征之间的落差,对攻击行为进行了分类和特征化,让攻击防御不局限于琐碎的观察点
该战术库进行了一定程度的分类和抽象,具备了一定的防御IOC的能力,从框架上可以看出其非常详细:

NTCTF
NTCTF(Technical Cyber Threat Framework)是一个基于ATT&CK重新构造的网络威胁入侵过程模型
该模型通过4个层次构建:
- 阶段
- 目标
- 行为
- 关键短语
并把入侵过程分为六个阶段:
- 行动管理
- 准备活动
- 接触目标和进攻突防
- 持久化驻留潜伏
- 效果
- 持续支撑作业
每个阶段都由目标、行为和关键短语来提供支撑,而其中行为的核心支撑点就来自ATT&CK战术知识库
部分信息可能已经过时