Tre1 walkthrought

前言

这个靶机Web部分设计得非常real,提权部分几步走实现提权,主要考的信息收集。总体来说不错得一个靶机。

https://www.vulnhub.com/entry/tre-1,483/

利用过程

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
2
3
4
5
6
7
8
DATE=`date '+%Y-%m-%d %H:%M:%S'`
echo "Service started at ${DATE}" | systemd-cat -p info

while :
do
echo "Checking...";
sleep 1;
done

一开始以为是在定时任务里用到这个命令,然而并没有,仔细找了找发现在/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 \;

# SUID

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×