那是一个周五,可爱的小学妹发来了一条信息。她跟我说发现了一个靶场,靶场是一个什么叫州弟学安全的搞的。但是她进了后台不会了,让我帮帮她,然后写一个WP,说给我看黑丝,事成还有别的看:
这是一个周五,正好没啥事干,发现群里有条消息,咦,是个靶场来的,看他的介绍来看似乎有点意思。
为了防止涌入太多人我还是码一下,后面大家看到的没打码地址,是我在本地改了host,懒得一直打码了:
那么那么那么,话不多说直接开干。
既然是个仿真靶机,而且还会重置,那么八成是个Docker环境,一般扫端口没什么意义的。所以我们直接先扫目录,看是否能获取到一些敏感文件。打开页面如下,有个登录功能:
不管他,直接先扫描目录。扫描后得到这些内容,我们逐个访问下:
settings.php与uoload.php在访问后,均跳转至登录页。没有直接报404,那么推测需要登录后台才能访问:
database.sql可以直接下载,里面有两个用户的密文,密码是用的php的password_hash()函数进行的加密,这个加密是不可逆的,只能进行碰撞:
用cmd5查了一下这串密文,我焯,是有记录的:
但是……嘻嘻,我没有会员,我只能用hashcat爆破了。这里咱们最好是可以获取到密文类型,这样用hashcat指定密文类型爆破,速度会更快:
https://www.tunnelsup.com/hash-analyzer/
啊?居然没识别到,不应该啊,毕竟下面都有:
无所谓哈,其实我知道这是什么类型,在hashcat wiki搜一下:
https://hashcat.net/wiki/doku.php?id=example%20hashes
那么编号是3200,将密文保存到txt,这是我用的字典:
https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
hashcat指定密文类型、密文文件以及字典文件,开爆:
大概,爆了几分钟的样子,已经出来了:
通过爆破出来的密文,成功登录后台,但是没什么功能:
这个发布文章也是,没有利用点,目前通篇无SQL注入:
还记得我们之前扫描到的upload与settings吗?尝试访问一下:
还是一样的,重定向到登录页。那说明需要越权,看下Cookie里面有没有东西,没有的话,我们就只能抓包再看看参数有没有点可以尝试了:
Auth里面有一串base64编码后的内容,解码一下看看:
我好像已经知道了,我们把它改成admin重新base64编码然后替换Auth的值:
重新访问upload.php,直接舒服了捏:
我们尝试上传一个包含php代码的png文件,然后bp拦截数据包,重新改回php后缀,看看能不能直接上去:
啊?图片文件不能包含PHP代码:
这个应该不难,一般情况下,php的常见写法是这样的:
其实php有好几种写法,这里应该是检测了php常规写法的格式:
我这里用的长标签来尝试,直接传:
OK上去了,舒服呀:
没有直接返回路径,查看源代码,发现了提示:
根据他这个提示,我原本以为格式应该是这样的:
这里我弄了大半个小时没出来,我终于忍不住了:
你自己看看这是一个意思吗?那么应该是这样的:
我现在要传的文件,是61字节:
不说了,直接上传,然后基于路径提示进行md5加密:
取密文前10位,然后拼接到日期后面进行访问:
接下来,把代码内容换成一句话木马再次上传:
连接马子,成功成功,没毛病:
马子已经连上了,不过是www权限:
通过搜索发现了flag,但是没权限读取:
那就是要提权了,可以看看内核版本,搜一下有没有漏洞。我搜了,内核是没有洞的,那么我们可以搜索一下,看看有没有特权模式的文件,用特权文件来提权:
find / -perm -4000 -type f -exec ls -l {} ;
上面这些带S的文件,都具有SUID特权,且文件所有者为root用户,那么大概率可以用来提权到root权限:
这里有一个注意点,执行/bin/bash并返回结果,需要用交互式shell才能执行。
而目前我们使用的哥斯拉提供的命令执行,只是一个单命令执行的模式,就是你执行一次命令,他返回一次结果,所以目前在哥斯拉中是执行不了/bin/bash的:
但是,可以利用哥斯拉的RealCmd开启伪交互式Shell:
然后,在本机使用netccat连接,即可获取伪交互式shell:
至此,下机!感谢师傅的这个环境,还算是比较贴近真是系统的,因为这些漏洞,我基本都遇见过。
原文始发于微信公众号(犀利猪安全):某师傅造的仿真环境,从GetShell到提权root
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论