Hack The Box - Starting Point Tier 0

前言

因为之前从 THM 上学了些基础知识,入门 THB 的这些 very easy 的 lab 还是挺简单的,没啥坎。

不过像默认端口,nmap 指令的具体功能啥的因为目前用的不算多,还不是很熟练,经常忘掉,之前学的时候也没总结,这次就总结一下吧。

Meow

基础操作,HTB “最难”。

nmap 扫描后发现端口 23 为开放状态,是 telnet 服务的默认端口,直接 telnet 连接,然后发现 root 用户为空密码,直接登录。

Fawn

关于 FTP。

FTP 的默认端口为 21。

FTP 可以通过 anonymous 未定义用户进行登录,密码任意。

Dancing

关于 SMB。

SMB 的默认端口为 445。

通过 smbclient 进行连接,类似于 ftp 的感觉。

Redeemer

有时候我们可能会遇到这样的提示:

1
2
Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-08 19:34 CST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn

让我们使用 -Pn 参数进行扫描,-Pn 是指跳过主机发现。

什么意思呢?通常来讲,我们使用 nmap 扫描时,nmap 对于每一个端口会先 ping 一下来确认端口存活,如果端口存活,那么才会进行扫描,我们可以认为这种操作是为了提高效率,但是对于每一个端口都先 ping 一下,很容易就被发现了,毕竟没有谁会闲的没事干把你服务器的所有端口 ping 一遍。 -Pn 就是让我们跳过了 ping 的这一步存活检验,不管端口的死活直接开扫。显然这样我们的扫描就更隐蔽了。

所以当我们关于 ping 的操作出现问题时,或者被防火墙等拦截时,就可以直接用 -Pn 硬扫。

我刚扫了半天才把结果扫出来,用了各种扫描方式,我一开始硬扫,巨慢无比,然后我就去看 hint,hint 让我用 -T5 加速,然后被拦截了,我又加上了 -Pn 来强扫,结果扫了 15min 啥也没扫出来。

然而刚才我又用极其普通的 nmap -sV -p- 扫,只用了 141.25s 就扫出来了,哪怕是用 GPT 给的优化版 nmap -sS -Pn -T4 -p- --min-rate=1000 都需要 314.89s,看来扫描不一定是越快越好,有时候慢反而是快,还是先默认扫一遍,后续在根据具体情况调整方案比较合适。

头一次卡在扫描这么久,可能以后还会有更多机会卡在扫描这一步。

1
2
3
4
5
6
7
8
9
10
# nmap -sV -p- 10.129.5.49
Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-08 20:20 CST
Nmap scan report for 10.129.5.49
Host is up (1.6s latency).
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE VERSION
6379/tcp open redis Redis key-value store 5.0.7

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 141.25 seconds

根据扫描结果我们得知,在 6379 端口上运行着 redis 服务。我们直接用 redis-cli 进去就可以了,不过 redis-cli -h <hostname> 居然是这样用,我第一次察觉到 -h 除了 help 还在某些命令里有这个作用。

连接进去之后就跟之前学过的 sql 差不多感觉了,我们先 info 查看一下数据库的信息:

1
2
# Keyspace
db0:keys=4,expires=0,avg_ttl=0

在最后的 Keyspace 里我们可以看到 db0 中有 4 个 key,我们直接 SELECT 0 然后 KEYS * 输出所有 key,其中有一个叫 flag 的,TYPE flag 发现是 string 类型,用 GET flag 得到字符串的值即可。