CISP-PTE考试满分100分,包括20道选择题(每题1分),5道操作题(每个key10分),1道综合题(30分),本篇文章对其中的操作题进行实践操作
Step 1:解压靶机环境压缩包
Step 2:使用Vmware Workstation打开环境
登录密码:admin123
成功登录:
首先进行端口扫描确定开启那些服务:
之后发现一个文件上传与下载系统:
使用御剑扫描目录:
访问http://192.168.59.139:27689/robots.txt获取信息,之后查看到一个affix目录
之后访问http://192.168.59.139:27689/upfile/affix/提示列目录失败
之后访问http://192.168.59.139:27689/admin/file_down.aspx,发现缺少参数file
之后构造参数file进行测试,从中可以获取当前web网络路径信息
之后尝试使用../向上回溯一层目录:
发现可以成功回溯一层目录,之后通过多次fuzz之后最终回溯两层目录到web根目录并下载web.config
之后从web.config中发现数据库账号密码信息:
之后使用上面发现的数据库连接信息连接数据库
之后获取Web账号密码:admin/asdadwn_d2112
之后使用之前获取的账号密码登录WEB系统
之后我们成功获取到了第一个Key:4k3s9m3d
之后通过文件上传功能上传Webshell
很遗憾的发现不允许上传,看来是有限制:
之后发现管理文件模块有一处提示:"文件名过长会被系统截取包括系统时间在内的前32位字符作为文件名,请上传的文件名称不要过长,为您带来的不便,敬请谅解"
根据上面的提示以及实例我们可以将cisp-pte替换为我们新的webshell的名称,之后附加.aspx后缀进行上传:
之后连接webshell
之后在Web目录下找到Key2:
之后通过Webshell查看当前用户的权限发现是普通用户权限
之后对C盘下Administrator文件夹内容进行访问发现拒绝访问,需要权限提升
之后通过浏览web目录发现历史web.config
进一步获取sa的账号密码信息,不得不说这为我们权限提升提供了最大的助力:
之后使用Navicate进行连接
之后通过执行SQL语句来查看权限,可以看到已然是system权限了,而这也是因为SQLServer默认是以system权限运行的,外加上sa权限导致我们可以直接获取到system权限:
use master;
exec master..xp_cmdshell "whoami";
下面我们要做的就是关闭防火墙开RDP了,在这里为了执行系统命令我们首先开启XP_cmdshell:
use master;
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure;
之后关闭防火墙:
EXEC master.dbo.xp_cmdshell 'netsh firewall set opmode disable'
下一步自然而然就是开启RDP进行远程链接了,命令如下:
exec master.dbo.xp_cmdshell 'reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 0 /f'
为了实现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"
之后使用之前创建的账号进行远程链接操作:
之后我们在桌面成功获取到Key:
本篇文章以CISP-PTE靶机作为演示实例进行了渗透测试,其中尤为突出信息收集的重要性以及灵活运用MSSQL进行权限提升的技巧,综合来看是一个不错的实践性靶机