A11.windows内网靶场搭建
Windows内网靶场搭建
教材2:《网络攻防靶场搭建与安全测试》
内容简介:内容简介:Linux靶场,后门与安全防护,Windows内网攻防,EVE-NG的防火墙,WAF,日志审计安全设备仿真,其他网络攻防靶场介绍等。
实验环境下载:
链接: https://pan.baidu.com/s/16TXPkcI5S4FgVbTn1iOcPA?pwd=wb6p
出版社介绍:https://mp.weixin.qq.com/s/XwhCfyAgTPMqWJIURHoxrQ
本实验环境使用2台虚拟机,一台Web服务器(外网),一台域控制器(内网),通过VMware虚拟网络,模拟内、外网环境。网络拓扑图如下:

实验环境列表如下:
系统版本 |
计算机名 |
本地登录账号/密码 |
IP地址 |
描述 |
Windows 2008 R2 企业版 |
WEB |
Administrator Abc1234 |
外网:192.168.10.130(Vmnet8) 内网:10.10.10.10(Vmnet1) |
WEB服务器/sun.com的域成员机器,域用户名leo,密码1234Abc |
Windows 2008 R2企业版 |
DC |
Administrator p@ssw0rd |
内网:10.10.10.11(Vmnet1) |
DC域控服务器,域名sun.com,域管理员账号与密码与本地管理员账号密码相同 |
Windows 10 |
(随意) |
外网:192.168.10.1(Vmnet8) |
(物理机,攻击机)与WEB处在同一个局域网 |
本实验使用VMware Workstation进行,实验一共使用三台主机,分别是WEB机、DC机、攻击机。
-
WEB机有2张网卡,模拟内、外网环境,192.168.10.0/24网段为外网,10.10.10.0/24网段为内网,并且在Web机上安装IIS服务部署了ASPCMS网站程序;WEB机使用域用户leo加入了域sun.com。
-
DC机安装Active Directory域服务,作为DC域控服务器,域名为sun.com,并添加一名普通域用户leo。
-
攻击机处于外网,无法与内网互相通信。
实验的主要流程如下:
-
对外网的WEB机进行安全测试,通过SQL注入、数据库植入Webshell,编辑模板拿Webshell等手段获取到WEB机的Webshell,之后利用CVE-2018-8120漏洞进行权限提升,获得了WEB机的本地管理员权限。
-
使用在线密码抓取,离线HASH破解等方式获得域用户leo(domain users)和本地管理员的密码。
-
通过WEB机建立内网隧道,进入内网。
-
通过MS14-068漏洞生成伪造的域TGT票据,注入票据,Psexec横向移动,获得了内网的域控制器权限。
-
获得域控权限后,导出黄金票据进行权限维持。
-
之后又介绍了利器CobaltStrike的使用,来简化上述操作步骤。
为了解内网安全测试的过程,实验环境未做安全防护,即操作系统未打补丁,未安装杀毒软件,网站没有Web防火墙的保护。本实验过程没有利用MS17-010漏洞,因为太普遍了。在域环境下,除了MS14-068,还有CVE-2020-1472,CVE-2021-1675,CVE-2021-34527等威胁很高的漏洞。
设计本实验环境时,在参考红日安全团队靶场5的基础上,对WEB机进行了改造,目的是通过Windows环境下的本地提权,了解WebShell中system权限的由来。
基础环境配置
本实验使用的虚拟系统,都是Windows 2008 R2的6.1.7600版本(即未打SP1补丁,7601是打过SP1补丁的)。本实验使用的Windows 2008 R2虚拟机(纯净版)会放在网盘中供下载,可免去操作系统的安装步骤。如果已有相同版本的虚拟机系统,也可以使用,不必下载。
克隆虚拟机
将下载后的Windows 2008虚拟机解压,将解压后的虚拟机作为WEB机。运行VMware,通过“文件”—“打开”,将虚拟机加入到VMware里,然后再将虚拟机克隆一台,克隆后的虚拟机作为DC机。克隆虚拟机的MAC地址会自动改变,不必担心MAC地址相同的问题。
模拟内、外网环境
对实验环境的VMware虚拟网络进行配置,模拟内、外网的环境。
打开VMware主界面菜单栏“编辑”→“虚拟网络编辑器”界面,进行以下配置(IP地址可以使用自定义的配置):
-
模拟外网:新增或更改VMnet8网卡为“NAT模式”。教材中使用的子网IP为192.168.10.0、子网掩码为255.255.255.0、NAT设置中网关IP为192.168.10.254、DHCP设置中起始IP地址为192.168.10.130。在VMware里选择WEB机(不开机),将网络适配器的网络连接模式也修改为“NAT模式”。
-
模拟内网(方法1):在WEB虚拟机的“虚拟机设置”界面,添加一张“网络适配器”,并新建“LAN区段”来模拟内网,将添加的网络适配器的网络连接模式更改为“LAN区段”。然后选择DC虚拟机,将DC机的网络适配器的网络连接模式也修改为“LAN区段”。同一个“LAN区段”的虚拟机都能够相互通信,但“LAN区段”与物理机并不能通信。这就实现了模拟内网的效果。下图是WEB虚拟机的网卡配置情况。

