THM-Kenobi(克诺比)

侦查

  1. 用nmap扫描机器,打开了多少个端口?

枚举共享服务samba

Samba 是用于LinuxUnix的标准 Windows 互操作程序套件。它允许最终用户访问和使用公司内联网或互联网上的文件、打印机和其他常用共享资源。它通常被称为网络文件系统

Samba 基于服务器消息块 (SMB) 的通用客户端/服务器协议。SMB 仅针对 Windows 开发,如果没有 Samba,其他计算机平台将与 Windows 机器隔离,即使它们是同一网络的一部分

使用 nmap 我们可以为 SMB 共享枚举一台机器。

Nmap 能够自动运行各种网络任务。有一个枚举股票的脚本!

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

SMB 有两个端口,445139

可以看的枚举出三个共享的目录

在大多数Linux发行版上,smbclient 已经安装,可以使用该命令连接samba共享服务
smbclient //MACHINE_IP/anonymous

不输入用户名和密码,默认匿名登录,可以看到有一个log.txt在共享服务,可以使用get 文件名将该文件下载

可以递归下载SMB共享,不需要提供用户名密码

smbget -R smb:// MACHINE_IP /anonymous

打开共享上的文件。发现了一些有趣的东西:

  • 为用户生成SSH密钥时为 Kenobi 生成的信息
  • 有关 ProFTPD 服务器的信息。

您之前的 nmap 端口扫描将显示运行服务 rpcbind 的端口 111。这只是一个将远程过程调用 (RPC) 程序编号转换为通用地址的服务器。当一个 RPC 服务启动时,它告诉 rpcbind 它正在监听的地址和它准备服务的 RPC 程序号

在我们的例子中,端口 111 用于访问网络文件系统(NFS)。让我们使用 nmap 来枚举它

nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount MACHINE_IP

可以看到枚举出/var目录,我们可以使用mount将该目录挂载到本机目录

使用 ProFtpd 获得初始访问权限

ProFtpd 是一个免费的开源FTP服务器,兼容 UnixWindows 系统。它在过去的软件版本中很容易受到攻击

可以使用netcat或者nmap -sV -p21扫描获取ProFtpd的版本号

我们可以使用searchsploit或者explot-db.com来搜索ProFtpd是否存在高危漏洞

可以看到1.3.5版本存在四个漏洞利用代码

其中都是利用mod_copy模块的漏洞

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

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

我们现在要 使用 SITE CPFRSITE CPTO 命令复制 Kenobi 的私钥

上述在扫描NFS服务的时候,我们知道了/var目录是可以挂载的,所以才会将Kenobi的私钥移动到 /var/tmp 目录

让我们将 /var/tmp 目录挂载到我们的机器上

mkdir mnt
mount 10.10.229.64:/var mnt
ls -la mnt

我们现在在部署的机器上有一个网络挂载!我们可以去 /var/tmp 并获取私钥,然后登录到 Kenobi 的帐户

什么是 Kenobi 的用户标志 (/home/kenobi/user.txt)

使用路径变量操作进行特权升级

SUID 位可能很危险,某些二进制文件(例如 passwd)需要以提升的权限运行(因为它会在系统上重置您的密码),但是其他具有 SUID 位的自定义文件可能会导致各种问题。

要在系统中搜索这些类型的文件,请运行以下命令:find / -perm -u=s -type f 2>/dev/null

其中/usr/bin/menu看起来不太寻常,运行查看:

猜测应该是使用系统命令实现的,使用strings分析文件内容

可以看到实际上执行的是上面的三条命令curl、uname、ifconfig,由于上述命令不是完成的运行路径,我们可以更改系统默认的PATH目录

将当前目录更改为环境变量的目录,然后替换curl、uname、ifconfig这三个命令的内容为/bin/bash,由于该程序由root用户运行,所以我们获得root权限

可能该机器没有安装或者/bin/bash有一些问题,我失败了

还是/bin/sh比较通用,成功获取root权限

什么是根标志 (/root/root.txt)

posted @ 2023-03-28 09:10  Junglezt  阅读(94)  评论(0编辑  收藏  举报