Kenobi

Kenobi

信息收集

首先对其端口信息进行一个扫描。

image-20240910195241621

21 22 139 445 以及80端口开放。

其中samba服务是开启的。

nmap 有一个脚本是枚举samba共享的。

nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.25.79

image-20240910200754712

使用enum4linux 也能枚举samba服务。

比nmap那个更清晰。

image-20240910202710920

我们使用smbclient连接到远程samba服务共享。

然后经过测试发现,anonymous和IPC$ 是无密码的,然后print$ 无密码的话是登录不进去的,同时只有anonmous 在ls下有文件。

image-20240910204322770

递归下载文件。

smbget -R smb:// 10.10.25.79 /anonymous

我这个不知道为什么下载不了…

image-20240910210509539

shell

上面开启了21端口,我们试一下ftp登录。

image-20240911214709282

发现ProFTPD的版本信息,去搜索一下对应的漏洞信息。

image-20240911215324642

有4个可以利用的。

漏洞利用思路:

大体上就是利用漏洞将用户的ssh密钥文件移动到我们可以看见的挂载的地方,因为它是一个smb服务,创建一个共享目录,将可看见的挂载的地方挂载到共享目录去,然后我们就能在攻击机上面得到该ssh私钥文件,利用该文件进行ssh登录。

下面是详细的过程:

mod_copy 模块实现了SITE CPFRSITE CPTO命令,这些命令可用于将文件/目录从服务器上的一个位置复制到另一个位置。任何未经身份验证的客户端都可以利用这些命令将文件从 文件系统的任何部分复制到选定的目标。

我们知道 FTP 服务以 Kenobi 用户身份运行(从共享上的文件),并且为该用户生成了一个 ssh 密钥。

我们现在将 使用 SITE CPFR 和 SITE CPTO 命令复制 Kenobi 的私钥。

我们知道 /var 目录是我们可以看见的挂载 因此,我们现在将 Kenobi 的私钥移至 /var/tmp 目录。

image-20240911222936418

image-20240911223222649

现在/mnt/fsrm/tmp目录下存放着ssh的私钥,我们可以利用这个登录Kenobi用户。

记得需要修改id_rsa的权限 修改为600

image-20240911230802144

提权

然后下面就是尝试提权,sudo提权不太行,那就查看一下哪些具有suid位。

image-20240911231003129

这里利用的是/usr/bin/menu

先运行一下这个程序

image-20240911231825571

选择1,这个功能就相当于curl,然后我们可以将/bin/sh 写入到curl中,并将curl设置成777权限,然后再将其添加到PATH中,当这个suid程序再次运行1时,就会触发这个curl。

通过:PATH 环境变量提权。

先来看一下$PATH里面有什么。

image-20240911232746587

有/tmp,可以将curl添加到/tmp中。

image-20240911232219724

提权成功。


Kenobi
http://example.com/2024/09/10/Kenobi/
作者
FSRM
发布于
2024年9月10日
更新于
2024年9月11日
许可协议