- 模拟内网(方法2):在“虚拟网络编辑器”界面,新增或更改VMnet1网卡为“仅主机模式”、子网IP为10.10.10.0、子网掩码为255.255.255.0、DHCP设置中起始IP地址为10.10.10.10。将VMnet1网卡的“将主机虚拟适配器连接到此网络”复选框为设置为“未选中”状态。不勾选的原因是将10.10.10.0网段作为DC域控服务器与WEB服务器的内网,不能让物理机直接访问到DC域控服务器。
如果不熟悉VMware虚拟网络的设置方法,请使用搜索引擎搜索相关关键字进行学习。

虚拟机的IP配置
将WEB机启动。首次启动Administrator用户的登录密码为p@ssw0rd。使用ipconfig命令查看当前网络情况。
为了防止虚拟机重启之后IP地址发生改变,需要将两张网卡的IP地址都设置为静态IP。将“本地连接”IP和子网掩码设置为192.168.10.130/255.255.255.0,网关设置为192.168.10.254。将“本地连接2”的IP和子网掩码设置为10.10.10.10/255.255.255.0,不设置网关。
将DC机启动。首次启动Administrator用户的登录密码为p@ssw0rd。同样的步骤设置静态IP为10.10.10.11。
因为防火墙关闭了ICMP回显功能,开启防火墙的同时就无法被其他机器PING通,所以需要在WEB机和DC机中使用以下命令,开启ICMP回显功能。
netsh firewall set icmpsetting 8

最后进行网络通信测试。使用WEB机、DC机和攻击机分别执行PING命令。正确情况下:
-
WEB机可以PING通DC机的10.10.10.11地址;
-
DC机可以PING通WEB机的10.10.10.10地址;
-
物理机可以PING通WEB机的192.168.10.130地址;
-
物理机不能PING通WEB机和DC机的内网地址(10.10.10.11和10.10.10.10)。
如果PING测试不是以上结果,仔细检查网络配置步骤,一定要确保得到以上的测试结果,才能正常的模拟内、外网环境进行实验。
错误的原因可能有以下几种(不限于):
-
WEB机的内、外网网卡的IP地址配反了。可以在“虚拟机设置”里将其中的一块网卡断开连接,然后使用命令查看IP,这时只能查看到另一块网卡的IP,请确认看到的IP是否为对应网段的IP。
-
查看VMware在物理机上生成的虚拟网卡VMnet8是否被禁用(如果采用第2种方法模拟内网物理机上没有虚拟网卡VMnet1是正常的),如果被禁用则ping不通WEB机的外网IP地址192.168.10.130。
-
可以将防火墙彻底禁用。
-
如步骤没有错误请尝试将VMware虚拟网络编辑器还原默认设置之后重新进行配置。
SID与密码修改
在Windows系统中,用户被创建时,除了用户名之外,都会生成一个唯一SID(Security Identifiers,安全标识符),用户的权限设置也通过SID来记录。SID是Windows中标识用户、组和计算机的唯一的号码,Windows操作系统通过SID对计算机和用户进行识别,更改计算机名或用户名并不会更改它们的SID。
从一个虚拟机母版克隆了新的虚拟机以后,虚拟机的SID就会重复,SID重复的计算机在加入域时会造成安全主体的识别混乱和加域失败等。即使不加域,在同一局域网中,存在相同SID的计算机或账户也会因为安全主体识别混乱引起权限和安全方面的问题。
本实验环境中,因为两台虚拟机中的一台是经过克隆后的机器,所以他们的SID号是相同的,可以通过CMD命令whoami /user查看确认。我们选择更改WEB机的SID。在WEB机的CMD命令行中执行以下命令,使用Sysprep重置SID。
C:\Windows\System32\Sysprep\Sysprep.exe /generalize /reboot /oobe
执行该命令之后会自动重启机器并进入安装程序,需要等待一段时间,并根据提示重新设置密码,这里将管理员密码更改为Abc1234(不能和DC机的密码相同)。
注意:WEB机成功更改SID后,之前设置的IP地址会被重置为自动获取状态,需要重新设置为静态IP。通常克隆以后,就先重置SID。因为虚拟网络的搭建在本实验中是一个重要环节,因此这里先搭建了虚拟网络,而后才进行SID的更改。
计算机名修改
为了便于标识计算机,还需要修改WEB机和DC机的计算机名。打开“系统属性”,更改计算机名。将WEB机的计算机名更改为WEB;将DC机的计算机名更改为DC。如果不知道相关的步骤,请提炼关键字完成计算机名的修改。

