Vulnhub靶场——Raven1练习

💡 原文中文,约1300字,阅读约需3分钟。
📝

内容提要

文章介绍了一次渗透测试过程,通过扫描确认目标机器的IP和开放端口,使用工具扫描目录和WordPress,爆破登录获取用户名和密码,找到多个flag并尝试提权,最终成功提权并发表文章。

🔎

延伸解读

信息收集与目标确认

文章使用arp-scan和nmap进行信息收集,确认目标IP为192.168.78.144,开放端口22、80、111。但nmap命令中扫描的IP为192.168.78.143,与arp-scan结果不一致,可能为笔误。实际渗透中需确保目标IP一致,避免扫描错误主机。

WordPress漏洞利用链

通过dirsearch发现WordPress,wpscan枚举出用户名steven和michael。利用hydra对michael进行SSH爆破,成功获得密码michael。随后通过wp-config.php获取MySQL凭据,在数据库中挖掘出flag3和flag4,并解密wp_users表中的密码哈希,得到steven的明文密码pink84。

提权路径分析

michael用户无sudo或SUID提权点,但steven用户拥有python的sudo权限。通过sudo python执行系统命令获得root shell。这凸显了最小权限原则的重要性,避免赋予不必要的sudo权限,尤其是可执行系统命令的解释器。

❓

Q&A

如何确认目标机器的IP和开放端口?

使用arp-scan确认目标机器的IP为192.168.78.144,开放端口有22、80、111。

在渗透测试中如何找到flag1?

访问80端口的网页,在/server.html页面源代码中发现flag1。

如何利用hydra进行密码爆破?

制作用户名字典并使用hydra进行爆破,指定用户名michael和密码字典进行尝试。

如何提权成功?

通过查看steven用户的sudo权限,发现可以使用python提权,成功获得shell访问。

在WordPress中如何找到数据库的用户名和密码?

查看wp-config.php文件,发现MySQL的用户名和密码为root/R@v3nSecurity。

在渗透测试中如何找到多个flag?

通过扫描目录和数据库,分别在wp_posts表中找到flag3和flag4。

🏷️

标签

➡️

继续阅读