Vulhub靶场练习 DC-9靶机解析

💡 原文中文,约4700字,阅读约需12分钟。
📝

内容提要

本文介绍了渗透测试中搭建环境和信息收集的步骤,包括主机和端口探测、目录扫描、漏洞探测、SQL注入和文件包含漏洞的发现。通过爆破SSH服务成功登录并发现密码文件,利用特殊权限账户提权并修改用户信息。

🔎

延伸解读

端口敲门:隐藏SSH服务的访问控制

文章通过文件包含漏洞读取/etc/knockd.conf,发现端口敲门配置,使用nc按顺序访问7469、8475、9842端口后,SSH端口22才开放。这展示了端口敲门作为一种安全机制,通过动态开放端口来隐藏服务,增加攻击者探测难度。但一旦配置泄露,攻击者便可轻易绕过。

密码复用与信息泄露的连锁风险

在janitor用户家目录下发现密码文件,包含多个明文密码,这些密码被添加到字典后成功爆破出fredf的SSH凭证。这体现了密码复用和敏感信息存储不当的风险:一个账户的泄露可能导致多个账户被攻破,尤其是在内网环境中,攻击者常利用已获取的信息进行横向移动。

利用SUID脚本提权:test脚本的滥用

fredf用户可sudo执行test脚本,该脚本功能是将一个文件内容追加到另一个文件。攻击者利用此功能,将自定义的root权限用户信息追加到/etc/passwd,从而提权。这警示我们,即使脚本本身功能简单,若以高权限运行且未对输入进行严格限制,也可能被滥用进行权限提升。

❓

Q&A

DC-9靶机渗透测试中,如何发现和利用SQL注入漏洞获取管理员密码?

使用SQLMAP工具对搜索框进行注入探测,通过抓包保存请求文件,运行sqlmap获取数据库、表、字段和内容。在Staff数据库的Users表中找到admin用户的MD5加密密码,在线解密得到明文密码transorbital1。

DC-9靶机中如何通过端口敲门打开SSH服务?

通过文件包含漏洞读取/etc/knockd.conf文件,获取端口敲门序列。使用nc命令按顺序访问7469、8475、9842端口,即可打开SSH端口。

在DC-9靶机中,如何爆破SSH服务获取有效用户密码?

使用Hydra工具,指定用户名字典和密码字典,对SSH服务进行爆破。成功获取多个有效凭证,如chandlerb:UrAG0D!、joeyt:Passw0rd、janitor:Ilovepeepee等。

DC-9靶机中如何利用test脚本进行提权?

发现fredf用户可sudo运行/opt/devstuff/dist/test/test脚本,该脚本可将一个文件内容追加到另一个文件。生成加密密码,构造符合/etc/passwd格式的用户行写入临时文件,然后运行sudo ./test /tmp/dc /etc/passwd,将用户追加到passwd文件,从而提权。

DC-9靶机信息收集阶段发现了哪些开放端口和服务?

通过nmap扫描发现开放端口80和22,分别对应HTTP和SSH服务。

DC-9靶机中如何通过文件包含漏洞获取敏感信息?

在manage.php页面发现文件包含漏洞,通过构造路径读取/etc/knockd.conf文件,获取端口敲门配置信息。

🏷️

标签

➡️

继续阅读