因为Windows系统的计算机名修改方法,大同小异,所以也可以使用关键词“Windows 计算机名 修改”。修改计算机名后,根据提示,重启系统生效。到此WEB机和DC机基本的配置就完成了。
Web服务器环境搭建
启动WEB虚拟机,使用本地管理员Administrator管理,登录密码为Abc1234。正常开机后会弹出“服务器管理器”窗口,在该窗口中找到“角色”,并“添加角色”,在弹出的“添加角色向导”中,请根据以下步骤,安装IIS服务。
在“选择服务器角色”窗口中,勾选Web服务器(IIS),然后点击“下一步”按钮至“选择角色服务”窗口,在该窗口中的角色服务树型列表中找到并选择ASP,勾选ASP后在弹出的“是否添加ASP所需的角色服务”窗口中点击“添加所需的角色服务”按钮,而后点击“下一步”按钮直至安装完成。
静态网页测试
在D盘新建一个名为web的目录作为网站根目录。打开Internet信息服务(IIS)管理器,先将默认网站停止运行,然后在左侧视图的“网站”上右键,在弹出的菜单中点击“添加网站”,后在“添加网站”窗口中输入网站相关信息。

点击“确定”按钮后,会提示当前80端口已经绑定给默认网站了,这种情况下只能启动一个网站,点击“是”按钮后,完成新建网站操作。注意这个提示只需要将默认网站关闭或删除即可,不能同一端口运行多个网站。
打开WEB网站根目录,新建一个index.html文件并输入任意字符后保存,然后打开浏览器,访问http://127.0.0.1/即可查看到网站效果。

注意,新建文件时后缀名需要通过“文件夹选项”取消“隐藏已知文件类型的扩展名”的对勾,以方便对后缀名进行修改。
如果无法访问,则可能是因为没有设置“默认文档”导致的,在IIS管理器中选中网站,功能视图中找到“默认文档”,双击其进入配置,在右侧操作中点击“添加”,然后输入“index.html”后点击“确定”按钮完成添加,这样一来IIS就会按照默认文档列表中的文件在浏览器中显示相应网页。
了解CMS的文件和目录
本次WEB程序选用ASPCMS 2.2.9开源企业网站建设系统。这是一套已经写好的ASP程序,用的是ACCSEE数据库,可以用来快速搭建一个动态网站。
通常,动态网站上用户添加的文字信息,被写入到了数据库里,而用户上传的各种文件(图片、压缩包等),保存到网站的一个专门保存用户文件的目录里,而不写入数据库。
下面来了解网站里的几种重要的文件命名规律:
-
首页文件名:有index,default,start等,再加上相应的扩展名;
-
上传文件的目录名:有upload、upfile、up、attachment等;
-
配置文件:可能会以config,conn命名,里面有网站的配置信息、数据库的连接信息;
-
安装说明文件:说明文件可能会以“XX说明”,“XX必读”,“readme”等名字出现。说明文件里会包含程序安装、后台地址、管理员密码等这些关键的信息。
此外,网站的采用的数据库如果是Access数据库,Access的定位是小型桌面数据库系统,只适合数据量少的应用系统,是微软公司的产品。Access 2003数据库的扩展名是.mdb,Access 2007后的数据库扩展名是 .accdb。一些网站为了数据库文件的安全,会将数据库文件扩展名改为其它非常规扩展名,如.asp,遇到这种情况只要将扩展名再改回来,用Access打开即可正常浏览、管理数据。
如果程序没有使用常见的文件命名规律时,就需要根据文件的英文名称或者查看文件内容,来猜测分析配置文件,后台地址,数据库信息等。在实验中注意专业英文单词的积累,既可以解决当前的问题,也可以为以后进阶为中级、高级工程师打下良好的基础。
接下来再了解一下CMS网站的目录结构。虽然CMS种类很多,但结构和功能都差不多。熟悉CMS的目录结构,掌握一些常用功能,也很重要。熟悉以后,在某些情况下,常常能获得一些“意外”的办法。如果不熟悉,就只能误打误撞。
对于一个CMS来说,通常有以下目录(文件)。
-
安装目录(提供网站安装功能)
-
网站配置文件(网站配置信息,如数据库信息)
-
头文件目录(公用的库文件,被其它网页调用)
-
后台管理目录(管理员登录)
-
上传目录(用户上传图片、影音、附件等的目录)
-
Web编辑器目录(发表内容时,使用的图文编辑器)
-
模板目录(提供不同风格的界面效果)
根据以上的提示,分析一下ASPCMS的几个重要目录吧。将下载好的ASPCMS解压,其中upload目录是网站源代码目录,安装说明.txt提供了网站安装的一些信息,安装说明是必看的文件。
[admin_aspcms]:后台管理目录
[templates]:模板文件
[inc]:头文件目录
[upload]:用户上传目录
[config]:配置文件目录
[data]:数据库文件目录
知道了一级目录以后,再打开各个目录,熟悉一下二级目录,和一些关键的文件。比如网站配置文件,首页文件。例如,查看配置文件:config/AspCms_Config.asp,可以了解到CMS的运行时必需的一些信息和配置选项。

