【Vulnhub靶机渗透测试】之DC-1 (SUID提权)

文章目录

  • Vulnhub靶机渗透测试之DC-1
      • 1. 信息收集
      • 2. 漏洞利用
      • 3. 提权

Vulnhub靶机渗透测试之DC-1


  • 环境搭建
  1. 靶机镜像下载地址:https://www.vulnhub.com/entry/dc-1,292/;

  2. 需要将靶机和kali攻击机放在同一个局域网里;

  3. kali的IP地址:192.168.40.131。

1. 信息收集

  1. 使用 nmap 扫描 192.168.40.0/24 网段存活主机

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第1张图片

简单分析可知,靶机ip为 192.168.40.141

  1. web指纹识别

在这里插入图片描述

发现该网站是drupal,属于cms系统之一

  1. 使用 nmap 扫描常用端口

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第2张图片

发现开放22、80端口;浏览器访问80端口:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第3张图片

很明显,我们看到网站的cms,可以直接在网上搜索这个cms的漏洞利用方式

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第4张图片

2. 漏洞利用

我们使用metasploit对漏洞进行利用。

  1. 启动metasploit,搜索drupal模块。

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第5张图片

经测试可以采用2018-03-28漏洞:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第6张图片

  1. 配置好参数,开始攻击。

set payload:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第7张图片
在这里插入图片描述

设置RHOSTS和LHOST:

在这里插入图片描述

开始攻击:成功建立会话

在这里插入图片描述

查看网站目录结构,发现flag1:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第8张图片

查看flag1.txt,给我们的提示信息:需要一个config file

在这里插入图片描述

  1. 进入系统下的shell

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第9张图片

很显然这个shell虽然已经进入,但是这里并不是交互的shell,所以我们要进入交互式的shell,使用python反弹一个交互式shell:

在这里插入图片描述

  1. 既然是一个web应用,我们可以查找一下数据库的相关配置

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第10张图片

发现flag2,数据库名、数据库用户/密码;

登录mysql数据库,查看表找到用户表获取密码:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第11张图片

show tables:查看数据库的表

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第12张图片

查看users表:select * from users\G;

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第13张图片

发现两个用户,但密码都是加密的且不好破解,所以我们选择使用一个我们已知的密文把它覆盖掉;用php下的一个脚本将123456加密:

在这里插入图片描述
修改admin的密码:

在这里插入图片描述

登录网站:

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第14张图片
【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第15张图片

在Dashboard中发现flag3给的提示:特殊的PERMS将帮助找到passwd

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第16张图片

  1. 查看etc/passwd文件

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第17张图片

发现flag4,该服务器开放了22端口,我们可以使用九头蛇工具爆破密码:

hydra -l flag4 -P /usr/share/john/password.lst 192.168.40.141 ssh -vV -f -o hydra.ssh

爆破结果:

在这里插入图片描述

使用ssh连接,发现最后一个flag的提示信息:in root

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第18张图片

进入root目录,发现权限不够,需要提权

在这里插入图片描述

3. 提权

首先想到使用suid提权找到一个属于root的有s权限的文件。

SUID(Set User ID),SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。

常见的可用于SUID提权的文件有:

find、bash、nmap、vim、more、less、nano、cp 

当没有s权限时可以使用:chmod u+s 命令路径,增加权限
  1. 查找哪些命令具备SUID标识

相关命令:

find / -perm -4000 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第19张图片

  1. 我们随便找一个命令看它是否拥有s权限
    比如比较熟悉的find命令,先查看其信息:

在这里插入图片描述
发现其确实是root用户权限的SUID的文件find命令拥有s权限。

  1. 再利用find命令随便查找一个正确的文件(夹)路径,后面加上 -exec shell命令 \;
flag4@DC-1:/bin$ /usr/bin/find bash -exec whoami \;
root
flag4@DC-1:/bin$ /usr/bin/find bash -exec ping 127.0.0.1 \;
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.279 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.016 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.050 ms
...

发现确实可以以root权限运行。

  1. 提权 /bin/bash 或者 /bin/sh

【Vulnhub靶机渗透测试】之DC-1 (SUID提权)_第20张图片

成功提权!拿到最后一个falg!

你可能感兴趣的:(#,靶场测试,渗透测试)