Weasel Walkthrough
Weasel Walkthrough
Box Info
官网在这里:Weasel
I think the data science team has been a bit fast and loose with their project resources.
The Hack
对目标 IP 进行端口发现和对开放的端口进行应用版本发现
nmap -sC -sV 10.10.236.197 --min-rate 250 |
发现 22 端口 SSH 服务,135 端口 RPC 服务,139 和 445 端口 SMB 服务,3389 端口远程桌面服务和 8888 端口 HTTP 服务
先来看开放在 139/445 端口的 SMB 服务,以下命令枚举失败
nmap -p139,445 --script=smb-enum-* 10.10.236.197 |
使用 smbclient 匿名登陆
smbclient -N -L //10.10.236.197 |
发现 datasci-team 共享目录
远程登陆 datasci-team 共享目录
smbclient -N //10.10.236.197/datasci-team |
枚举其中文件
将文件保存至本地,发现泄露了 token 文件
以及在 requirements.txt 中泄露两个名字
再来看看 RPC 服务,使用 rpcclient 远程登陆
rpcclient -U "" -N 10.10.33.243 |
似乎是权限不够没什么信息都没枚举出来,全是 ACCESS_DENIED
最后来看 8888 端口,先对 WEB 目录进行枚举
dirsearch -u http://10.10.33.243:8888/ |
发现泄露 /robots.txt ,也泄露登陆页面
访问 WEB 主页面,发现需要 token 登陆
使用 SMB 共享中泄露的 token 成功登陆,发现是 SMB 文件共享页面
在 New 处发现可以新增终端
新增终端,看看该用户能执行什么 sudo 命令
sudo -l |
发现可以不需要密码执行 /home/dev-datasci/.local/bin/jupyter
但是并没有 /home/dev-datasci/.local/bin/jupyter 文件,且 /home/dev-datasci/.local/bin 是权限 777 目录
直接将 /bin/bash 命令复制进 /home/dev-datasci/.local/bin/jupyter 文件
cp /bin/bash /home/dev-datasci/.local/bin/jupyter |
直接 sudo 执行该文件,获得 root 权限
很可惜,里面并没有 root.txt
猜测我们所在的 WSL 中,主作系统是 Windows,目前我们使用的是安装在 WSL 中的 Linux
如果以前使用过 WSL,则内部文件系统将装载在 WSL Linux 的 /mnt 文件夹中,在 /mnt 中发现空白的 c 文件夹,将 Windows 的 C:
盘挂载到 Linux 的 /mnt/c
目录
mount -t drvfs 'c:' /mnt/c |
进入 C 盘,开始 Users 中发现可访问的 Administrator 目录
在 Administrator 目录中发现 可访问的 Desktop 目录
进入 Dessktop 目录,获得 root.txt
在工作目录发现 dev-datasci-lowpriv_id_ed25519
,ed25519 是一种基于椭圆曲线的数字签名算法,常用于 SSH 密钥或加密场景,结合目标主机开放 SSH 服务,那就不难猜测这个就是突破边界的方式
由于 SSH 私钥的名称包含 id
字样,猜测 id 前面的 dev-datasci-lowpriv 为 SSH 登陆的用户名
将私钥保存至本机,防止报错,将权限更改为 400
登陆 ssh
ssh -i ssh dev-datasci-lowpriv@10.10.57.233 |
成功远程登陆
切换至 powershell ,列举当前目录
由于开放 3389 远程桌面协议,先考虑进入 Desktop ,在其中获得 user.txt 内容