TryHackMe-Madeye‘s Castle(boot2root)
Madeye’s Castle
一个boot2root盒子,由Runcode.ninja团队在CuCTF中使用的盒子修改而来
祝你冲进麦德耶的城堡玩得开心!在这个房间里,你需要完全枚举系统,站稳脚跟,然后转向几个不同的用户。
端口扫描
循例nmap
SMB枚举
smbmap看一眼
smbclient进sambashare
spellnames可能是一些用户名
Web枚举
进80,一个默认页面
上gobuster
无法查看目录,继续扫一下
扫到个email/
这里披露了一个域名
hogwarts-castle.thm
根据刚刚页面提供的信息,需要将s改成z
hogwartz-castle.thm
将其添加进hosts
访问, 一个登录页面
这里存在sql注入, 不过是sqlite
爆表
爆字段
查看notes有一条有用的信息
我们知道了用户名,密码告诉我们的应该是hashcat的rule
我们需要通过hashcat的rule生成密码字典,在开头smb枚举的时候告诉似乎在告诉我们密码可能无法使用rockyou爆出来,并且同时给出了一个list
所以我们可以尝试使用best64对那个list生成新字典
这里选择直接离线爆从数据库得到的密码hash再直接登录ssh,因为在线爆ssh太慢了
秒出
使用这组凭据登录ssh,得到flag1
横向移动
查看sudo -l
跟过去,执行/usr/bin/pico
竟然是nano
sudo进到nano,然后ctrl^R + ctrl^x, 输入以下命令并回车
成功移动到hermonine, user flag2
权限提升
查找suid
使用ltrace跟踪到调用srand和rand
这里又有个问题,一旦我们快速运行程序,它所使用的种子将不会改变,即得出一个一样的随机数
利用这一点写一个bash一句话
echo 1 | /srv/time-turner/swagger | grep -E '[0-9]*' -o | /srv/time-turner/swagger
使用strings查看的时候发现调用了uname
那好办了,这还是suid,我们还是使用老方法,直接改环境变量调用恶意uname
利用刚刚的方法绕过随机数判断
getroot