部署ASPCMS网站
将解压后的ASPCMS下的upload目录里的所有文件和目录,复制一份,粘贴放到D盘根目录下,以d:\web作为网站根目录。
找到ASPCMS的网站首页文件名为index.asp,在IIS站点的“默认文档”中添加“index.asp”。
在IIS管理器中,点击新建的网站Web,在右侧的“功能视图”中,选择并双击“ASP”,在“行为”模块中将“启用父路径”的False更改为True,然后点击右侧“应用”使其生效。

点击IIS管理器左侧“应用程序池”,选中刚才新建的Web,点击右侧“高级设置”,将“启用32位应用程序”的False改为True,确定之后即完成Web服务器基础配置。

在物理上使用WEB机的外网IP访问网站,提示“操作必须使用一个可更新的查询”字样,需要将网站程序的Data目录的修改权限开放给用户组Users。

在网站后台发布新的内容时,有时还会包含图片,因此网站的上传目录,也需要有写入和修改权限。此外,ASPCMS的后台还有修改模板功能和修改网站配置文件功能,因此这两个目录也需要有能被修改的权限。有的管理员为了方便,会把整个网站根目录都加上 “修改”权限。本次实验环境中也“故意”这样做了处理,给Users组加了对Web根目录的修改权限。(后面进行Web漏洞测试的时候就会了解到这样做的危害)。

注意:Windows内置的用户组users包括了Authenticated Users和INTERACTIVE两种成员:
-
Authenticated users(经鉴定的用户):包括在计算机上或活动目录中的所有通过身份验证的账户。 其身份已得到计算机验证的所有用户。身份验证的用户不包括Guest(来宾)用户。 所有经过Windows验证程序登录的用户均属于此组。 -
INTERACTIVE(交互式登录):当用户在凭据输入对话框中输入凭据或用户将智能卡插入智能卡读卡器或用户与生物识别设备交互时,登录过程将开始。 用户可以使用本地用户帐户或域帐户登录到计算机来执行交互式登录。 -
任何有权访问桌面或控制台的用户都被视为“交互式”用户。能够通过各种方式登录计算机的任何用户都被视为“经过身份验证”的用户。因此,如果希望通过计算机进行身份验证并看到桌面,那么需要既是INTERACTIVE用户,也是Authenticated users用户。
IIS 7.5对于匿名访问使用IUSR用户,而IIS应用程序池默认的账户为IIS APPPOOL\{app pool name}。Windows内置的Users组和IIS用户的从属关系比较复杂,这里不具体介绍,统一使用Users组代替。有兴趣的同学在网上搜索“IIS7.5安全配置研究”,这篇文章介绍了这几者之间的关系。需要注意的是,这篇文章虽然便于理解,但一些说法并不严谨。
配置完成后,查看ASPCMS下的安装说明文件,得知以下信息:
后台地址:/admin_aspcms/index.asp
后台账户:admin
后台密码:123456
登录后台时,选择“全功能版”,登录后修改管理员密码为hello123(模拟情景:管理员修改了默认的简单密码)。
然后发表一条包含文字和图片的新闻,测试网站是否能正常发表信息。IIS默认上传文件大小有限制,需要找一个小的图片进行上传。上传后,会显示图片的地址(相对路径),然后在编辑器里插入图片,将图片的地址粘贴到“源文件”下面的文本框处。

