Vulnhub靶场——Raven1练习
内容提要
文章介绍了一次渗透测试过程,通过扫描确认目标机器的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。