内网
内网是局域网(LAN)是指由多台计算机在一定区域内互联的计算机组。一般方圆几公里以内。局域网可实现文件管理、应用软件共享、打印机共享、工作组日程安排、电子邮件和传真通信服务等功能。局域网是封闭的,可以由办公室的两台计算机或一家公司的数千台计算机组成。例如,内网中的机器,输入ipconfig /all发现我们的ip是192.168…,内网1号机器192.168.0.1.2号机192.168.0.2.以此类推,但我们输入浏览器 ip.cn 发现都是同一个ip
工作组
这是局域网的概念。当我们局域网中的主机太多时,或者需要用户工作组需要使用。相当于把我们的文件分类放在不同的文件夹里,一个是学习,一个是工作。我们可以,发现可以直接看到我们所处的工作组,其右侧可以进行设置更改。工作组的凭证都是放在本地的
域(DC)
域英文叫DOMAIN——域(Domain)是Windows网络中独立运行的单位需要建立信任关系。信任关系是连接域与域之间的桥梁。当一个域与其他域建立信任关系时,两个域不仅可以根据需要相互管理,还可以跨网段分配文件、打印机等设备资源,实现不同域之间网络资源的共享和管理。相互通信和数据传输
域既是 Windows 网络操作系统的逻辑组织单元也是Internet逻辑组织单元,在 Windows 在网络操作系统中,域是一个安全边界。域管理员只能管理域的内部,除非其他域给予他管理权限,否则他可以访问或管理其他域。每个域都有自己的安全策略和与其他域的安全信任。
,在工作组中,您将所有设置在本机上,包括各种策略。用户登录也在本机上登录,密码放在本机数据库中验证。如果您的计算机加入域,各种策略是域控制器统一设置,用户名和密码也放入域控制器进行验证,即您的帐户密码可以登录同一域的任何计算机。登录域时,使用身份验证Kerberos协议在域控制器上进行,计算机通过登录到这里SAM来进行NTLM验证的
域控制器(DC)
在域模式下,至少有一台服务器负责每台连接到网络的计算机和用户的验证,相当于一个单位的门卫,称为域控制器(Domain Controller,简写为DC)”。 域控制器包含由该域账户、密码、计算机等信息组成的数据库。当计算机连接到网络时,域控制器应首先确定计算机是否属于该域,用户使用的登录帐户是否存在,密码是否正确。如果上述信息不正确,域控制器将拒绝用户从计算机登录。如果无法登录,用户无法访问服务器上有权保护的资源。他只能通过对等网络用户访问Windows共享的资源在一定程度上保护了网络上的资源。
域控是活动目录的存储位置,即活动目录存储在域控制器中。安装活动目录的计算机称为域控制器。事实上,当您第一次安装活动目录时,安装活动目录的计算机已经成为域控制器。一个域可以有一个或多个域控制器。最经典的方法是做一个主辅域控制
域的分类
- 单域
- 父域,子域
- 域树(tree)
- 域森林(forest)
- DNS域名服务器
单域
在一般地理位置固定的小公司中,建立一个域可以满足需求。 一般来说,一个域至少应该建立两个域服务器DC,一个是备份DC。如果没有第二个备份DC,那么一旦DC如果瘫痪,域内其他用户无法登录域,因为存储在活动目录的数据库(包括用户的账号信息)中DC中的。有备份域控制器(BDC),至少这个域可以正常使用,在此期间瘫痪DC恢复就行了
父域
由于管理等需要,需要在网络中划分多个域,第一个域称为父域 ,各分支的域称为该域 子域
如果将不同地理位置的分支机构放置在同一领域,那么它们之间的信息交互(包括同步、复制等)将花费更长的时间,并占用更大的带宽。(因为在同一领域,信息交互的项目很多,不压缩;在域之间,信息交互的项目相对较少,压缩。
另一个优点是子公司可以通过自己的领域管理自己的资源。
另一种情况是出于安全策略,因为每个领域都有自己独特的安全策略。例如,公司的财务部门希望使用特定的安全策略 (包括账号密码策略等。),然后财务部门可以单独管理成子域
域树
域树 它是指由建立信任关系组成的多个域的集合。一个域管理员只能管理该域的内部,不能访问或管理其他域,需要建立两个域之间的相互访问 信任关系 (Trust Relation)。
信任是连接域与域之间的桥梁。域树内的父子域不仅可以根据需要相互管理,还可以跨网分配文件、打印机等设备资源,实现不同域之间网络资源的共享和管理,以及相互通信和数据传输。
在域树中,父域可以包含许多子域,与父域相比,子域是指域名中的每一段。子域只能用父域作为域名的后缀,也就是说 域树中域名是连续的
域森林
域森林 指多个域树通过建立信任关系组成的集合。整个森林中的资源可以通过域树之间建立的信任关系进行管理和利用,从而保持原域的原始特征
DNS域名服务器
。
域树的名称可以在域树的介绍中看到DNS域名非常相似。事实上,域名是DNS域名,因为域中的计算机使用DNS定位域控制器和服务器以及其他计算机、网络服务等
计算机在域中分类
- 域控制器
- 成员服务器
- 成员服务器是指安装的 Windows Server 2008年操作系统增加了域计算机。这些服务器提供网络资源,也被称为现有域的附加域控制器。成员服务器通常具有文件服务器、应用服务器、数据库服务器、Web服务器、证书服务器、防火墙、远程访问服务器、打印服务器等
- 独立服务器
- 独立服务器与域无关。如果服务器不添加到域或安装活动目录,则称为独立服务器。独立服务器可以创建工作组,与网络上的其他计算机共享资源,但无法获得活动目录提供的任何服务
- 域内客户端
- 安装了win xp/2000/2003等操作系统,并添加域计算机。用户可以使用这些计算机和域中的账户登录域并成为域中的客户端。域用户账户通过域安全验证后,可以访问网络中的各种资源
域内权限
多域用户访问单域资源(访问同一个域)
用户账户、通用组和全球组可以从任何域添加,但只能在其域内分配权限。域本地组不能嵌入其他组。主要用于授予域资源访问权
访问多域资源的单域用户(必须是一个域内的用户)
用户和全局组只能添加到创建全局组的域中。可在域森林的任何域内分配权限。全局组可嵌套在其他组中。
一个整体组可以添加到同一域的另一个整体组中,也可以添加到其他域的通用组和域本地组中(不能添加到不同域的整体组中,整体组只能在创建域中添加用户和组)。虽然用户可以通过整体组获得访问域内任何资源的权限,但通常不直接用于权限管理。
类似于域用户账号和本地账号。
域用户账户可以全局使用,即可以在本域和其他关系的其他域使用,而本地账户只能在本机中使用。例如用户张三(Z3)添加到域本地组 Administrators 中,不能使Z3对非DC域成员计算机有任何特权。但若将Z3添加到全局组Domain Admins中,用户张三就成为了域管理员了(可以在全局使用,对域成员计算机拥有特权)
多域用户访问多域资源
一般小组的成员可以包括域树或域林中任何域的用户账户、整体小组和其他一般小组,可以在该域森林的任何域中分配权限,嵌套在其他小组中,非常适合在域森林中的跨域访问。然而,一般小组的成员并没有保存在各自的域控制器中,而是保存在整体记录中(GC)中年时,任何变化都会导致全林复制。
整体记录通常用于存储一些不经常改变的信息。由于用户账户信息经常发生变化,建议不要直接将用户账户添加到一般组中,而是将用户账户添加到整体组中,然后将这些相对稳定的整体组添加到一般组中
- 域本地组:全林作用于本域
- 全球组:来自本域,作用于全林
- 通用组:作用于全林的全林/li>
活动目录(AD)
。它基于DNS,以树状结构存储了一个域内有关网络对象(例如用户、用户组、计算机、域、安全策略等等)的信息,其中包含所有域用户和计算机帐户的密码哈希值。它提供基础网络服务(DNS/DHCP等)、计算机管理、用户服务、资源管理、桌面配置、应用系统支撑等功能。
活动目录是微软Windows Server中,负责架构中大型网路环境的集中式目录管理服务(Directory Services)。目录服务在微软平台上从Windows Server 2000开始引入,所以我们可以理解为活动目录是目录服务在微软平台的一种实现方式。当然目录服务在非微软平台上都有相应的实现。
Windows Server 2003的域环境与工作组环境最大的不同是,域内所有的计算机共享一个集中式的目录数据库(又称为活动目录数据库),它包含着整个域内的对象(用户账户、计算机账户、打印机、共享文件等)和安全信息等等,而活动目录负责目录数据库的添加,修改,更新和删除。所以我们要在Windows Server 2003上实现域环境,其实就是要安装活动目录。活动目录为我们实现了目录服务,提供对企业网络环境的集中式管理。比如在域环境中,只需要在活动目录中创建一次Bob账户,那么就可以在任意200台电脑中的一台上登录Bob,如果要为Bob账户更改密码,只需要在活动目录中更改一次就可以了,也就是说域用户信息保存在活动目录中。
ntds.dit是AD中的数据库文件,它被保存在域控制器中c:\windows\system32\ntds\ntds.dit的位置
活动目录的主要功能
- 帐号集中管理,所有帐号均存在服务器上,方便对帐号的重命令/重置密码。
- 软件集中管理,统一推送软件,统一安装网络打印机等。利用软件发布策略分发软件,可以让用户自由选择安装软件。
- 环境集中管理,利用AD可以统一客户端桌面,IE,TCP/IP等设置
- 增强安全性,统一部署杀毒软件和扫毒任务,集中化管理用户的计算机权限、统一制订用户密码策略等,可监控网络,资料统一管理。
- 更可靠,更少的宕机时间。如:利用AD控制用户访问权限,利用群集、负载均衡等技术对文件服务器进行容灾设定,更可靠,宕机时间更少
- 活动目录为Microsoft统一管理的基础平台,其它isa,exchange,sms等服 务都依赖于这个基础平台
AD和DC的区别
如果网络规模较大,我们就会考虑把网络中的众多对象:计算机、用户、用户组、打印机、共享文件等,分门别类、井然有序地放在一个 大仓库中,并做好检索信息,以利于查找、管理和使用这些对象(资源)。这个有层次结构的数据库,就是活动目录数据库,简称AD库。
那么我们应该把这个数据库放在哪台计算机上呢?规定是这样的,我们把存放有活动目录数据库的计算机就称为DC。所以说我们要实现域环境,其实就是要安装AD,当内网中的一台计算机安装了AD后,它就变成了DC
逻辑结构
在活动目录中,管理员可以完全忽略被管理对象的具体地理位置,而将这些对象按照一定的方式放置在不同的容器中。由于这种组织对象的做法不考虑被管理对象的具体地理位置,这种组织框架称为“ 逻辑结构 ”。
活动目录的逻辑结构就包括 组织单元( OU )、域( domain )、域树( tree )、域森林( forest ) 。在域树内的所有域共享一个活动目录,这个活动目录内的数据分散地存储在各个域内,且每一个域只存储该域内的数据
组织单元(OU)是一种容器,它里面可以包含对象(用户账户,计算机账户等),也可以包含其他的组织单元(OU)
。域
安全域划分
安全域划分的目的是将一组安全等级相同的计算机划入同一个网段内,这一网段内的计算机拥有相同的网络边界,在网络边界上采用防火墙部署来实现对其他安全域的NACL(网络访问控制策略),允许哪些IP访问此域、不允许哪些访问此域;允许此域访问哪些IP/网段、不允许访问哪些IP/网段。使得其风险最小化,当发生攻击时可以将威胁最大化的隔离,减少对域内计算机的影响 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8RZjl97N-1658918630420)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613142055515.png)]
DMZ
DMZ称为“隔离区”,也称“非军事化区”。是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与 安全系统之间的缓冲区。
这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服 务器、FTP服务器和论坛等。
另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡
DMZ的屏障功能
-
内网的用户需要自由的访问外网,在这一策略中,防火墙需要执行NAT
-
此策略使内网用户可以使用或者管理DMZ中的服务器
-
这是防火墙的基本策略了,内网中存放的是公司内部数据,显然这些数据是不允许外网的用户进行访问的。如果要访问,就要通过VPN方式来进行
-
DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换
-
如果不执行此策略,则当攻击者攻陷DMZ时,内部网络将不会受保护
-
此条策略也有例外,比如我们的例子中,在DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作
SAM
,为了避免明文密码泄漏,SAM文件中保存的是明文密码经过一系列算法处理过的Hash值,被保存的Hash分为LM Hash、NTLMHash。在用户在本地或远程登陆系统时,会将Hash值与SAM文件中保存的Hash值进行对比。在后期的Windows系统中,SAM文件中被保存的密码Hash都被密钥SYSKEY加密。它存在c:/windows/system32/config/SAM,类似于linux里的/etc/shadow文件。我们可以通过删除/替换 SAM文件,通过PE 免密登录一些老版本系统的管理员账号
Kerberos协议
kerberos 是一种由MIT(麻省理工大学)提出的一种网络身份验证协议,它旨在通过使用加密技术为客户端/服务端应用程序提供强大的认证服务。
kerberos协议中主要由三个角色:
(1)访问服务的client(一下表述为Client或者用户)
(2)提供服务的server(一下表述为服务)
(3)KDC(Key Distribution Center)密钥分发中心
其中KDC服务默认会安装在一个域的域控中,而Client和Server为域内的用户或者是服务,如HTTP服务,SQL服务,远程桌面服务。在kerberos中Client是否有权限访问Server端的服务有KDC发放的票据决定
NTLM
在允许的环境下,Kerberos是首选的认证方式。在这之前,Windows主要采用另一种认证协议——NTLM(NT Lan Manager)。NTLM使用在Windows NT和Windows 2000 Server(or later)工作组环境中(Kerberos用在域模式下)。在AD域环境中,如果需要认证Windows NT系统,也必须采用NTLM。较之Kerberos,基于NTLM的认证过程要简单很多。NTLM采用一种质询/应答(Challenge/Response)消息交换模式。
首先,用户通过输入Windows帐号和密码登录客户端主机。在登录之前,客户端会缓存输入密码的哈希值,原始密码会被丢弃(“原始密码在任何情况下都不能被缓存”,这是一条基本的安全准则)。成功登录客户端Windows的用户如果试图访问服务器资源,需要向对方发送一个请求。该请求中包含一个以明文表示的用户名。 服务器接收到请求后,生成一个16位的随机数。这个随机数被称为Challenge或者Nonce。服务器在将该Challenge发送给客户端之前,该Challenge会先被保存起来。Challenge是以明文的形式发送的。 客户端在接收到服务器发回的Challenge后,用在步骤一中保存的密码哈希值对其加密,然后再将加密后的Challenge发送给服务器。 服务器接收到客户端发送回来的加密后的Challenge后,会向DC(Domain)发送针对客户端的验证请求。该请求主要包含以下三方面的内容:客户端用户名;客户端密码哈希值加密的Challenge和原始的Challenge。 DC根据用户名获取该帐号的密码哈希值,对原始的Challenge进行加密。如果加密后的Challenge和服务器发送的一致,则意味着用户拥有正确的密码,验证通过,否则验证失败。DC将验证结果发给服务器,并最终反馈给客户端。 NTLM(New Technologies Lan Manager)HASH,通常是指SAM文件或ntds.dit文件中存储的HASH,生成流程是 :16进制编码 ==> unicode编码 ==> MD4加密。
NET-NTLM HASH 是在上面的NTLM认证过程中,从服务器端返回的一个hash值,里面存储了用户名、ip、加密算法,密码hash等。
对NTLM Hash可以通过这些方式获取:
导出SAM文件,配合SYSKEY利用mimikatz等工具获得 改注册表用minikatz读取exe进程获取(2012 r2和8.1及以上版本都禁止明文缓存到内存,而mimikatz是基于内存获取明文密码) NTLM哈希传递 对NET-NTLM HASH 可通过使用Responder和Inveigh等工具进行中间人攻击,伪造服务器端简历SMB连接获取
SMB
SMB(Server Message Block)被称为服务器消息块,又叫网络文件共享系统(CIFS)。在Windows2000中,SMB除了基于NBT实现,还可以直接通过445端口实现。主要作用是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。
CIFS消息一般使用NetBIOS或TCP协议发送,分别使用不同的端口139或445,当前倾向于使用445端口
- 直接运行在 TCP 上 port 445
- 通过使用 NetBIOS API
- 基于 UDP ports 137, 138 & TCP ports 137, 139
- 基于一些传统协议,例如 NBF
IPC
在NT/2000以后开始使用IPC$(Internet Process Connection),它是为了让进程间通信而开放的命名管道,通过验证账号和密码,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现在远程管理和查看计算机的共享资源。
IPC ( I n t e r n e t P r o c e s s C o n n e c t i o n ) 可以被理解为一种“专用管道”,可以在连接双方建立一条安全的通道,实现对远程计算机的访问。 W i n d o w s N T / 2000 / X P 提供了 I P C (Internet Process Connection)可以被理解为一种“专用管道”,可以在连接双方建立一条安全的通道,实现对远程计算机的访问。Windows NT/2000/XP提供了IPC (InternetProcessConnection)可以被理解为一种“专用管道”,可以在连接双方建立一条安全的通道,实现对远程计算机的访问。WindowsNT/2000/XP提供了IPC功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C , D ,D ,D,E … … ) 和系统目录 ( A D M I N ……)和系统目录(ADMIN ……)和系统目录(ADMIN)共享。所有这些共享的目的,都是为了方便管理员的管理,但在有意无意中,导致了系统安全性的隐患,我们在cmd命令行中输入 net share 就能查看共享。
我们常说的IPC$漏洞就是IPC的空连接,但是它原本的危害就很小,只能访问 everyone 权限的共享,访问小部分注册表等。而且在2000及之后的版本,更是设置了权限和禁用空连接。
NetBIOS
NETBIOS(网络基本输入输出系统),严格讲不属于网络协议,NETBIOS是应用程序接口(API),早期使用NetBIOS Frames(NBF)协议进行运作,是一种非路由网络协议,位于传输层;后期NetBIOS over TCP/IP(缩写为NBT、NetBT)出现,使之可以连接到TCP/IP,是一种网络协议,位于会话层。基于NETBIOS协议广播获得计算机名称——解析为相应IP地址,WindowsNT以后的所有操作系统上均可用,不支持IPV6
NETBIOS提供三种服务
- NetBIOS-NS(名称服务):为了启动会话和分发数据报,程序需要使用Name Server注册NETBIOS名称,可以告诉其他应用程序提供什么服务,默认监听UDP137端口,也可以使用TCP 137端口
- Datagram distribution service(数据报分发服务):无连接,负责错误检测和恢复,默认在UDP 138端口
- Session Server(会话服务):允许两台计算机建立连接,默认在TCP 139端口
Windows Access Token
windows访问令牌,包含了登陆会话的安全信息(比如各种SID)。当用户登陆时,系统创建一个访问令牌,然后以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。该令牌唯一表示该用户、用户的组和用户的特权。有两种令牌:主令牌和模拟的令牌。主令牌是与进程相关的;模拟的令牌是与模拟令牌的线程相关的。当用户注销后,系统将会使主令牌切换为模拟令牌,不会将令牌清 除,只有在重启机器后才会清除
SID
SID是安全标识符,是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。它用来跟踪每个账户,而且永远不会更改,即使我们更改了管理员的名字它也不会变
堡垒机
。它的主要的功能是就是限制登录入口,集中权限账号管理,对不合法命令进行命令阻断,记录运维人员的操作,出事了追责。它和防火墙直观上的区别就是,防火墙是用于外网和DMZ,DMZ和内网之间的,堡垒机是用于运维人员和内网之间的