添加完成后,在网站前台找到刚才添加的文章,检查添加的内容是否能正常显示。

建立WEB机初始快照
WEB机实验环境搭建完成后,建立一个快照,起名为“WEB部署”。一是方便后续实验有问题时,可以方便地随时还原;二是后续的实验有时需要从此处的快照进行不同实验路径的验证。
域控制器环境搭建
安装域服务之前,请再次确认以下信息:
-
当前的计算机名为DC
-
服务器IP地址是否设置为静态IP
-
将DNS设置为当前DC域服务器的IP
在服务器的“服务器管理器”窗口中,点击“添加角色”,在弹出的“添加角色向导”中,请依据以下步骤,安装Active Directory域服务。
在“选择服务器角色”窗口中,勾选“Active Directory 域服务”,勾选后在弹出的窗口中点击“添加必需的功能”,而后点击“下一步”按钮直至安装完成。
运行Dcpromo.exe,使用Active Directory域服务安装向导新建域,在“下一步”至“选择某一部署配置”中,选择“在新林中新建域”。

下一步是“命名林根域”,在这里需要输入域名sun.com,然后下一步,系统会自动检测是否有冲突。

接着是“设置林功能级别”,选择林功能级别为当前系统对应的版本Windows Server 2008 R2。
再下一步是“其他域控制器选项”,在这里如果当前服务器没有安装DNS服务器,在勾选“DNS服务器”后下一步会自动安装DNS服务器,此时会提示无法创建该DNS服务器的委派,这里点击“是”按钮继续即可。

数据库、日志文件和SYSVOL的文件夹位置的三个路径均不做修改,直接下一步即可。在“目录服务还原模式的Administrator密码”中设置一个强密码,例如:p@ssw0rd。下一步后会展示前几步的选择,检查无误后即可下一步。最后需要等待数分钟,勾选下方的“完成后重新启动”,然后等待系统完成后重启服务器。

重启完成后,会要求更改密码,为了统一实验内容,可以先更改成其他的密码,然后使用CMD命令把DC域主机的管理员密码更改回p@ssw0rd,更改密码命令为:net user administrator p@ssw0rd。
在系统属性里面也可以看到信息更新,加入了域。

创建域用户leo
点击开始菜单,在弹出的菜单中找到“管理工具”→“Active Directory用户和计算机”。展开“sun.com”,右键“Users”→“新建”→“用户”。

在“新建对象 – 用户”窗口中,填写相关信息,可以只填写“用户登录名”和“姓名”,填写完成后下一步。

设置密码,例如:1234Abc,然后只勾选“密码永不过期”(为方便做实验的权宜做法)。之后就下一步至完成leo用户的创建。
使WEB机加入域
启动WEB机并加入sun.com域。首先确认是否为静态IP地址,将“本地连接2”的DNS指向到DC域服务器的IP地址10.10.10.11。然后打开“系统属性”,在“计算机名/域更改”窗口中,“隶属于”分组框内选择“域”,并输入sun.com,然后点击“确定”按钮后会提示输入该域的账户的名称和密码,这里就需要输入创建的域用户账号leo的账号密码以登录。用户名:leo,密码:1234Abc。


如果域名输入正确且leo用户和密码输入正确,就会提示“欢迎加入sun.com域”。然后根据提示重启WEB机。

重启后,登录界面已经可以看见加入域了,登录到域的方法:
-
标准方法:输入“用户名@域名”和密码,登录。
-
简便方法(兼容win2000):输入“域名\用户名”和密码,登录
登录后查看计算机信息加入成功。使用leo用户名与密码登录WEB机并执行命令whoami,回显结果为sun\leo,表明成功使用leo用户登录了sun.com域。接下来的实验中leo用户可以注销,但不能重启web机。如果需要重启的话,leo用户必须再登录一次,这样后面的实验中才能抓到leo用户的明文密码。


图 1.26
回到DC机中,从管理工具中找到“Active Directory 用户和计算机”然后展开“sun.com”→“Computers”。在这里就可以看到已经加入域的WEB机了。

建立DC机初始快照
DC机实验环境搭建完成后,建立一个快照,起名为“DC部署”。后续实验有问题或需要重做时,可以方便的随时还原。

浙公网安备 33010602011771号