📜  Symfonos2 VulnHub 演练

📅  最后修改于: 2022-05-13 01:57:03.800000             🧑  作者: Mango

Symfonos2 VulnHub 演练

CTF检查标志问题发布在 vulunhub.com 上。 VulunHub是一个提供易受攻击的应用程序/机器以获得信息安全领域实践经验的平台。 Symfonos 2 是一台 vulunhub 上的机器。下载访问: https ://www.vulnhub.com/entry/symfonos-2,331/

以下是 Vulunhub Symfonos 2 演练的步骤:

我们需要做的第一步是进行一些情报收集。这包括足迹主机、服务器等。

发现阶段:

让我们首先扫描网络并识别同一网络中的主机 IP 地址。

输入以下命令:

netdiscover -i eth0 -r 10.0.2.0/16 
扫描和识别主机

枚举网络内的主机

所以看起来10.0.2.25是我们的目标 IP。下一步是使用 Nmap 工具扫描目标以检查是否有任何打开的端口并探测 VM 上正在运行的服务。

扫描阶段:

'将从快速 Nmap 扫描开始以查找开放端口

输入以下命令:

nmap -sV -sC -p- target_IP_address
nmap 扫描开放端口

枚举端口

访问 Nmap 备忘单以了解有关 nmap 的更多信息。

侦察阶段

1.网络侦察

  Nmap 扫描期间发现的有趣服务的完美组合!让我们首先访问受害者机器的默认页面 80 端口。

输入以下命令:

curl  [website address]

卷曲一个网址

如您所见,除了图像文件之外,这里没有发现任何可疑的东西。我通过STRINGS命令调查图像,但再次失败。

2. SMB侦察

Enum4linux是一个用于枚举WindowsLinux 系统上的 SMB 共享的工具。它基本上是 Samba 包中工具的包装,可以轻松快速地从与 SMB 相关的目标中提取信息。

输入以下命令:

enum4linux -a [target_IP_address]

enu4linux 枚举 SMB

感觉像似曾相识!有一个具有只读访问权限的匿名共享。是时候看看里面有什么了。

但首先,如果您想了解有关 enum4linux 开关的更多信息,请访问https://www.hackingarticles.in/a-little-guide-to-smb-enumeration/

输入以下命令:

smbclient  //[target_IP_address]/anonymous

smbclient 列表

我们有一个备份目录让我们来探索它。 (最初,我们只会看到备份文件)

smbclient 列表

我们有一个 .txt 文件,让我们通过get [file_name]将它复制到我们的工作目录。

注意: – 'get ' 命令用于从远程主机获取数据到我们当前的工作目录。

此外,在SMB 侦察期间,我们还获得了两个本地用户

侦察

本地用户枚举

探索 log.txt 文件可以发现,我可以从该文件中确定一些有趣的点:

  • /var/backups/shadow.bak中有/etc/shadow文件的备份,所以这可能是未来的目标
  • 匿名 SMB 共享指向/home/aeolus/share ,因此 aeolus 是有效的用户名

FTP侦察

注意:-有两种方法可以找到用户 aeolus 的密码。我们将看到两者。

由桑巴分享

1.首先通过以下方式访问FTP服务

FTP [target_IP_address] 

2.然后只需将/etc/shadow/var/backups/shadow.bak文件复制到 aeolus sharepoint。

ip 上的 ftp

FTP 漏洞利用

3.现在,再次连接到匿名 smbclient 以查看我们是否获得了文件。

smbclient 和 sambashare

在这里,您将获得密码“ sergioteamo”

由九头蛇

1.我们可以通过hydra找回密码,hydra也是kali的一个内置工具,用于提取不同端口的密码。

输入以下命令:

hydra -f -l [user_name] -P [password_file_path] [service_name]://[target_IP_address] -o [output_file]
九头蛇

发现密码

在此处了解有关hydra 开关的更多信息

SSH 侦察

现在,我们有一个用户aeolus和密码sergioteamo 。让我们尝试通过用户aeolus ssh 登录。

SSH侦察

SSH 登录

现在我尝试了各种命令来查看用户aeolus是否有任何权限但一无所获。用户 aeolus 无法运行 Sudo 命令,并且没有具有SUID 位的文件。因此,我们必须尝试其他方法来提升我们的权限。

注意:在网上搜索后,我发现了一个用于枚举操作系统信息的.sh脚本文件。从这里复制代码![file_name.sh]中。现在,使用chmod +x [file_name.sh]权限执行该文件,以避免远程主机上出现任何问题。

我们承认,这里有很多输出。但是有几件事很有趣:

  • 内核版本(4.9.0-9)
  • 系统上的其他用户 (Cronos)

但对我来说最突出的是其他正在监听的端口。我可以看到MySQL在端口3306上运行,并且在端口8080上运行了一些东西。在LinEnum.sh的输出中还有一个 apache 配置,所以我要先检查一下。

访问路径cd /etc/apache2/sites-enabled,我们发现另一个站点在端口 8080 上启用为 librenms.conf。

退出当前 ssh 登录会话并尝试通过 SSH 上的 VNC 连接进行连接。您需要在 Linux 或 UNIX 机器上的终端中运行此命令:

ssh  -L  8080:localhost:8080 aeolus@10.0.2.25.

此处了解有关通过 SSH 登录 VNC 的更多信息! .

sh 通过 vnc 登录

通过 VNC SSH 登录

现在,通过http://localhost:8080访问 firefox 上的 8080 端口,我们找到了 LibreNMS 登录页面。让我们尝试通过用户名 aeolus密码 sergioteamo登录。

利用 Metasploit

1.我想到的第一件事是搜索谷歌是否有可用于 LibreNMS 的漏洞,我得到了其中两个。我们也可以在Metasploit中执行相同的操作,显示相同的结果。

枚举gexploit

枚举漏洞

真的,我已经使用了这两个漏洞,但不知何故 collect_cmd_inject 不起作用。所以,我继续使用 addhost。

2.如下图所示设置选项并运行exploit命令获取所需会话。

运行漏洞

3.现在与当前会话进行交互

session -i [session_id]

须藤 mysql -e '\! /bin/sh'

运行漏洞

运行漏洞

寻找旗帜

1.要获取交互式 shell,请使用Python脚本

python -c 'import pty; pty.spawn ("/bin/bash")' .

需要注意的一件事是,我们通过 Cronus 用户(即 add-host 用户)连接到远程主机。现在,检查 Cronus 用户可以作为 Sudo 执行的权限。

寻找旗帜

2.如前所述,用户可以以 sudo 的身份运行/usr/bin/mysql ,但我们正在升级权限。因此,我们必须使用shell 脚本,该脚本可用于通过生成交互式系统 shell 来突破受限环境。

在终端输入以下命令

sudo mysql -e '\! /bin/sh' 
获得访问权

获取访问权限

3.移动到根目录并使用ls并且有 hack 的证明。

获得访问权