pwbhub之名字还在起《迷writeup》

0X00.前言
前几期的pwnhub就听队友说是一些实战案例的改编,很接近真实环境,可以收获一些实战的技巧,于是我就带着学习的心态跟上团队大牛的脚步了。

0x01.wp
打开题目连接真的是感觉迷...就给一个 ip 和一个默认的 apache 界面,不过通常一些站点入手点也差不多这样的。看到这里安照常规思路就是站点的信息收集,于是拿起自己的轮子开始扫目录和端口,通过目录扫描发现了 README.md 文件,打开看到 ssh proxy@54.223.142.7,这也算一个tips吧,端口扫描发现还开了80 和 22 端口,访问80还是默认界面,看到这里暂时没有其他思路了,就打算从22端口入手,试着爆了爆 ssh 弱口令,大力出奇迹,成功获得弱口令一枚。

拿到ssh弱口令第一时间想到跑去登录,结果发现连接拒绝。。猜想可能用户设置为nologin。看到用户名为proxy,proxy为代理的意思,ssh代理好像不需要登入console也可以,于是就试了试,在lemon的github中找到一个姿势:https://github.com/l3m0n/pentest_study
利用ssh实现socket代理。在本地执行如下命令:

也就是利用ssh建立一个proxy主机到本地的隧道。本地验证隧道建立成功:

因为我在windows下的,就可以直接用proxifier将ssh的socket代理转成全局代理,这样我所有流量都相当于proxy@54.223.142.7主机发出的了,linux可以用proxychains。

设置完成,可以看到全局代理成功了,我的出口ip已经是54.223.142.7了。

到了这一步又卡住了,进了内网但是又没有内网的任何网段及ip信息,那只能从本机入手了,猜想也许有一些外网不能访问的服务,还是先扫描了下端口,发现除了原来的端口多了一个9000端口。

看到这个端口第一时间肯定想到fast_cgi,以前收藏了一个关于fast_cgi的利用方法:
http://blog.tianya.cn/post-4403657-48088201-1.shtml
利用工具在lijiejie的博客上找到了:
http://www.lijiejie.com/fastcgi-read-file-vulnerability-scan-py/
尝试直接读取文件失败,仔细读了文章后发现原因是php 5.3.3以后默认状态下只允许执行扩展名为".php"的文件,那么就需要找到一个存在的php文件进行利用,网站根目录下通过目录扫描可以确定没有常见的php文件,就算有也不是随便可以猜到的常见文件。。。那么就只有从系统里默认存在的php文件入手。于是就在本地的ubuntu环境下找了找所有的php文件.

find /  -name *.php

经过多次尝试最终找到一个存在文件,成功拿到flag。

0x02.总结
这确实是一道偏向实战的ctf题目,整个过程虽然不复杂,但也很好的体现了一次渗透的基本流程。由于fastcgi_exp编译好的只有windows版的,给出的源码是go语言写的,在linux运行需要先编译,但是队友在linux下装go语言的环境失败了,我在windows下不存在这个问题,直接用编译好的exe文件就行。不过队友还有另一种思路,在windows下先抓取exp运行的数据包,由于exp的数据包里只有exp的内容,那么抓取下来后我们可以在linux下通过nc将包发给目标主机的对应端口,这样也间接完成exp的攻击。

proxychains nc 127.0.0.1 9000 < 数据包文件

最后不得不安利一波最近常用到的一款工具pentestbox。Pentest Box是一款Windows平台下预配置的便携式开源渗透测试环境,而它也是著名黑客Kapustkiy常用的工具之一,个人使用感受确实不错,在windows下可以模拟bash环境,许多liunx下能做的事基本都能做,还可以自定许多插件工具,真心很不错的的一款工具。

1 thought on “pwbhub之名字还在起《迷writeup》

发表评论

电子邮件地址不会被公开。 必填项已用*标注