简介
这是一台CTF类的靶机,比较考验脑洞,我个人不大喜欢,能想到作者的设计的点会觉得简单,想不到就觉得难。该靶机通过网页源码获取登录用户名和密码,然后利用Apache解析漏洞获取服务器权限,可利用脏牛直接提升至root用户权限,也可利用计划任务先获取admin用户权限,然后解密密文获得fristigod用户登录密码,最后利用SUID程序提升至root权限。 靶机下载地址:https://www.vulnhub.com/entry/fristileaks-13,133/
信息收集
使用nmap --min-rate 10000 -p- --script=vuln 192.168.142.137扫描目标主机,发现开启80端口,如图: 访问80端口,如图: 看到这句话我就知道这个靶机不简单。查看robots.txt文件,如图: 扫描发现服务器运行着Apache/2.2.15 (CentOS) DAV/2 PHP/5.3.3,如图: 搜索Apache 2.2.15相关漏洞未发现有用信息,然后扫描目录,robots.txt中的目录全都指向一张图片,如图: 然后开始扫目录,但是字典都跑完了啥都没扫到,提取网页单词扫描同样无果。之后搜索其它WriteUp,结果让人很无语,目录竟是fristi ,如图:
漏洞发现
测试登录框不存在SQL注入漏洞,然后字典枚举也未获得用户名和密码。
源码信息泄露
然后查看网页源码发现注释,疑似开发者用户名,如图: 还有一段被注释的Base64编码的数据,如图: 根据作者前边设计的目录名这一点猜测,此处的线索很重要。解码发现为PNG,然后寻找在线Base64转图片的网站:https://tool.jisuapi.com/base642pic.html ,解码之后为:keKkeKKeKKeKkEkkEk,如图: 尝试使用该图片作为密码,使用开发者账户登录成功,如图:
Apache解析漏洞
有图片上传功能,利用换行绕过上传,如图: 访问上传后的文件成功解析php代码,如图: 后来发现此处是解析漏洞,而不是上传绕过。
漏洞利用
直接上传冰蝎木马,如图: 使用冰蝎连接,获得apache权限,如图:
权限提升
内核提权
查看内核版本,如图: 使用勇敢牛牛(CVE-2016-5195)提权成功,如图:
但靶机作者原本的思路并不会如此简单吧,查看网站目录下notes.txt,如图: 查看checklogin.php文件,发现数据库用户名和密码:eezeepz/4ll3maal12# ,如图: 使用该密码登录用户未成功,查看/etc/passwd文件发现4个普通用户,如图:
利用计划任务
在/home/eezeepz/发现一些命令和notes.txt,如图: 根据提示创建/tmp/runthis文件,写入命令尝试反弹shell,如图: 成功获得admin用户shell权限,如图: 在目录下发现一些python文件和txt文件,如图:
获取登录密码
查看cryptpass.py内容,如图: 该脚本先将字符串进行Base64编码,然后倒序排列,再进行rot13编码,然后编写解码脚本如下:
import base64,codecs,sys
def decodeString(str):
base64Str=codecs.decode(str,'rot13')
return base64.b64decode(base64Str[::-1])
print(decodeString(sys.argv[1]))
解码加密的信息,如图: 使用这两个字符串作为密码进行登录,fristigod用户成功登录,如图:
SUID提权
该用户可以使用sudo命令运行/var/fristigod/.secret_admin_stuff/doCom ,该程序为特权程序,如图: 但不知道如何使用该程序提取,根据其它WriteUp提示查看/var/fristigod/.bash_history ,如图: 使用sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom bash 提升至root权限,如图:
总结
该靶机容易卡在立足点和最后一步提权,没有足够的脑洞就猜不到作者设计的目录,然后在最后一步提权可能会想不到通过查看历史命令获取线索。
|