第1章 内网渗透测试基础
内网也指局域网,是指在某一区域内由多台计算机互连而成的计算机组,组网范围通常在数千米内。在局域网中,可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等
1.1内网基础知识
1.1.1工作组
将不同的计算机按功能(或部门)分别列入不同的工作组,例如技术部的计算机都列入“技术部”工作组、行政部的计算机都列入“行政部”工作组。
加入工作组步骤:右击计算机图标——>选择属性——>单击更改设置——>单击更改,在”计算机名“输入框中输入计算机的名称,在“工作组”输入框中输入想要加入的工作组的名称。
如果输入的工作组名称在网络中不存在,就相当于新建了一个工作组。单击“确定”按钮,Windows会提示需要重新启动。在重新启动之后进入“网络”,就可以看到所加入的工作组的成员了。
工作组在局域网中具有唯一性。
1.1.2 域
域(Domain)是一个有安全边界的计算机集合(安全边界的意思是,在两个域中,一个域中的用户无法访问另一个域中的资源)。可以简单地把域理解成升级版的工作组。与工作组相比,域的安全管理控制机制更加严格。用户要想访问域内的资源,必须以合法的身份登录域,而用户对域内的资源拥有什么样的权限,还取决于用户在域内的身份。
域控制器(Domain Controller,DC)是域中的一台类似管理服务的计算机,我们可以形象地将它理解为一个单位的门禁系统。域控制器负责所有连入的计算机和用户的验证工作。域内的计算机如果想互相访问,都要经过域控制器的审核。
域控制器中存在由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当计算机连接到域时,域控制器首先要鉴别这台计算机是否属于这个域,以及用户使用的登录账号是否存在、密码是否正确。如果以上信息有一项不正确,域控制器就会拒绝这个用户通过这台计算机登录。
域控制器是整个域的通信枢纽,所有的权限身份验证都在域控制器上进行,也就是说,域内所有用来验证身份的账号和密码散列值都保存在域控制器中。
域中一般有如下几个环境。
1、单域
单域顾名思义就是一个域。在一个域内,一般要有至少两域服务器,一台作为DC,另一台作为备份DC。活动目录的数据库(包括用户的账号信息)是存储在DC中的,如果没有备份DC,一旦DC瘫痪,域内的其他用户就不能登录该域了。
2、父域和子域
出于管理及其他需求,需要在网络中划分多个域。第一域称为父域,各分部的域称为该域的子域。例如,一个大公司的各个分公司位于不同的地点,就需要使用父域及子域。如果把不同地点的分公司放在同一个域内,那么它们之间在信息交互(包括同步、复制等)上花费的时间就会比较长,占用的带宽也会比较大(在同一个域内,信息交换的条目是很多的,而且不会压缩;在不同域之间,信息交互的条目相对较少,而且可以压缩)。
3.域树
域树是多个域通过建立信任关系组成的集合。一个域管理员只能管理本域,不能访问或者管理其他域。如果两个域之间需要互相访问,则需要建立信任关系。信任关系是连接不同域的桥梁。
在一个域树中,父域可以包含多个子域。子域是相对父域来说的,指的是域名中的每一个段。各子域之间用点号隔开,一个“.”代表一个层次。放在域名最后的子域称为最高级子域或一级域,它前面的子域称为二级域。例如,域asia.abc.com的级别比域abc.com低(域asia.abc.com有两个层次,而域abc.com只有一个层次)。子域只能使用父域的名字作为其域名的后缀,也就是说,在一个域树中,域的名字是连续的。
4.域森林
域森林是指多个域树通过建立信任关系组成的集合。例如,在一个公司兼并场景中,某公司使用域树abc.com,被兼并的公司本来有自己的域树abc.net,域树abc.net无法挂在域树abc.com下。所以,域树abc.com与域树abc.net之间需要通过建立信任关系来构成域森林。通过域树之间的信任关系,可以管理和使用整个域森林中的资源,并保留被兼并公司自身原有的特性。
5.域名服务器
域名服务器(Domain Name Server,DNS)是指用于实现域名与之相对应的IP地址转换的服务器。域树的域名和DNS域名非常相似。实际上,因为域中计算机是使用DNS来定位域控制器、服务器及其他计算机、网络服务的,所以域的名字就是DNS域的名字。在内网渗透测试中,大都是通过寻找DNS服务器来确定域控制器的位置的(DNS服务器和域控制器通常配置在同一台机器上)。
1.1.3 活动目录
活动目录(Active Directory,AD)是指域环境中提供目录服务的组件。
目录用于存储有关网络对象(例如用户、组、计算机、共享资源、打印机和联系人等)的信息。目录服务是指帮助用户快速、准确地从目录中找到其所需要的信息的服务。活动目录实现了目录服务,为企业提供了网络环境的集中式管理机制。
如果把企业内网看成字典,那么内网中的资源就是字典中的内容,活动目录就相当于字典的索引。
在活动目录中,管理员不需要考虑被管理对象的地理位置,只需要按照一定的方式将这些对象放置在不同的容器中。这种不考虑被管理对象的具体地理位置的组织框架称为逻辑结构。
活动目录的逻辑结构包括前面讲过的组织单元、域、域树、域森林。域树内的所有域共享一个活动目录,这个活动目录内的数据分散存储在各个域中,且每个域只存储该域内的数据。
活动目录主要提供以下功能。
账号集中管理:所有账号均存储在服务器中,以便执行命令和重置密码等。
软件集中管理:统一推送软件、安装网络打印机等。利用软件发布策略分发软件,可以让用户自由选择需要安装的软件。
环境集中管理:统一客户端桌面、IE、TCP/IP协议等设置。
增强安全性:统一部署杀毒软件和病毒扫描任务、集中管理用户的计算机权限、统一制定用户密码策略等。可以监控网络,对资料进行统一管理。
更可靠、更短的宕机时间:例如,利用活动目录控制用户访问权限,利用群集、负载均衡等技术对文件服务器进行容灾设置。网络更可靠,宕机时间更短。
1.1.4 域控制器和活动目录的区别
如果网络规模较大,就要把网络中的众多对象,例如计算机、用户、用户组、打印机、共享文件等,分门别类、井然有序地放在一个大仓库中,并将检索信息整理好,以便查找、管理和使用这些对象(资源)。这个拥有层次结构的数据库,就是活动目录数据库,简称AD库。
要实现域环境,其实就是要安装AD。如果内网中的一台计算机上安装了AD,它就成了DC。
1.1.5 安全域的划分
划分安全域的目的是将一组安全等级相同的计算机划入同一个网段。这个网段内的计算机拥有相同的网络边界,并在网络边界上通过部署防火墙来实现对其他安全域的网络访问控制策略,从而对允许那些IP地址访问此域、允许此域访问那些IP地址和网段进行设置。
DMZ称为隔离区,是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题而设立的一个非安全系统与安全系统之间的缓冲区。DMZ位于企业内部网络和外部网络之间。可以在DMZ中放置一些必须公开的服务器设施。
在网络边界上一般会部署防火墙及入侵检测、入侵防御产品等。如果有Web应用,还会设置WAF,从而更加有效地保护内网。
在配置一个拥有DMZ的网络时,通常需要定义如下访问控制策略,以实现其屏障功能。
内网可以访问外网:内网用户需要自由地访问外网。在这一策略中,防火墙需要执行NAT。
内网可以访问DMZ:此策略使内网用户可以使用或者管理DMZ中的服务器
外网不能访问内网:这是防火墙的基本策略。内网中存储的是公司内部数据。(如果要访问内网,就要通过VPN的方式进行)
外网可以访问DMZ:因为DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,需要防火墙来完成从对外地址到服务器实际地址的转换。
DMZ不能访问内网:如果不执行此策略,当攻击者攻陷DMZ时,内网将无法收到保护。
DMZ不能访问外网:此策略也有例外。例如,在DMZ中放置了邮件服务器,就要允许访问外网,否则邮件服务器无法正常工作。
1.1.6 域中计算机的分类
1.域控制器
域控制器用于管理所有的网络访问,包括登录服务器、访问共享目录和资源。域控制器中存储了域内所有的账户和策略信息,包括安全策略、用户身份验证信息和账户信息。
在网络中,可以有多台计算机被配置为域控制器,以分担用户的登录、访问等操作。
2.成员服务器
成员服务器是指安装了服务器操作系统并加入了域、但没有安装活动目录的计算机,其主要任务是提供网络资源。成员服务器的类型通常有文件服务器、应用服务器、数据库服务器、Web服务器、邮件服务器等。
3.客户机
域中的计算机可以是安装了其他操作系统的计算机,用户利用这些计算机和域中的账户就可以登录域,这些计算机被称为域中的客户机。域用户账号通过域的安全验证后,即可访问网络中的各种资源。
4.独立服务器
独立服务器和域没有关系。如果服务器既不加入域,也不安装活动目录,就称其为独立服务器。独立服务器可以创建工作组、与网络中的其他计算机共享资源,但不能使用活动目录提供的任何服务。
1.1.7 域内权限解读
组是用户账户的集合。通过向一组用户分配权限,就可以不必向每个用户分别分配权限。
1.域本地组
多域用户访问单域资源(访问同一个域),可以从任何域添加用户账号、通用组和全局组,但只能在其所在域指派权限。域本地组不能嵌套在其他组中。域本地组主要用于授权本域内资源的访问权限。
2.全局组
单域用户访问多域资源(必须是同一个域中的用户),只能在创建该全局组的域中添加用户和全局组。可以在域森林的任何域内指派权限。全局组可以嵌套在其他组中。
可以将某个全局组添加到同一个域的另一个全局组中,或者添加到其他域的通用组和域本地组中(不能添加到不同域的全局组中,全局组只能在创建它的域中添加用户和组)。虽然可以通过全局组授予用户访问任何域内资源的权限,但一般不直接用它来进行权限管理。
全局组和域本地组的关系,与域用户账号和本地账号的关系相似。域用户账号可以在全局使用,即在本域和其他关系的其他域中都可以使用,而本地账号只能在本机中使用。例如,将用户张三(域账号为Z3)添加到域本地组Administrators 中,并不能使Z3对非DC 的域成员计算机拥有任何特权,但若将Z3添加到全局组Domain Admins 中,用户张三就成为域管理员了(可以在全局使用,对域成员计算机拥有特权)。
3.通用组
通用组的成员来自域森林中任何域的用户账号、全局组和其他通用组,可以在该域森林的任何域中指派权限,可以嵌套在其他组中,非常适合在域森林内的跨域访问中使用。不过,通用组的成员不是保存在各自的域控制器中的,而是保存在全局
编录(GC)中的,任何变化都会导致全林复制。全局编录通常用于存储一些不经常发生变化的信息。由于用户账号信息是经常变化的,建议不要直接将用户账号添加到通用组中,而要先将用户账号添加到全局组中,再把这些相对稳定的全局组
添加到通用组中。
可以这样简单地记忆:域本地组来自全林,作用于本域;全局组来自本域,作用于全林;通用组来自全林,作用于全林。